Skip to content

Commit 9818d37

Browse files
committed
Merge remote-tracking branch 'upstream/master' into feat/coverage-fuzz
2 parents 2540b4d + 967a89e commit 9818d37

File tree

377 files changed

+14345
-10223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

377 files changed

+14345
-10223
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,15 @@ Thank you for your Pull Request. Please provide a description above and review
33
the requirements below.
44
55
Bug fixes and new features should include tests.
6+
7+
Contributors guide: https://github.com/foundry-rs/foundry/blob/master/CONTRIBUTING.md
8+
9+
The contributors guide includes instructions for running rustfmt and building the
10+
documentation.
611
-->
712

13+
<!-- ** Please select "Allow edits from maintainers" in the PR Options ** -->
14+
815
## Motivation
916

1017
<!--
@@ -19,3 +26,9 @@ thought of as being the motivation for your change.
1926
Summarize the solution and provide any necessary context needed to understand
2027
the code change.
2128
-->
29+
30+
## PR Checklist
31+
32+
- [ ] Added Tests
33+
- [ ] Added Documentation
34+
- [ ] Breaking changes

.github/assets/banner.png

546 KB
Loading
Loading
Loading
70.7 KB
Loading
70.4 KB
Loading

.github/assets/demo.gif

1.63 MB
Loading

.github/changelog.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,6 @@
6161
"template": "${{CHANGELOG}}\n## Other\n\n${{UNCATEGORIZED}}\n## Full Changelog:\n ${{RELEASE_DIFF}}",
6262
"pr_template": "- ${{TITLE}} (#${{NUMBER}}) by @${{AUTHOR}}",
6363
"empty_template": "- No changes",
64-
"max_pull_requests": 100,
65-
"max_back_track_time_days": 60
64+
"max_pull_requests": 500,
65+
"max_back_track_time_days": 120
6666
}

.github/demo.gif

-974 KB
Binary file not shown.

.github/logo.png

-14.2 KB
Binary file not shown.

.github/scripts/format.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ set -eo pipefail
33

44
# We have to ignore at shell level because testdata/ is not a valid Foundry project,
55
# so running `forge fmt` with `--root testdata` won't actually check anything
6-
shopt -s extglob
7-
cargo run --bin forge -- fmt "$@" $(find testdata -name '*.sol' ! -name Vm.sol)
6+
cargo run --bin forge -- fmt "$@" \
7+
$(find testdata -name '*.sol' ! -name Vm.sol ! -name console.sol)

.github/scripts/matrices.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,19 @@ def __init__(
8383
),
8484
Case(
8585
name="integration",
86-
filter="kind(test) & !test(/issue|forge_std|ext_integration/)",
86+
filter="kind(test) & !test(/\\b(issue|ext_integration)/)",
8787
n_partitions=3,
8888
pr_cross_platform=True,
8989
),
9090
Case(
9191
name="integration / issue-repros",
92-
filter="package(=forge) & test(~issue)",
92+
filter="package(=forge) & test(/\\bissue/)",
9393
n_partitions=2,
9494
pr_cross_platform=False,
9595
),
9696
Case(
9797
name="integration / external",
98-
filter="package(=forge) & test(~ext_integration)",
98+
filter="package(=forge) & test(/\\bext_integration/)",
9999
n_partitions=2,
100100
pr_cross_platform=False,
101101
),

.github/workflows/docker-publish.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
name: docker
22

33
on:
4-
push:
5-
tags:
6-
- "v*.*.*"
7-
schedule:
8-
- cron: "0 0 * * *"
94
# Trigger without any parameters a proactive rebuild
105
workflow_dispatch: {}
116
workflow_call:
@@ -22,7 +17,7 @@ env:
2217
jobs:
2318
build:
2419
name: build and push
25-
runs-on: Linux-20.04
20+
runs-on: Linux-22.04
2621
permissions:
2722
id-token: write
2823
packages: write
@@ -34,7 +29,10 @@ jobs:
3429
- uses: Swatinem/rust-cache@v2
3530
with:
3631
cache-on-failure: true
37-
- uses: taiki-e/install-action@cross
32+
- name: Install cross
33+
id: cross_main
34+
run: |
35+
cargo install cross
3836
# Login against a Docker registry except on PR
3937
# https://github.com/docker/login-action
4038
- name: Login into registry ${{ env.REGISTRY }}

.github/workflows/nextest.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ concurrency:
1515

1616
env:
1717
CARGO_TERM_COLOR: always
18+
RUST_BACKTRACE: full
1819

1920
jobs:
2021
matrices:
@@ -46,7 +47,7 @@ jobs:
4647
fail-fast: false
4748
matrix: ${{ fromJson(needs.matrices.outputs.test-matrix) }}
4849
env:
49-
ETH_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/C3JEvfW6VgtqZQa-Qp1E-2srEiIc02sD
50+
ETH_RPC_URL: https://reth-ethereum.ithaca.xyz/rpc
5051
CARGO_PROFILE_DEV_DEBUG: 0
5152
steps:
5253
- uses: actions/checkout@v4
@@ -67,11 +68,11 @@ jobs:
6768
with:
6869
bun-version: latest
6970
- name: Setup Python
70-
uses: actions/setup-python@v4
71+
uses: actions/setup-python@v5
7172
with:
7273
python-version: 3.11
7374
- name: Install Vyper
74-
run: pip install vyper~=0.4.0
75+
run: pip --version && pip install vyper==0.4.0
7576

7677
- name: Forge RPC cache
7778
uses: actions/cache@v3

.github/workflows/release.yml

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,17 @@ on:
44
push:
55
tags:
66
- "stable"
7+
- "rc"
78
- "v*.*.*"
89
schedule:
9-
- cron: "0 0 * * *"
10+
- cron: "0 6 * * *"
1011
workflow_dispatch:
1112

1213
env:
1314
CARGO_TERM_COLOR: always
1415
IS_NIGHTLY: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
1516
PROFILE: maxperf
17+
STABLE_VERSION: "v0.3.0"
1618

1719
jobs:
1820
prepare:
@@ -58,7 +60,7 @@ jobs:
5860
uses: mikepenz/release-changelog-builder-action@v4
5961
with:
6062
configuration: "./.github/changelog.json"
61-
fromTag: ${{ env.IS_NIGHTLY == 'true' && 'nightly' || '' }}
63+
fromTag: ${{ env.IS_NIGHTLY == 'true' && 'nightly' || env.STABLE_VERSION }}
6264
toTag: ${{ steps.release_info.outputs.tag_name }}
6365
env:
6466
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -87,17 +89,29 @@ jobs:
8789
# `target`: Rust build target triple
8890
# `platform` and `arch`: Used in tarball names
8991
# `svm`: target platform to use for the Solc binary: https://github.com/roynalnaruto/svm-rs/blob/84cbe0ac705becabdc13168bae28a45ad2299749/svm-builds/build.rs#L4-L24
90-
- runner: Linux-20.04
92+
- runner: Linux-22.04
9193
target: x86_64-unknown-linux-gnu
9294
svm_target_platform: linux-amd64
9395
platform: linux
9496
arch: amd64
95-
- runner: Linux-20.04
97+
- runner: Linux-22.04
98+
target: x86_64-unknown-linux-musl
99+
svm_target_platform: linux-amd64
100+
platform: alpine
101+
arch: amd64
102+
- runner: Linux-22.04
96103
target: aarch64-unknown-linux-gnu
97104
svm_target_platform: linux-aarch64
98105
platform: linux
99106
arch: arm64
100-
- runner: macos-12-large
107+
- runner: Linux-22.04
108+
target: aarch64-unknown-linux-musl
109+
svm_target_platform: linux-aarch64
110+
platform: alpine
111+
arch: arm64
112+
# This is pinned to `macos-13-large` to support old SDK versions.
113+
# If the runner is deprecated it should be pinned to the oldest available version of the runner.
114+
- runner: macos-13-large
101115
target: x86_64-apple-darwin
102116
svm_target_platform: macosx-amd64
103117
platform: darwin
@@ -128,12 +142,10 @@ jobs:
128142
echo "SDKROOT=$(xcrun -sdk macosx --show-sdk-path)" >> $GITHUB_ENV
129143
echo "MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version)" >> $GITHUB_ENV
130144
131-
- name: Linux ARM setup
132-
if: matrix.target == 'aarch64-unknown-linux-gnu'
145+
- name: cross setup
146+
if: matrix.target == 'x86_64-unknown-linux-musl' || matrix.target == 'aarch64-unknown-linux-musl' || matrix.target == 'aarch64-unknown-linux-gnu'
133147
run: |
134-
sudo apt-get update -y
135-
sudo apt-get install -y gcc-aarch64-linux-gnu
136-
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
148+
cargo install cross
137149
138150
- name: Build binaries
139151
env:
@@ -146,7 +158,7 @@ jobs:
146158
run: |
147159
set -eo pipefail
148160
flags=(--target $TARGET --profile $PROFILE --bins
149-
--no-default-features --features rustls,aws-kms,cli,asm-keccak)
161+
--no-default-features --features aws-kms,cli,asm-keccak)
150162
151163
# `jemalloc` is not fully supported on MSVC or aarch64 Linux.
152164
if [[ "$TARGET" != *msvc* && "$TARGET" != "aarch64-unknown-linux-gnu" ]]; then
@@ -155,7 +167,11 @@ jobs:
155167
156168
[[ "$TARGET" == *windows* ]] && ext=".exe"
157169
158-
cargo build "${flags[@]}"
170+
if [[ "$TARGET" == *-musl || "$TARGET" == "aarch64-unknown-linux-gnu" ]]; then
171+
cross build "${flags[@]}"
172+
else
173+
cargo build "${flags[@]}"
174+
fi
159175
160176
bins=(anvil cast chisel forge)
161177
for name in "${bins[@]}"; do
@@ -177,7 +193,7 @@ jobs:
177193
ARCH: ${{ matrix.arch }}
178194
shell: bash
179195
run: |
180-
if [ "$PLATFORM_NAME" == "linux" ]; then
196+
if [[ "$PLATFORM_NAME" == "linux" || "$PLATFORM_NAME" == "alpine" ]]; then
181197
tar -czvf "foundry_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" -C $OUT_DIR forge cast anvil chisel
182198
echo "file_name=foundry_${VERSION_NAME}_${PLATFORM_NAME}_${ARCH}.tar.gz" >> $GITHUB_OUTPUT
183199
elif [ "$PLATFORM_NAME" == "darwin" ]; then

.github/workflows/test.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ concurrency:
1212

1313
env:
1414
CARGO_TERM_COLOR: always
15+
RUST_BACKTRACE: full
1516

1617
jobs:
1718
nextest:
@@ -108,14 +109,10 @@ jobs:
108109
- uses: Swatinem/rust-cache@v2
109110
with:
110111
cache-on-failure: true
111-
- run: cargo hack check
112+
- run: cargo hack check --each-feature --exclude-features isolate-by-default
112113

113114
deny:
114115
uses: ithacaxyz/ci/.github/workflows/deny.yml@main
115-
with:
116-
# Clear out arguments to not pass `--all-features` to `cargo deny`.
117-
# Many crates have an `openssl` feature which enables banned dependencies.
118-
deny-flags: ""
119116

120117
ci-success:
121118
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)