-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat(`cheatcodes`): `1.0` cheatcode changes (#5045) * feat(`cheatcodes`): Make expectCall only work for the next call's subcalls (#5032) * chore: make expect call only work for the next call * chore: make expectCall actually check only the next call's subcalls * chore: fmt * chore: introduce checks at the main call level, not at the subcall level * chore: handle dangling expected calls gracefully * chore: fix tests * chore: fmt * chore: forge fmt * chore: actually exclude depth the cheatcode was called from * chore: tests * chore: better docs * chore: comment out impossible to check condition on expectCall * chore: remove unused check * fix(cheatcodes): Correct `expectRevert` behavior (#4945) * chore: add repro test to pass * chore: strictly check for the depth expectRevert was called in, instead of being able to peek at function end * chore: tests * chore: add more repro tests * chore: fmt * chore: clippy * chore: fixup problematic tests, mark them as not working properly * chore: forge fmt * chore: forge fmt * Update evm/src/executor/inspector/cheatcodes/mod.rs * chore: add more info to changelog * chore: fmt * chore(tests): add more cases for `expectEmit` (#5076) * chore(tests): add more extreme cases for expectEmit * chore(tests): add next call fail case for expectEmit * chore(`cheatcodes`): add more edge case tests on `expect*` cheatcodes (#5135) * chore: add edge-cases * chore: add edge case covering #4920 (comment) * feat(`cheatcodes`): disallow usage of `expectRevert` with `expectCall` and `expectEmit` (#5144) * feat(cheatcodes): disallow usage of expectCall/Emit with expectRevert * chore: add tests * chore: fmt * chore: fmt * `foundryup`: v1 changes (#5158) * feat(foundryup): look for v1 tag instead of nightly for normal foundryup * feat(foundryup): add ability to download legacy nightly binary with -L flag * feat: use latest release for figuring out the tag name * chore(foundryup): slightly improve stable release detection * chore: use proper repo * make fns async * chore: remove prb math from integration tests * chore: forge fmt * chore: fix some merge leftovers * chore: last test fixes * chore: forge fmt * chore: uncomment etch test * feat(docs): add `RELEASE_PROCESS.md` (#5269) * feat(docs): add RELEASE_PROCESS.md * chore: not include changelog changes in step * chore: bump crates to 1.0.0 (#5346)
- Loading branch information
Showing
40 changed files
with
928 additions
and
207 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
## Foundry Release Process | ||
|
||
## Introduction | ||
|
||
From 1.0 onwards, Foundry has a stable release process that is followed for each new version. This document serves as a guide and explanation for the process. | ||
|
||
## Step 1 - Testing and benchmarking | ||
|
||
Prior to creating a release commit and tagging it for release, we carefully test and benchmark the chosen commit. This is made to ensure that regressions are not made, and measure performance differences across versions. | ||
|
||
## Step 2 - Create release commit | ||
|
||
Creating a release commit involves the following steps: | ||
- Crates are version-bumped accordingly. | ||
- This crate bump gets committed along with the new corresponding tag, e.g `v1.0.0` or `v1.1.3`. | ||
|
||
## Step 3 - Create tag and dispatch release workflow | ||
|
||
- A tag is created for the new release commit. | ||
- The tag is then pushed, and the release workflow will be automatically dispatched. The result of the workflow will be a new release with all the relevant files (binary, man pages and changelog). | ||
|
||
## Step 4 - Release sanity test | ||
|
||
- Once released, the new release is tested to ensure distribution channels (`foundryup`) can download and install the release. | ||
|
||
## Miscellaneous | ||
|
||
- The working branch is `master`. We do not follow a complicated `staging`/`master` separation, but rather choose to create tags at specific points on the branch history. | ||
- The release channels are currently simple, and still based on `foundryup`. Different distribution channels might be considered down the line. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.