Skip to content

[codex] Tame nightly CI gates #158

[codex] Tame nightly CI gates

[codex] Tame nightly CI gates #158

name: Complex Query Certification
on:
workflow_dispatch:
pull_request:
branches:
- main
paths:
- "src/main/**"
- "src/test/**"
- "build.gradle.kts"
- "scripts/ci/**"
- ".github/workflows/complex-query-certification.yml"
- "docs/COMPLEX_QUERY_CERTIFICATION.md"
- "docs/USAGE.md"
- "docs/RELEASE_CHECKLIST.md"
push:
branches:
- main
paths:
- "src/main/**"
- "src/test/**"
- "build.gradle.kts"
- "scripts/ci/**"
- ".github/workflows/complex-query-certification.yml"
permissions:
contents: read
concurrency:
group: complex-query-certification-${{ github.ref }}
cancel-in-progress: true
jobs:
certify:
name: Run certification gate
runs-on: ubuntu-latest
timeout-minutes: 45
env:
MONGO_CONTAINER_NAME: jongodb-replset
MONGO_REPLSET_NAME: rs0
MONGO_PORT: "27017"
REPLSET_WAIT_TIMEOUT_SECONDS: "120"
REPLSET_WAIT_INTERVAL_SECONDS: "2"
REPLSET_DIAGNOSTICS_DIR: build/reports/replset-diagnostics/complex-query-certification
COMPLEX_QUERY_OUTPUT_DIR: build/reports/complex-query-certification
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Temurin 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: "8.11.1"
- name: Make scripts executable
run: chmod +x scripts/ci/*.sh
- name: Bootstrap replica set fixture
run: ./scripts/ci/bootstrap-replset.sh
- name: Run complex-query certification gate
run: |
gradle --no-daemon --stacktrace \
-PcomplexQueryOutputDir="${COMPLEX_QUERY_OUTPUT_DIR}" \
-PcomplexQueryMongoUri="${JONGODB_REAL_MONGOD_URI}" \
-PcomplexQueryFailOnGate=true \
complexQueryCertificationEvidence
- name: Collect replica set diagnostics
if: always()
run: ./scripts/ci/collect-replset-diagnostics.sh "${REPLSET_DIAGNOSTICS_DIR}"
- name: Upload certification artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: complex-query-certification
path: |
build/reports/complex-query-certification/**/*.json
build/reports/complex-query-certification/**/*.md
if-no-files-found: error
retention-days: 14
- name: Upload replica set diagnostics
if: always()
uses: actions/upload-artifact@v4
with:
name: complex-query-certification-diagnostics
path: build/reports/replset-diagnostics/complex-query-certification/**
if-no-files-found: warn
retention-days: 14
- name: Teardown replica set fixture
if: always()
run: ./scripts/ci/teardown-replset.sh