diff --git a/.github/scripts/tests/test_shared_workflow_runners.py b/.github/scripts/tests/test_shared_workflow_runners.py new file mode 100644 index 000000000..343a03c79 --- /dev/null +++ b/.github/scripts/tests/test_shared_workflow_runners.py @@ -0,0 +1,24 @@ +from pathlib import Path + +import pytest +import yaml + + +@pytest.mark.parametrize( + ("filename", "job_id"), + [ + ("ai-pr-review.yml", "ai-pr-review"), + ("issue-triage.yml", "triage"), + ("notify.yml", "notify"), + ("stale-issue-closer.yml", "close-stale"), + ], +) +def test_shared_workflow_caller_passes_codebuild_runner( + filename: str, job_id: str +) -> None: + path = Path(__file__).parents[2] / "workflows" / filename + workflow = yaml.safe_load(path.read_text()) + + assert workflow["jobs"][job_id]["with"]["runs-on"] == ( + "codebuild-github-actions-runner-${{ github.run_id }}-${{ github.run_attempt }}" + ) diff --git a/.github/workflows/ai-pr-review.yml b/.github/workflows/ai-pr-review.yml index 94ff842c7..6094c34f8 100644 --- a/.github/workflows/ai-pr-review.yml +++ b/.github/workflows/ai-pr-review.yml @@ -18,8 +18,11 @@ jobs: contents: write id-token: write pull-requests: write - uses: aws/aws-durable-execution-ci/.github/workflows/ai-pr-review.yml@d6b017da14385908951d23e26c790b28a4e5f9f0 + uses: aws/aws-durable-execution-ci/.github/workflows/ai-pr-review.yml@8ea82196db65b5b0dd67f0b72bb03fa2fa9cf65b with: + # CodeBuild-hosted runner in the Python testing account; the label must + # match the CodeBuild project name. + runs-on: codebuild-github-actions-runner-${{ github.run_id }}-${{ github.run_attempt }} prompt-path: .github/prompts/ai-pr-review.md run-claude: false secrets: inherit diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml index 0a07ad1c2..e62e35eb7 100644 --- a/.github/workflows/issue-triage.yml +++ b/.github/workflows/issue-triage.yml @@ -12,5 +12,9 @@ jobs: contents: read id-token: write issues: write - uses: aws/aws-durable-execution-ci/.github/workflows/issue-triage.yml@d6b017da14385908951d23e26c790b28a4e5f9f0 + uses: aws/aws-durable-execution-ci/.github/workflows/issue-triage.yml@8ea82196db65b5b0dd67f0b72bb03fa2fa9cf65b + with: + # CodeBuild-hosted runner in the Python testing account; the label must + # match the CodeBuild project name. + runs-on: codebuild-github-actions-runner-${{ github.run_id }}-${{ github.run_attempt }} secrets: inherit diff --git a/.github/workflows/notify.yml b/.github/workflows/notify.yml index c2eb601b2..0633403ce 100644 --- a/.github/workflows/notify.yml +++ b/.github/workflows/notify.yml @@ -16,7 +16,11 @@ jobs: contents: read models: read id-token: write - uses: aws/aws-durable-execution-ci/.github/workflows/notify.yml@d6b017da14385908951d23e26c790b28a4e5f9f0 + uses: aws/aws-durable-execution-ci/.github/workflows/notify.yml@8ea82196db65b5b0dd67f0b72bb03fa2fa9cf65b + with: + # CodeBuild-hosted runner in the Python testing account; the label must + # match the CodeBuild project name. + runs-on: codebuild-github-actions-runner-${{ github.run_id }}-${{ github.run_attempt }} secrets: BEDROCK_ROLE_ARN: ${{ secrets.BEDROCK_ROLE_ARN }} SLACK_WEBHOOK_URL_PR: ${{ secrets.SLACK_WEBHOOK_URL_PR }} diff --git a/.github/workflows/stale-issue-closer.yml b/.github/workflows/stale-issue-closer.yml index 604383195..c2e4b354d 100644 --- a/.github/workflows/stale-issue-closer.yml +++ b/.github/workflows/stale-issue-closer.yml @@ -14,4 +14,8 @@ jobs: permissions: contents: read issues: write - uses: aws/aws-durable-execution-ci/.github/workflows/stale-issue-closer.yml@288e4317948ca778ebf01acca9342d8b898a1dc2 + uses: aws/aws-durable-execution-ci/.github/workflows/stale-issue-closer.yml@8ea82196db65b5b0dd67f0b72bb03fa2fa9cf65b + with: + # CodeBuild-hosted runner in the Python testing account; the label must + # match the CodeBuild project name. + runs-on: codebuild-github-actions-runner-${{ github.run_id }}-${{ github.run_attempt }} diff --git a/.github/workflows/test-parser.yml b/.github/workflows/test-parser.yml index 26d2eb80f..883d85f2f 100644 --- a/.github/workflows/test-parser.yml +++ b/.github/workflows/test-parser.yml @@ -9,6 +9,9 @@ on: - '.github/scripts/js_examples/**' - '.github/scripts/tests/**' - '.github/workflows/ai-pr-review.yml' + - '.github/workflows/issue-triage.yml' + - '.github/workflows/notify.yml' + - '.github/workflows/stale-issue-closer.yml' - '.github/workflows/opentelemetry-conformance-tests.yml' - '.github/workflows/test-parser.yml' - 'packages/aws-durable-execution-sdk-python-otel/pyproject.toml' @@ -21,6 +24,9 @@ on: - '.github/scripts/js_examples/**' - '.github/scripts/tests/**' - '.github/workflows/ai-pr-review.yml' + - '.github/workflows/issue-triage.yml' + - '.github/workflows/notify.yml' + - '.github/workflows/stale-issue-closer.yml' - '.github/workflows/opentelemetry-conformance-tests.yml' - '.github/workflows/test-parser.yml' - 'packages/aws-durable-execution-sdk-python-otel/pyproject.toml' @@ -64,4 +70,5 @@ jobs: .github/scripts/tests/test_check_otel_wheel_dependencies.py \ .github/scripts/tests/test_js_examples.py \ .github/scripts/tests/test_opentelemetry_conformance_workflow.py \ - .github/scripts/tests/test_parse_sdk_branch.py + .github/scripts/tests/test_parse_sdk_branch.py \ + .github/scripts/tests/test_shared_workflow_runners.py