From 24a847db6f6f8257b1a594782d54b66d5811a6b0 Mon Sep 17 00:00:00 2001 From: ygd58 Date: Mon, 10 Aug 2026 10:47:35 +0200 Subject: [PATCH] ci: wire up the arcup shell test suite (#248) arcup/test_arcup.sh (829 lines, 24 assertions) has never been run by CI, the Makefile, or any other script. It exercises exactly the areas where arcup's externally reported defects have concentrated (#204, #205): version comparison, checksum/signature verification, archive extraction (symlink/path-traversal rejection), and download fallback behavior. This does not itself fix #204 or #205 -- the suite passes on main today and does not yet have assertions covering those two specific defects. It just makes the suite reachable, so: - `make test-arcup` runs it locally (also wired into `make test-all`) - a new `arcup-test` CI job runs it in CI, on every PR The job needs no Rust toolchain and no network, so it's just a checkout + bash invocation; matches the lightweight style of the existing `proto` job as the nearest example. test-finalize-release.sh, the other suite named in #248, is already covered by #249. Fixes #248 --- .github/workflows/ci.yml | 13 +++++++++++++ Makefile | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b655f8fa..c70fbbff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -158,6 +158,19 @@ jobs: push: false archive: false + # --------------------------------------------------------------------------- + # arcup: shell test suite for the installer (no network, no toolchain, seconds to run) + # --------------------------------------------------------------------------- + + arcup-test: + name: arcup Shell Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + + - name: Run arcup test suite + run: bash arcup/test_arcup.sh + # --------------------------------------------------------------------------- # Solidity Contracts: lint (fast) -> build -> test # --------------------------------------------------------------------------- diff --git a/Makefile b/Makefile index f7c48922..d391b0f5 100644 --- a/Makefile +++ b/Makefile @@ -137,7 +137,7 @@ test-it: up ## Run integration tests cargo nextest run $(UNIT_TEST_ARGS) --features integration .PHONY: test-all -test-all: test-it test-unit-contract ## Run all tests +test-all: test-it test-unit-contract test-arcup ## Run all tests @echo running all tests... make smoke LAUNCH_ARGS="--frozen --healthy-retry=130" @@ -159,6 +159,11 @@ cov-report: cov-unit ## Generate the coverage report cov-show: cov-report ## Generate coverage report and open in browser open target/llvm-cov/html/index.html +.PHONY: test-arcup +test-arcup: ## Run the arcup installer shell test suite + @echo running arcup shell tests... + bash arcup/test_arcup.sh + .PHONY: test-unit-contract test-unit-contract: check-foundry ## Run contract unit tests with coverage @echo "Running contract tests..."