Skip to content

chore: harden CI workflow, drop dead remappings - #314

Merged
kasperpawlowski merged 2 commits into
masterfrom
chore/ci-hardening
Sep 1, 2026
Merged

kasperpawlowski merged 2 commits into
masterfrom
chore/ci-hardening

Conversation

@kasperpawlowski

Copy link
Copy Markdown
Contributor

Supply-chain hardening for the CI workflow (this repo had no prior hardening PR). CI runs on every push/PR, so this change validates itself.

test.yml

  • Top-level permissions: contents: read (was: default token scope on all 5 jobs).
  • actions/checkout@v3 → SHA-pinned v4.2.2 with persist-credentials: false (5 jobs; credentials were persisted alongside submodules: recursive).
  • foundry-toolchain@v1 → SHA-pinned v1.4.0 (both SHAs verified against their tags).
  • Floating version: nightly → pinned nightly-a998dbf027db7ff4284465ca0b525affd55cc915 (all 5 jobs; was a fresh unpinned binary per run).

dependabot.yml (new)

  • github-actions ecosystem only, weekly/grouped/7-day cooldown, to keep the new SHA pins fresh. gitsubmodule deliberately excluded — submodule bumps change deployed bytecode and are reviewed intentionally.

remappings.txt

  • Removed four dead remappings: ds-test/, erc4626-tests/, forge-gas-snapshot/, solmate/. Verified zero direct imports and zero transitive compile-time usage (permit2 is etched from prebuilt bytecode in tests, so its solmate-importing source never compiles). forge build succeeds after removal.

Test plan

  • All 5 CI jobs green on this PR (proves pinned nightly + trimmed remappings compile and test)
  • forge fmt --check unaffected

Note: commit is unsigned (automated session; GPG pinentry unavailable) — amend with -S if required.

- test.yml: add contents:read permissions, SHA-pin actions/checkout
  (v4.2.2) and foundry-toolchain (v1.4.0), set persist-credentials:false
  on all checkouts, pin the floating foundry nightly to a fixed nightly
- add github-actions-only dependabot.yml (weekly, grouped, 7-day cooldown)
- remove four dead remappings (ds-test, erc4626-tests, forge-gas-snapshot,
  solmate) with verified zero direct and transitive compile usage;
  forge build still succeeds
The newer nightly changed forge fmt rules, producing a large lint diff
against unchanged production code. Pin to nightly-c99854 (the version
already used across EVC and euler-price-oracle) so forge fmt --check
passes with no reformatting; forge build still succeeds.
@kasperpawlowski
kasperpawlowski merged commit bfb325a into master Sep 1, 2026
8 checks passed
@kasperpawlowski
kasperpawlowski deleted the chore/ci-hardening branch September 1, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants