From 667e7a368fe8f50a8664562bd768fdf9eb3f5333 Mon Sep 17 00:00:00 2001 From: Nicole Gomes Date: Thu, 15 Oct 2026 16:49:53 +0200 Subject: [PATCH 1/3] fix: release check for integration tests --- .github/workflows/release.yaml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 0ee34504..192450e3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -117,12 +117,21 @@ jobs: - name: Run integration tests run: uv run pytest tests/*/integration/ -v --tb=short - # ── 3. Publish ──────────────────────────────────────────────────────────── - publish: - name: Publish + # ── 3. Gate (absorbs skipped integration-tests so publish is never auto-skipped) ── + gate: + name: Gate needs: [parse, integration-tests] if: always() && needs.parse.result == 'success' && (needs.integration-tests.result == 'success' || needs.integration-tests.result == 'skipped') runs-on: ubuntu-latest + steps: + - run: echo "Gate passed" + + # ── 4. Publish ──────────────────────────────────────────────────────────── + publish: + name: Publish + needs: [parse, gate] + if: needs.gate.result == 'success' + runs-on: ubuntu-latest environment: 'pypi:sap-cloud-sdk' permissions: contents: write @@ -181,11 +190,11 @@ jobs: - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@v1.14.2 - # ── 4. Notify on failure ────────────────────────────────────────────────── + # ── 5. Notify on failure ────────────────────────────────────────────────── notify-failure: name: Notify Failure - needs: [parse, integration-tests, publish] - if: always() && (needs.parse.result == 'failure' || needs['integration-tests'].result == 'failure' || needs.publish.result == 'failure') + needs: [parse, gate, publish] + if: always() && (needs.parse.result == 'failure' || needs.gate.result == 'failure' || needs.publish.result == 'failure') runs-on: ubuntu-latest permissions: contents: write From 2533cdf5dc7584d6768c7a63da47b63c2cfddf1d Mon Sep 17 00:00:00 2001 From: Nicole Gomes Date: Thu, 15 Oct 2026 17:08:41 +0200 Subject: [PATCH 2/3] fix: release check for integration tests --- .github/workflows/release.yaml | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 192450e3..8c834593 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -51,30 +51,34 @@ jobs: integration-tests: name: Integration Tests needs: parse - if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} runs-on: ${{ contains(github.server_url, 'github.com') && 'ubuntu-latest' || fromJSON('["self-hosted"]') }} permissions: contents: read steps: - name: Checkout release branch + if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} uses: actions/checkout@v4 with: ref: ${{ needs.parse.outputs.branch }} fetch-depth: 0 - name: Set up Python + if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} uses: actions/setup-python@v6 with: python-version: "3.11" - name: Install uv + if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} uses: astral-sh/setup-uv@v3 - name: Install dependencies + if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} run: uv sync --dev - name: Set up integration test environment + if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} env: AICORE_CLIENT_ID: ${{ secrets.AICORE_CLIENT_ID }} AICORE_CLIENT_SECRET: ${{ secrets.AICORE_CLIENT_SECRET }} @@ -115,22 +119,14 @@ jobs: echo "Integration test environment set up." - name: Run integration tests + if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} run: uv run pytest tests/*/integration/ -v --tb=short - # ── 3. Gate (absorbs skipped integration-tests so publish is never auto-skipped) ── - gate: - name: Gate - needs: [parse, integration-tests] - if: always() && needs.parse.result == 'success' && (needs.integration-tests.result == 'success' || needs.integration-tests.result == 'skipped') - runs-on: ubuntu-latest - steps: - - run: echo "Gate passed" - - # ── 4. Publish ──────────────────────────────────────────────────────────── + # ── 3. Publish ──────────────────────────────────────────────────────────── publish: name: Publish - needs: [parse, gate] - if: needs.gate.result == 'success' + needs: [parse, integration-tests] + if: always() && needs.parse.result == 'success' && needs.integration-tests.result == 'success' runs-on: ubuntu-latest environment: 'pypi:sap-cloud-sdk' permissions: @@ -190,11 +186,11 @@ jobs: - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@v1.14.2 - # ── 5. Notify on failure ────────────────────────────────────────────────── + # ── 4. Notify on failure ────────────────────────────────────────────────── notify-failure: name: Notify Failure - needs: [parse, gate, publish] - if: always() && (needs.parse.result == 'failure' || needs.gate.result == 'failure' || needs.publish.result == 'failure') + needs: [parse, integration-tests, publish] + if: always() && (needs.parse.result == 'failure' || needs.integration-tests.result == 'failure' || needs.publish.result == 'failure') runs-on: ubuntu-latest permissions: contents: write From f3b2f7778f9d7c9cbeec37f32ec7ba1f7e349288 Mon Sep 17 00:00:00 2001 From: Nicole Gomes Date: Thu, 15 Oct 2026 17:13:46 +0200 Subject: [PATCH 3/3] restore changes --- .github/workflows/release.yaml | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 4ead4f9c..29ce8e26 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -122,27 +122,16 @@ jobs: if: ${{ !contains(github.event.release.body, 'skip-integration-tests') }} run: uv run pytest tests/*/integration/ -v --tb=short - # ── 3. Gate (absorbs skipped integration-tests so publish is never auto-skipped) ── - gate: - name: Gate - needs: [parse, integration-tests] - if: always() && needs.parse.result == 'success' && needs.integration-tests.result == 'success' - runs-on: ubuntu-latest - steps: - - run: echo "Gate passed" - - # ── 4. Publish ──────────────────────────────────────────────────────────── + # ── 3. Publish ──────────────────────────────────────────────────────────── publish: name: Publish - needs: [parse, gate] - if: needs.gate.result == 'success' + needs: [parse, integration-tests] + if: always() && needs.parse.result == 'success' && needs.integration-tests.result == 'success' runs-on: ubuntu-latest environment: 'pypi:sap-cloud-sdk' permissions: contents: write id-token: write - outputs: - release_url: ${{ steps.gh_release.outputs.release_url }} steps: - name: Checkout release branch @@ -195,7 +184,7 @@ jobs: - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@v1.14.2 - # ── 5. Notify on failure ────────────────────────────────────────────────── + # ── 4. Notify on failure ────────────────────────────────────────────────── notify-failure: name: Notify Failure needs: [parse, integration-tests, publish]