diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b655f8f..25f480e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -158,6 +158,25 @@ jobs: push: false archive: false + # --------------------------------------------------------------------------- + # arcup installer: shell lint + unit tests (standalone, no deps) + # --------------------------------------------------------------------------- + + arcup: + name: Arcup Installer + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + + - name: Install system dependencies + run: sudo apt-get update && sudo apt-get install -y --no-install-recommends shellcheck + + - name: Run shellcheck + run: shellcheck arcup/arcup arcup/install + + - name: Run arcup shell tests + run: make test-arcup + # --------------------------------------------------------------------------- # Solidity Contracts: lint (fast) -> build -> test # --------------------------------------------------------------------------- diff --git a/Makefile b/Makefile index f7c4892..ec0ffd9 100644 --- a/Makefile +++ b/Makefile @@ -136,8 +136,17 @@ test-it: up ## Run integration tests cargo install cargo-nextest --locked cargo nextest run $(UNIT_TEST_ARGS) --features integration +.PHONY: test-arcup +test-arcup: ## Run arcup installer shell tests + @echo running arcup installer tests... + @for suite in arcup/test_*.sh arcup/*_test.sh; do \ + [ -f "$$suite" ] || continue; \ + echo "--- $$suite"; \ + bash "$$suite" || exit 1; \ + done + .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"