From da35b2f82a2f12555d949cca57fc832a7ca520c5 Mon Sep 17 00:00:00 2001 From: rw Date: Fri, 20 Mar 2026 20:09:03 +0000 Subject: [PATCH] fix(ci): correct action versions and skip_tests pipeline stall MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - actions/checkout@v6 → @v4 (v6 does not exist) in both workflows - actions/cache@v6 → @v4 and actions/upload-artifact@v6 → @v4 in dbal-tests.yml - gate-2-complete: add if:always() guard so skip_tests=true no longer kills Gate 3/4/5/6 by leaving gate-2-complete in skipped state - deployment: move nexus-init.py and artifactory-init.py into metabuilder/ subfolder; update compose.yml volume paths from ../ to ./ Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/dbal-tests.yml | 12 ++--- .github/workflows/gated-pipeline.yml | 47 ++++++++++--------- .../{ => metabuilder}/artifactory-init.py | 0 deployment/metabuilder/compose.yml | 4 +- deployment/{ => metabuilder}/nexus-init.py | 0 5 files changed, 34 insertions(+), 29 deletions(-) rename deployment/{ => metabuilder}/artifactory-init.py (100%) rename deployment/{ => metabuilder}/nexus-init.py (100%) diff --git a/.github/workflows/dbal-tests.yml b/.github/workflows/dbal-tests.yml index 824b86c8b..370827220 100644 --- a/.github/workflows/dbal-tests.yml +++ b/.github/workflows/dbal-tests.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v4 - name: Install system deps run: | @@ -32,7 +32,7 @@ jobs: run: conan profile detect --force - name: Cache Conan packages - uses: actions/cache@v6 + uses: actions/cache@v4 with: path: ~/.conan2/p key: conan-unit-${{ hashFiles('dbal/production/build-config/conanfile.tests.py') }} @@ -67,7 +67,7 @@ jobs: run: ctest -R dbal_unit_tests --output-on-failure - name: Upload results - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v4 if: always() with: name: unit-test-results @@ -82,7 +82,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v4 - name: Install Go (for testcontainers-sidecar) uses: actions/setup-go@v5 @@ -124,7 +124,7 @@ jobs: -s build_type=Release -s compiler.cppstd=20 - name: Cache Conan packages - uses: actions/cache@v6 + uses: actions/cache@v4 with: path: ~/.conan2/p key: conan-integration-${{ hashFiles('dbal/production/build-config/conanfile.tests.py') }} @@ -162,7 +162,7 @@ jobs: run: ctest -R dbal_integration_tests --output-on-failure -V - name: Upload results - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v4 if: always() with: name: integration-test-results diff --git a/.github/workflows/gated-pipeline.yml b/.github/workflows/gated-pipeline.yml index c1527b7b7..5f8f9962f 100644 --- a/.github/workflows/gated-pipeline.yml +++ b/.github/workflows/gated-pipeline.yml @@ -306,7 +306,7 @@ jobs: needs: gate-1-start steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 @@ -401,7 +401,7 @@ jobs: needs: schema-check steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup npm with Nexus uses: ./.github/actions/setup-npm @@ -435,7 +435,7 @@ jobs: needs: schema-check steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup npm with Nexus uses: ./.github/actions/setup-npm @@ -480,7 +480,7 @@ jobs: needs: schema-check steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup npm with Nexus uses: ./.github/actions/setup-npm @@ -515,7 +515,7 @@ jobs: needs: schema-check steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Check for oversized files run: | @@ -550,7 +550,7 @@ jobs: needs: schema-check steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Check code complexity run: | @@ -587,7 +587,7 @@ jobs: needs: schema-check steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Detect stubs and placeholder code run: | @@ -672,7 +672,7 @@ jobs: unit_changed: ${{ steps.diff.outputs.unit_changed }} steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Detect changed paths id: diff @@ -729,7 +729,7 @@ jobs: if: ${{ !inputs.skip_tests }} steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Restore cached coverage report id: cache-restore @@ -829,7 +829,7 @@ jobs: if: ${{ !inputs.skip_tests }} steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Restore cached test results id: cache-restore @@ -920,7 +920,7 @@ jobs: if: ${{ !inputs.skip_tests }} steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup npm with Nexus uses: ./.github/actions/setup-npm @@ -964,6 +964,11 @@ jobs: name: "Gate 2: Testing - Passed" runs-on: ubuntu-latest needs: [test-unit, test-e2e, test-dbal-daemon] + if: | + always() && + (needs.test-unit.result == 'success' || needs.test-unit.result == 'skipped') && + (needs.test-e2e.result == 'success' || needs.test-e2e.result == 'skipped') && + (needs.test-dbal-daemon.result == 'success' || needs.test-dbal-daemon.result == 'skipped') steps: - name: Download all gate 2 artifacts uses: actions/download-artifact@v4 @@ -1030,7 +1035,7 @@ jobs: build-success: ${{ steps.build-step.outcome }} steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup npm with Nexus uses: ./.github/actions/setup-npm @@ -1073,7 +1078,7 @@ jobs: if: github.event_name == 'pull_request' steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -1152,7 +1157,7 @@ jobs: if: github.event_name == 'pull_request' && !github.event.pull_request.draft steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -1321,7 +1326,7 @@ jobs: url: https://staging.metabuilder.example.com steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup npm with Nexus uses: ./.github/actions/setup-npm @@ -1371,7 +1376,7 @@ jobs: url: https://metabuilder.example.com steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Setup npm with Nexus uses: ./.github/actions/setup-npm @@ -1440,7 +1445,7 @@ jobs: platforms: linux/amd64,linux/arm64 steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v4 @@ -1585,7 +1590,7 @@ jobs: require_prebuilt: false steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v4 @@ -1677,7 +1682,7 @@ jobs: if: ${{ !inputs.skip_containers }} steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v4 @@ -1801,7 +1806,7 @@ jobs: watch_paths: deployment/config/dbal dbal/shared steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 @@ -1984,7 +1989,7 @@ jobs: language: ${{ inputs.codeql_languages == 'all' && fromJSON('["javascript-typescript","python","cpp","go"]') || fromJSON(format('["{0}"]', inputs.codeql_languages)) }} steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/deployment/artifactory-init.py b/deployment/metabuilder/artifactory-init.py similarity index 100% rename from deployment/artifactory-init.py rename to deployment/metabuilder/artifactory-init.py diff --git a/deployment/metabuilder/compose.yml b/deployment/metabuilder/compose.yml index 74de8783b..5e26c101b 100644 --- a/deployment/metabuilder/compose.yml +++ b/deployment/metabuilder/compose.yml @@ -1332,7 +1332,7 @@ services: condition: service_healthy volumes: - nexus-data:/nexus-data:ro - - ../nexus-init.py:/nexus-init.py:ro + - ./nexus-init.py:/nexus-init.py:ro entrypoint: ["/bin/sh", "-c", "pip install -q requests && python3 /nexus-init.py"] environment: NEXUS_URL: "http://nexus:8081" @@ -1373,7 +1373,7 @@ services: artifactory: condition: service_healthy volumes: - - ../artifactory-init.py:/artifactory-init.py:ro + - ./artifactory-init.py:/artifactory-init.py:ro entrypoint: ["/bin/sh", "-c", "pip install -q requests && python3 /artifactory-init.py"] environment: ARTIFACTORY_URL: "http://artifactory:8081" diff --git a/deployment/nexus-init.py b/deployment/metabuilder/nexus-init.py similarity index 100% rename from deployment/nexus-init.py rename to deployment/metabuilder/nexus-init.py