Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 1 addition & 20 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,25 +33,6 @@ jobs:
permissions:
contents: read

provider-contracts:
name: Verify Provider Contracts
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Require successful live contracts for this commit
env:
GH_TOKEN: ${{ github.token }}
RELEASE_COMMIT: ${{ github.sha }}
run: >-
python scripts/verify_provider_contract_runs.py
--repository "${{ github.repository }}" --commit "$RELEASE_COMMIT"

quality:
name: Release Quality and Security
runs-on: ubuntu-latest
Expand Down Expand Up @@ -92,7 +73,7 @@ jobs:
build:
name: Build Validated Artifacts
runs-on: ubuntu-latest
needs: [ecosystem-qualification, compatibility, provider-contracts, quality]
needs: [ecosystem-qualification, compatibility, quality]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
Expand Down
14 changes: 3 additions & 11 deletions tests/test_release_workflows.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ def test_publish_uses_only_the_validated_package_directory() -> None:
assert build["needs"] == [
"ecosystem-qualification",
"compatibility",
"provider-contracts",
"quality",
]
assert publish["needs"] == "build"
Expand Down Expand Up @@ -146,18 +145,11 @@ def test_provider_contract_dispatch_selects_exactly_one_job() -> None:
assert "allow-paid-requests" not in inputs


def test_release_requires_provider_contracts_for_the_tagged_commit() -> None:
def test_live_provider_availability_does_not_block_package_releases() -> None:
jobs = _load("release.yml")["jobs"]
verification = jobs["provider-contracts"]
step = next(
step
for step in verification["steps"]
if step.get("name") == "Require successful live contracts for this commit"
)

assert verification["permissions"] == {"actions": "read", "contents": "read"}
assert step["env"]["RELEASE_COMMIT"] == "${{ github.sha }}"
assert "verify_provider_contract_runs.py" in step["run"]
assert "provider-contracts" not in jobs
assert "provider-contracts" not in jobs["build"]["needs"]


def test_release_rechecks_quality_docs_and_dependencies() -> None:
Expand Down