diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3ad5a0d..243ee42 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -33,3 +33,12 @@ updates: cargo: patterns: - "*" + - package-ecosystem: "github-actions" + directory: "/" + groups: + github-actions: + patterns: ["*"] + schedule: + interval: "weekly" + cooldown: + default-days: 7 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9be05e8..0ab6c4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,10 +30,10 @@ jobs: name: Example Smoke Checks runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: '3.12' @@ -48,7 +48,7 @@ jobs: name: Format Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Install Rust stable run: | @@ -91,7 +91,7 @@ jobs: # PG18 failures are non-blocking while compatibility is being established continue-on-error: ${{ matrix.pg_version == 18 }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Free disk space and show usage run: | @@ -124,7 +124,7 @@ jobs: libicu-dev - name: Cache cargo-pgrx tool - uses: actions/cache@v5 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 with: path: | ~/.cargo/.crates2.json @@ -132,7 +132,7 @@ jobs: key: ${{ runner.os }}-cargo-pgrx-0.16.1-v1 - name: Cache Cargo dependency sources - uses: actions/cache@v5 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 with: path: | ~/.cargo/registry @@ -142,7 +142,7 @@ jobs: ${{ runner.os }}-cargo-deps- - name: Cache PostgreSQL build - uses: actions/cache@v5 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 with: path: | ~/.pgrx/config.toml @@ -207,7 +207,7 @@ jobs: - name: Upload PostgreSQL logs on E2E failure if: failure() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: postgresql-logs-pg${{ matrix.pg_version }} path: | @@ -221,7 +221,7 @@ jobs: - name: Upload pg_regress results on failure if: steps.pg_regress.outcome == 'failure' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: pg_regress-results-pg${{ matrix.pg_version }} path: | diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index e4705ea..cd780d5 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v5 + uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0 - name: Install Rust toolchain (stable) uses: dtolnay/rust-toolchain@stable @@ -45,7 +45,7 @@ jobs: libicu-dev - name: Cache cargo-pgrx tool - uses: actions/cache@v5 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 with: path: | ~/.cargo/.crates2.json @@ -53,7 +53,7 @@ jobs: key: ${{ runner.os }}-copilot-setup-cargo-pgrx-0.16.1-v1 - name: Cache Cargo dependency sources - uses: actions/cache@v5 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 with: path: | ~/.cargo/registry @@ -63,7 +63,7 @@ jobs: ${{ runner.os }}-copilot-setup-cargo-deps-rust-stable- - name: Cache pgrx PostgreSQL downloads - uses: actions/cache@v5 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 with: path: | ~/.pgrx/config.toml diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index eeca8e3..911d865 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -66,15 +66,15 @@ jobs: # the default branch for release events, or the dispatched branch for # workflow_dispatch. The release tag itself may predate this file. - name: Checkout tooling - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: ref: ${{ github.event_name == 'release' && github.event.repository.default_branch || github.ref }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: Log in to GHCR - uses: docker/login-action@v3 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -169,7 +169,7 @@ jobs: # cache hit) so it can attach provenance + SBOM attestations, which the # `--load` daemon image store cannot carry. - name: Build image (amd64) - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . file: ./Dockerfile.release @@ -305,7 +305,7 @@ jobs: # provenance + SBOM attestations to the image in the registry. - name: Publish image with attestations (amd64) if: ${{ github.event.inputs.dry_run != 'true' && steps.push.outputs.has_tags == 'true' }} - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . file: ./Dockerfile.release diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 6a9579e..a212277 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -42,10 +42,10 @@ jobs: contents: read steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: Build Docker image run: | @@ -114,7 +114,7 @@ jobs: - name: Upload container logs on failure if: failure() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: docker-logs path: /tmp/docker-logs/ diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 1ba7ca2..2ce9da6 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -70,7 +70,7 @@ jobs: file_pattern: x86-64 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/tags/{0}', inputs.tag) || github.ref }} @@ -81,7 +81,7 @@ jobs: # github.sha tracks the workflow's own commit for workflow_dispatch and # push:tags, keeping YAML and scripts in sync with the branch that ran it. - name: Checkout release tooling - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: ref: ${{ github.sha }} path: _release_tooling @@ -98,7 +98,7 @@ jobs: fi - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: Build pgrx package in Docker run: | @@ -177,7 +177,7 @@ jobs: file "check-package/usr/lib/postgresql/${{ matrix.pg_version }}/lib/pg_durable.so" | grep -E "${{ matrix.platform.file_pattern }}" - name: Upload package artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: pg-durable-package-${{ github.run_id }}-pg${{ matrix.pg_version }}-${{ matrix.platform.type }} path: | @@ -197,7 +197,7 @@ jobs: docker_platform: linux/amd64 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/tags/{0}', inputs.tag) || github.ref }} @@ -205,13 +205,13 @@ jobs: # own commit (github.sha), not the target tag, so a tag predating these # scripts still validates correctly. - name: Checkout release tooling - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: ref: ${{ github.sha }} path: _release_tooling - name: Download package artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: pg-durable-package-${{ github.run_id }}-pg${{ matrix.pg_version }}-${{ matrix.platform.type }} path: dist @@ -228,7 +228,7 @@ jobs: - name: Upload validation diagnostics on failure if: failure() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: pg-durable-validation-diagnostics-${{ github.run_id }}-pg${{ matrix.pg_version }}-${{ matrix.platform.type }} path: | @@ -243,7 +243,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/tags/{0}', inputs.tag) || github.ref }} @@ -268,7 +268,7 @@ jobs: rm "dist/pg_durable-${clean_version}.tar" - name: Upload source artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: pg-durable-source-${{ github.run_id }} path: dist/pg_durable-*.tar.* @@ -283,7 +283,7 @@ jobs: contents: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 with: ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/tags/{0}', inputs.tag) || github.ref }} @@ -296,7 +296,7 @@ jobs: fi - name: Download artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: path: artifacts diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index cc0cd5b..225539f 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -27,16 +27,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Configure Pages - uses: actions/configure-pages@v5 + uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0 - name: Upload website artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1 with: path: docs/website - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5 diff --git a/.github/workflows/prebuild.yml b/.github/workflows/prebuild.yml index 8d654e4..a2800bc 100644 --- a/.github/workflows/prebuild.yml +++ b/.github/workflows/prebuild.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Validate devcontainer.json run: | @@ -67,7 +67,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - name: Smoke test devcontainer scripts run: |