diff --git a/.github/workflows/build-ci-image.yml b/.github/workflows/build-ci-image.yml index 3391de7f..5c255f49 100644 --- a/.github/workflows/build-ci-image.yml +++ b/.github/workflows/build-ci-image.yml @@ -27,10 +27,10 @@ jobs: uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 + uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c - name: Log in to GitHub Container Registry - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee + uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 with: registry: ghcr.io username: ${{ github.actor }} @@ -44,7 +44,7 @@ jobs: - name: Extract metadata for Docker id: meta - uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 with: images: ghcr.io/${{ steps.lowercase_owner.outputs.owner }}/newsdom-api/ci-env tags: | @@ -52,7 +52,7 @@ jobs: type=sha - name: Build and push test image - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf + uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a with: context: . file: ./Dockerfile.test diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 22aaceea..5d3700a6 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -25,12 +25,12 @@ jobs: uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 - name: Initialize CodeQL - uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e + uses: github/codeql-action/init@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 with: languages: python, actions - name: Autobuild - uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e + uses: github/codeql-action/autobuild@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 - name: Analyze - uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e + uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml index 86e04e40..5e6c7e40 100644 --- a/.github/workflows/container-image.yml +++ b/.github/workflows/container-image.yml @@ -30,14 +30,14 @@ jobs: uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 - name: Set up QEMU - uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 + uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 + uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c - name: Log in to GHCR if: github.event_name != 'pull_request' - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee + uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -45,7 +45,7 @@ jobs: - name: Extract image metadata id: meta - uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | @@ -53,7 +53,7 @@ jobs: type=raw,value=latest,enable={{is_default_branch}} - name: Build and optionally push image - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf + uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a with: context: . file: ./Dockerfile @@ -77,10 +77,10 @@ jobs: uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 + uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c - name: Log in to GHCR - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee + uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -88,14 +88,14 @@ jobs: - name: Extract NVIDIA image metadata id: meta-nvidia - uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | type=raw,value=nvidia - name: Build and push NVIDIA image - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf + uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a with: context: . file: ./Dockerfile.nvidia diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 7d11bab0..c1286ceb 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -43,7 +43,7 @@ jobs: python-version: '3.10' - name: Set up uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true with: diff --git a/.github/workflows/quality-gate.yml b/.github/workflows/quality-gate.yml index b76325e8..31bc04b4 100644 --- a/.github/workflows/quality-gate.yml +++ b/.github/workflows/quality-gate.yml @@ -24,7 +24,7 @@ jobs: python-version: '3.10' - name: Setup uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 with: version: '0.11.3' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ac771e1a..c43e843a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: python-version: '3.10' - name: Setup uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 with: version: '0.11.3' enable-cache: false @@ -43,7 +43,7 @@ jobs: python scripts/release/build_release_manifest.py dist dist/release-manifest.json - name: Attest build provenance - uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 + uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 with: subject-path: 'dist/*' diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index f7510052..7a09855c 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -36,7 +36,7 @@ jobs: - name: Upload SARIF results if: github.event_name != 'pull_request' - uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e + uses: github/codeql-action/upload-sarif@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f54a5d93..e87fc174 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,7 +24,7 @@ jobs: python-version: '3.10' - name: Setup uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 with: version: '0.11.3' diff --git a/tests/test_docker_delivery.py b/tests/test_docker_delivery.py index d0f95ad3..ae45b0b0 100644 --- a/tests/test_docker_delivery.py +++ b/tests/test_docker_delivery.py @@ -194,9 +194,10 @@ def test_healthcheck_path_matcher_ignores_later_unrelated_health_strings(): def test_container_image_workflow_sets_up_qemu_for_multi_arch_builds(): data = _load_container_image_workflow() image_steps = data["jobs"]["image"]["steps"] + qemu_action_prefix = "docker/setup-qemu-action@" assert any( - step.get("uses") - == "docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3" + (uses := step.get("uses", "")).startswith(qemu_action_prefix) + and re.fullmatch(r"[0-9a-f]{40}", uses.removeprefix(qemu_action_prefix)) for step in image_steps )