From 8ef6c45a2340475769e1041fa72b9493aa74be74 Mon Sep 17 00:00:00 2001 From: init4samwise Date: Fri, 13 Feb 2026 06:07:39 +0000 Subject: [PATCH 1/2] ci: add flashbots integration tests to CI - Add test-flashbots Makefile target that runs ignored integration tests - Add flashbots-ci.yml workflow that runs on push to main and PRs - Uses nextest with --run-ignored=only to run flashbots integration tests Closes ENG-1300 --- .github/workflows/flashbots-ci.yml | 25 +++++++++++++++++++++++++ Makefile | 22 +++++++++++++--------- 2 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/flashbots-ci.yml diff --git a/.github/workflows/flashbots-ci.yml b/.github/workflows/flashbots-ci.yml new file mode 100644 index 00000000..642cd959 --- /dev/null +++ b/.github/workflows/flashbots-ci.yml @@ -0,0 +1,25 @@ +name: Flashbots Integration Tests + +on: + push: + branches: [main] + pull_request: + +jobs: + flashbots-tests: + name: Flashbots Integration Tests + runs-on: + group: init4-runners + steps: + - name: Checkout repository + uses: actions/checkout@v6 + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - uses: taiki-e/install-action@nextest + - name: Optional Foundry Install + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + - name: Run flashbots integration tests + run: make test-flashbots diff --git a/Makefile b/Makefile index db935850..6f4bd911 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,13 @@ # Usage: -# make # build (debug) -# make run # cargo run (debug) -# make release # optimized build -# make test # run unit + integration tests -# make fmt # check & auto‑format -# make clippy # full‑feature lint, deny warnings -# make doc # build docs -# make clean # remove target dir +# make # build (debug) +# make run # cargo run (debug) +# make release # optimized build +# make test # run unit + integration tests +# make test-flashbots # run flashbots integration tests (ignored tests) +# make fmt # check & auto‑format +# make clippy # full‑feature lint, deny warnings +# make doc # build docs +# make clean # remove target dir # ---------------------------------------------------- CARGO ?= cargo @@ -16,7 +17,7 @@ PROFILE ?= dev # override with `make PROFILE=release build` CLIPPY_FLAGS ?= $(TARGETS) $(FEATURES) --workspace --profile dev -- -D warnings FMT_FLAGS ?= --all -.PHONY: build release run test clean fmt clippy default +.PHONY: build release run test test-flashbots clean fmt clippy default default: build @@ -34,6 +35,9 @@ run: test: $(CARGO) test +test-flashbots: + cargo nextest run --run-ignored=only --workspace + clean: $(CARGO) clean From b92ee03e6f6608b96ba7ba78230cd13e073366fe Mon Sep 17 00:00:00 2001 From: init4samwise Date: Fri, 13 Feb 2026 06:22:11 +0000 Subject: [PATCH 2/2] ci: make flashbots tests manually triggerable via workflow_dispatch Addresses review feedback - flashbots integration tests are too flaky for the main CI pipeline. Changed to workflow_dispatch so tests can be triggered manually when needed. Added optional 'ref' input to allow testing specific branches/commits. --- .github/workflows/flashbots-ci.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/flashbots-ci.yml b/.github/workflows/flashbots-ci.yml index 642cd959..9019ecf1 100644 --- a/.github/workflows/flashbots-ci.yml +++ b/.github/workflows/flashbots-ci.yml @@ -1,9 +1,12 @@ name: Flashbots Integration Tests on: - push: - branches: [main] - pull_request: + workflow_dispatch: + inputs: + ref: + description: 'Git ref to test (branch, tag, or SHA)' + required: false + default: 'main' jobs: flashbots-tests: @@ -13,6 +16,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v6 + with: + ref: ${{ github.event.inputs.ref || github.ref }} - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2