diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..05c25f6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + groups: + actions: + patterns: + - "*" diff --git a/.github/workflows/_ci.yml b/.github/workflows/_ci.yml index 145b2b4..1701e5b 100644 --- a/.github/workflows/_ci.yml +++ b/.github/workflows/_ci.yml @@ -72,16 +72,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -116,16 +116,16 @@ jobs: if: inputs.run-slither steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -143,7 +143,7 @@ jobs: run: forge build --build-info --skip '*/test/**' '*/script/**' --force - name: Run Slither - uses: crytic/slither-action@v0.4.0 + uses: crytic/slither-action@f197989dea5b53e986d0f88c60a034ddd77ec9a8 # v0.4.0 with: slither-config: ${{ inputs.slither-config }} fail-on: ${{ inputs.slither-fail-on }} @@ -155,12 +155,12 @@ jobs: if: inputs.run-coverage steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -168,11 +168,11 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -207,7 +207,7 @@ jobs: - name: Post coverage comment if: inputs.coverage-post-comment && github.event_name == 'pull_request' - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4 with: path: coverage-comment.md @@ -227,16 +227,16 @@ jobs: if: inputs.run-halmos steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -251,7 +251,7 @@ jobs: esac - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: '3.12' diff --git a/.github/workflows/_deploy-testnet.yml b/.github/workflows/_deploy-testnet.yml index 4299ec6..c2d27c7 100644 --- a/.github/workflows/_deploy-testnet.yml +++ b/.github/workflows/_deploy-testnet.yml @@ -56,12 +56,12 @@ jobs: broadcast_file: ${{ steps.parse.outputs.broadcast_file }} steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -69,11 +69,11 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -123,13 +123,13 @@ jobs: > deployments/${{ steps.network.outputs.network_name }}/deployment.json - name: Upload deployment artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: deployment-${{ steps.network.outputs.network_name }} path: deployments/ - name: Upload broadcast artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: broadcast path: broadcast/ @@ -147,12 +147,12 @@ jobs: if: inputs.verify-contracts steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -160,10 +160,10 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Download broadcast artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: broadcast path: broadcast/ diff --git a/.github/workflows/_foundry-cicd.yml b/.github/workflows/_foundry-cicd.yml index e88d73c..16c89e8 100644 --- a/.github/workflows/_foundry-cicd.yml +++ b/.github/workflows/_foundry-cicd.yml @@ -140,7 +140,7 @@ jobs: should-run: ${{ steps.decide.outputs.should-run }} steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: fetch-depth: 0 @@ -156,7 +156,7 @@ jobs: - name: Check for contract changes id: filter - uses: dorny/paths-filter@v3 + uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3.0.3 with: filters: ${{ steps.paths.outputs.filter }} @@ -181,16 +181,16 @@ jobs: if: needs.detect-changes.outputs.should-run == 'true' steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -228,16 +228,16 @@ jobs: inputs.run-slither steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -255,7 +255,7 @@ jobs: run: forge build --build-info --skip '*/test/**' '*/script/**' --force - name: Run Slither - uses: crytic/slither-action@v0.4.0 + uses: crytic/slither-action@f197989dea5b53e986d0f88c60a034ddd77ec9a8 # v0.4.0 with: slither-config: ${{ inputs.slither-config }} fail-on: ${{ inputs.slither-fail-on }} @@ -271,12 +271,12 @@ jobs: inputs.run-coverage steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -284,11 +284,11 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -323,7 +323,7 @@ jobs: - name: Post coverage comment if: inputs.coverage-post-comment && github.event_name == 'pull_request' - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4 with: path: coverage-comment.md @@ -346,16 +346,16 @@ jobs: inputs.run-halmos steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -370,7 +370,7 @@ jobs: esac - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: '3.12' @@ -390,13 +390,13 @@ jobs: if: needs.detect-changes.outputs.should-run == 'true' steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive fetch-depth: 0 - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -404,11 +404,11 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -454,12 +454,12 @@ jobs: broadcast_file: ${{ steps.parse.outputs.broadcast_file }} steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -467,11 +467,11 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js if: inputs.package-manager != 'none' - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} @@ -507,7 +507,7 @@ jobs: run: bash .etherform/scripts/deploy/parse-broadcast.sh - name: Upload broadcast artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: broadcast path: broadcast/ @@ -535,12 +535,12 @@ jobs: inputs.verify-contracts steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -548,10 +548,10 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Download broadcast artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: broadcast path: broadcast/ diff --git a/.github/workflows/_upgrade-safety.yml b/.github/workflows/_upgrade-safety.yml index 4fc21dc..55986a7 100644 --- a/.github/workflows/_upgrade-safety.yml +++ b/.github/workflows/_upgrade-safety.yml @@ -39,13 +39,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: recursive fetch-depth: 0 - name: Checkout etherform scripts - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: repository: BreadchainCoop/etherform ref: ${{ inputs.etherform-ref }} @@ -53,10 +53,10 @@ jobs: sparse-checkout: scripts - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + uses: foundry-rs/foundry-toolchain@c7450ba673e133f5ee30098b3b54f444d3a2ca2d # v1.8.0 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ inputs.node-version }} cache: ${{ inputs.package-manager }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a22c56e..5a655b6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,7 @@ jobs: name: ShellCheck Lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - name: Run ShellCheck on all scripts run: find scripts/ -name '*.sh' -exec shellcheck -s bash {} + @@ -21,7 +21,7 @@ jobs: name: Unit Tests runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - name: Test prepare-env run: bash tests/test-prepare-env.sh