diff --git a/.github/renovate.json5 b/.github/renovate.json5 new file mode 100644 index 0000000..3013ea0 --- /dev/null +++ b/.github/renovate.json5 @@ -0,0 +1,32 @@ +// This file follows JSON5 syntax, to make it +// easier to maintain. +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + // Disable every built-in manager (npm, dockerfile, ...) except github-actions. + enabledManagers: ["github-actions"], + // PR titles use Conventional Commits: `deps(): ...` + semanticCommits: "enabled", + semanticCommitType: "deps", + packageRules: [ + // GitHub Actions updates: run weekly, skip releases newer than 2 weeks + // to avoid picking up freshly published versions that may be unstable or + // compromised, and pin to full commit SHAs (with the version as a + // trailing comment) rather than mutable tags. + // When both major and minor releases exist, propose only the latest bump + // (typically major) instead of a separate minor PR. + { + matchManagers: ["github-actions"], + schedule: ["on monday"], + minimumReleaseAge: "14 days", + // Track upgrades by semver tag, but pin the resolved version to its full + // commit SHA (semver tag kept as a trailing comment). Use the coerced + // variant so short tags like `v3` / `v1.7` (which several actions only + // publish) still parse instead of silently stopping updates. + versioning: "semver-coerced", + pinDigests: true, + separateMajorMinor: false, + semanticCommitScope: "{{depName}}", + commitMessageTopic: "{{depName}}", + }, + ], +} diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 311e1c8..980c216 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -12,7 +12,7 @@ jobs: steps: - name: "CLA Assistant" if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' - uses: contributor-assistant/github-action@v2.6.1 + uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f6db2fa..3bd19a9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,12 +13,12 @@ jobs: name: Foundry project runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 with: submodules: recursive - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1 with: version: nightly @@ -41,13 +41,13 @@ jobs: name: Code linting runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3 with: node-version: ${{ matrix.node }} - id: yarn-cache run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v2 + - uses: actions/cache@8492260343ad570701412c2f464a5877dc76bace # v2 with: path: ${{ steps.yarn-cache.outputs.dir }} key: ${{ matrix.os }}-yarn-${{ hashFiles('**/yarn.lock') }}