Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge fixes from original #1

Merged
merged 76 commits into from
Sep 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
06f7e7e
feat(`anvil`): Include `CREATE2` deployer by default on new instances…
Evalir Aug 18, 2023
e49021c
fix(tests): only run heavy integration tests by tightening filters (#…
Evalir Aug 18, 2023
c1d5a35
feat(`cheatcodes`): tryFfi (rebased) (#5660)
Evalir Aug 18, 2023
d402fc9
fix(foundryup): check if file exists before moving (#5662)
DaniPopes Aug 18, 2023
e19172d
ci: improve test CI (#5661)
DaniPopes Aug 18, 2023
e5d3b97
ci: fix build matrix (#5664)
DaniPopes Aug 18, 2023
e893cb3
chore: fix name for correct casing (#5665)
Evalir Aug 18, 2023
a08c441
ci: explicitly set bash as shell (#5666)
DaniPopes Aug 18, 2023
b4ba717
fix(ci): force using http for submodules & setup git config on heavy …
Evalir Aug 18, 2023
9da24fe
ci: relax timeout-minutes for release jobs (#5672)
DaniPopes Aug 19, 2023
f1d1509
ci: open an issue if any release job fails (#5673)
DaniPopes Aug 19, 2023
d63deff
test: fix some windows tests (#5671)
DaniPopes Aug 19, 2023
33e2ad1
ci: fix deprecation warnings (#5674)
DaniPopes Aug 19, 2023
5d5f8be
perf: tweak optimizations again (#5663)
DaniPopes Aug 19, 2023
70bea9d
refactor: clean up evm inspectors (#5675)
DaniPopes Aug 19, 2023
41ba1d0
chore(deps): weekly `cargo update` (#5677)
github-actions[bot] Aug 20, 2023
7c4dedd
refactor: parallelize invariants (#5676)
DaniPopes Aug 20, 2023
81896b2
ci: fix release workflow (#5682)
DaniPopes Aug 20, 2023
be2a09e
ci: fix issue jobs (again) (#5681)
DaniPopes Aug 20, 2023
2cc4ed7
feat(`evm`): Use latest `revm` main commit (#5669)
Evalir Aug 21, 2023
1cae65c
refactor: optimize trace identifiers (#5680)
DaniPopes Aug 21, 2023
b999e3b
feat: `getLogs` cheatcode (#5297)
puma314 Aug 21, 2023
451bca6
chore: avoid cloning `CompileOutput` to parse inline config (#5683)
DaniPopes Aug 21, 2023
fe663d7
test: fix some tests (#5691)
DaniPopes Aug 21, 2023
035e8d3
feat(cast): add JWT secret configuration (#5501)
Rjected Aug 21, 2023
c78ed6a
Revert "feat(evm): Use latest revm main commit (#5669)" (#5695)
DaniPopes Aug 22, 2023
2575fed
chore: re-add --from-utf8 as alias from book (#5702)
Evalir Aug 22, 2023
9ed7f1c
fix(`ci`): exclude `rusoto` & `ethers-providers` from `cargo-deny` (#…
Evalir Aug 22, 2023
b48bfae
chore(`deps`): remove `tui` for `ratatui` (#5700)
Evalir Aug 23, 2023
8f25e69
chore: bump `revm` (#5698)
Evalir Aug 23, 2023
e7288eb
chore: use `Interpreter::current_opcode` (#5701)
DaniPopes Aug 23, 2023
17158d6
chore: name std threads (#5710)
DaniPopes Aug 24, 2023
c56918c
Fixing the installation command in Anvil README (#5707)
T-ess Aug 24, 2023
1141c7b
Fix prefix/suffix Handling in cast create2 after switching to const-h…
igorline Aug 24, 2023
0e473bc
fix(cast): append extra 0 to prefix to avoid getting wrong hex string…
igorline Aug 24, 2023
3645e8b
fix: do not run proc-macro tests (#5717)
DaniPopes Aug 24, 2023
5e17367
feat: add exists, isFile, and isDir cheatcodes (#5719)
ruvaag Aug 24, 2023
b30723c
chore: bump ethers and solang-parser (#5725)
DaniPopes Aug 25, 2023
9f9b63c
chore(deps): weekly `cargo update` (#5735)
github-actions[bot] Aug 27, 2023
85edc0f
Make eth_accounts return impersonated accounts (#5734)
MartinquaXD Aug 27, 2023
01dce26
Add impersonated account while auto impersonating (#5740)
MartinquaXD Aug 29, 2023
e130073
perf: use `jemalloc` as the global allocator on unix (#5690)
DaniPopes Aug 29, 2023
670791d
⚡ Improve test summary formatting (#5731)
PraneshASP Aug 29, 2023
3a687a7
chore: bump msrv to 1.72 (#5738)
DaniPopes Aug 29, 2023
8fe6556
feat(forge): allow invariant tests to target interfaces (#5605)
bernard-wagner Aug 29, 2023
3277065
Added branch functionality to forge init command (#5742)
janbro Aug 29, 2023
80f4add
fix(`cheatcodes`): properly filter cheatcode tests (#5744)
Evalir Aug 29, 2023
7b8e51c
Fix single broadcast/prank nonce setting (#5727)
klkvr Aug 29, 2023
36776bb
Add `--json` to `cast interface` (#5748)
clabby Aug 30, 2023
51c33a9
Debugger Refactor #1: fuzz single (#5692)
iFrostizz Aug 30, 2023
34a1acd
fix(remappings): do not output debug info (#5752)
Evalir Aug 30, 2023
64c7082
fix(anvil): remove jemalloc (#5759)
Evalir Aug 31, 2023
b125775
chore(`cheatcodes`): clean up cheatcodes `util.rs` with new `wallet` …
Evalir Aug 31, 2023
42ed1cd
Update call option documentation about sig format (#5760)
0xCalibur Aug 31, 2023
1f6f5a4
fix: invariant tests with input args don't panic (#5766)
ruvaag Aug 31, 2023
945da3b
chore(deps): weekly `cargo update` (#5777)
github-actions[bot] Sep 3, 2023
1e0feeb
feat(cast): support websockets (#5571)
bernard-wagner Sep 4, 2023
cbe2fed
refactor: move evm-spec-id to config (#5786)
mattsse Sep 6, 2023
1ec7db3
feat: cast decode can decode raw eip2718 txns (#5779)
ruvaag Sep 6, 2023
9759bde
feat: add tmp cancun config value (#5790)
mattsse Sep 6, 2023
d09f89a
fix(common): include ws and ipc features (#5787)
bernard-wagner Sep 6, 2023
4f7ad77
chore: add providers feature to foundry-abi (#5798)
DaniPopes Sep 8, 2023
d3637ea
feat: serializeJson cheatcode (#5755)
vdrg Sep 8, 2023
ad5e3b5
fix: add $ to suffix regex to ensure wallet address ending with speci…
igorline Sep 9, 2023
9747363
chore(deps): weekly `cargo update` (#5804)
github-actions[bot] Sep 10, 2023
665089d
feat(ci): feature-checks (#5789)
bernard-wagner Sep 10, 2023
8621e54
test: add test for #5808 (#5809)
mattsse Sep 10, 2023
4bbc3be
chore: bump revm (#5792)
DaniPopes Sep 11, 2023
ba2de65
Debugger Refactor #2: `DebuggerArgs` (#5753)
iFrostizz Sep 11, 2023
8cc001a
chore: better create2 warning (#5814)
mds1 Sep 11, 2023
c22a34e
chore: rename ui to foundry-debugger (#5816)
Evalir Sep 12, 2023
8bfc145
fix(forge): properly clean git dir on path when installing thru templ…
Evalir Sep 12, 2023
8e6224e
feat(cast): subscribe to logs using websockets (#5743)
bernard-wagner Sep 12, 2023
cb4f3e7
update references
mikelodder7 Sep 12, 2023
0df459f
update to git repo
mikelodder7 Sep 12, 2023
7163c50
update cargo.lock
mikelodder7 Sep 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/INTEGRATION_FAILURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ title: "bug: long-running integration tests failed"
labels: P-high, T-bug
---

The heavy (long-running) integration tests have failed. This indicates a regression in foundry.
The heavy (long-running) integration tests have failed. This indicates a regression in Foundry.

Check the [heavy integration tests workflow page]({{env.WORKFLOW_URL}}) for details.
Check the [heavy integration tests workflow page]({{ env.WORKFLOW_URL }}) for details.

This issue was raised by the workflow at `.github/workflows/heavy-integration.yml`.
This issue was raised by the workflow at `.github/workflows/heavy-integration.yml`.
4 changes: 2 additions & 2 deletions .github/RELEASE_FAILURE_ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ labels: P-high, T-bug

The release workflow has failed. Some or all binaries might have not been published correctly.

Check the [release workflow page]({{env.WORKFLOW_URL}}) for details.
Check the [release workflow page]({{ env.WORKFLOW_URL }}) for details.

This issue was raised by the workflow at `.github/workflows/release.yml`.
This issue was raised by the workflow at `.github/workflows/release.yml`.
139 changes: 139 additions & 0 deletions .github/scripts/matrices.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
#!/usr/bin/env python3

import json
import os


class Target:
# GitHub runner OS
os_id: str
# Rust target triple
target: str

def __init__(self, os_id: str, target: str):
self.os_id = os_id
self.target = target


class Case:
name: str
filter: str
n_partitions: int
xplatform: bool

def __init__(self, name: str, filter: str, n_partitions: int, xplatform: bool):
self.name = name
self.filter = filter
self.n_partitions = n_partitions
self.xplatform = xplatform


class Expanded:
os: str
target: str
name: str
flags: str
partition: int

def __init__(self, os: str, target: str, name: str, flags: str, partition: int):
self.os = os
self.target = target
self.name = name
self.flags = flags
self.partition = partition


default_target = Target("ubuntu-latest", "x86_64-unknown-linux-gnu")
if os.environ.get("EVENT_NAME") == "pull_request":
targets = [default_target]
else:
targets = [
default_target,
Target("ubuntu-latest", "aarch64-unknown-linux-gnu"),
Target("macos-latest", "x86_64-apple-darwin"),
Target("macos-latest", "aarch64-apple-darwin"),
Target("windows-latest", "x86_64-pc-windows-msvc"),
]

config = [
Case(
name="unit",
filter="kind(lib) | kind(bench) | kind(proc-macro)",
n_partitions=1,
xplatform=True,
),
Case(
name="integration",
filter="kind(test) & !test(/issue|forge_std|ext_integration/)",
n_partitions=3,
xplatform=True,
),
Case(
name="integration/issue-repros",
filter="package(=forge) & test(~issue)",
n_partitions=2,
xplatform=False,
),
Case(
name="integration/forge-std",
filter="package(=forge) & test(~forge_std)",
n_partitions=1,
xplatform=False,
),
Case(
name="integration/external",
filter="package(=forge) & test(~ext_integration)",
n_partitions=2,
xplatform=False,
),
]


def build_matrix():
expanded = []
for target in targets:
expanded.append({"os": target.os_id, "target": target.target})
print_json({"include": expanded})


def test_matrix():
expanded = []
for target in targets:
for case in config:
if not case.xplatform and target != default_target:
continue

for partition in range(1, case.n_partitions + 1):
os_str = ""
if len(targets) > 1:
os_str = f" ({target.target})"

name = case.name
flags = f"-E '{case.filter}'"
if case.n_partitions > 1:
s = f"{partition}/{case.n_partitions}"
name += f" ({s})"
flags += f" --partition count:{s}"
name += os_str

obj = Expanded(
os=target.os_id,
target=target.target,
name=name,
flags=flags,
partition=partition,
)
expanded.append(vars(obj))

print_json({"include": expanded})


def print_json(obj):
print(json.dumps(obj), end="", flush=True)


if __name__ == "__main__":
if int(os.environ.get("TEST", "0")) == 0:
build_matrix()
else:
test_matrix()
206 changes: 0 additions & 206 deletions .github/workflows/cross-platform.yml

This file was deleted.

5 changes: 3 additions & 2 deletions .github/workflows/deny.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: deny
on:
push:
branches: [master]
paths: [Cargo.lock]
paths: [Cargo.lock, deny.toml]
pull_request:
branches: [master]
paths: [Cargo.lock]
paths: [Cargo.lock, deny.toml]

env:
CARGO_TERM_COLOR: always
Expand All @@ -15,6 +15,7 @@ jobs:
cargo-deny:
name: cargo deny check
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
- uses: EmbarkStudios/cargo-deny-action@v1
Expand Down
Loading