Skip to content

chore(ci): harden#246

Open
avivkeller wants to merge 1 commit intomainfrom
ci/harden
Open

chore(ci): harden#246
avivkeller wants to merge 1 commit intomainfrom
ci/harden

Conversation

@avivkeller
Copy link
Copy Markdown

This PR hardens the CI by explicitly pinning all GitHub actions to their exact commit SHAs. Additionally, it enables Dependabot for future upgrades + security alerts.

@avivkeller avivkeller requested a review from a team as a code owner July 31, 2025 12:59
@avivkeller
Copy link
Copy Markdown
Author

Note on the required checks:

  • Using paths: based workflow is best-practice (since it involves less bash script), but it would require removing enforce-review-rules. I can revert if needed
  • test (18.x, ubuntu-latest) should be renamed Test / Foundry project

Copy link
Copy Markdown
Contributor

@anxolin anxolin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks solid. Only big concern is regarding fuzzy tests.

Additional comments

action bump

The action was bumped from v0.3.0 to v1.0.2 (the SHA 244f685b corresponds to v1.0.2). This is a major version jump.

The workflow config looks compatible (same project-url and github-token inputs), and v1.0.2 appears to be the current release, so this is likely fine

foundry pinned version

Not introduced by this PR, but worth noting: the foundry toolchain is pinned to SHA 82dee4ba (v1.4.0) but still uses version.
Not a concern cause @kaze-cow fixed it here https://github.com/cowprotocol/contracts/pull/246/changes

forge --version
if [ "${{ matrix.profile }}" == "solc-0.7.6" ]; then
FOUNDRY_PROFILE=ci forge build --sizes --use 0.7.6 --skip 'test/*' --skip 'script/*'
if [ "$PROFILE" == "solc-0.7.6" ]; then
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kaze-cow do you know why he removed this?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could it break the fuzzy tests in the CI?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, I also don't understand why FOUNDRY_PROFILE=ci was removed. Its point was to make CI deterministic (code). Maybe the idea was to add that to the env variables but it didn't happen?

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.

3 participants