Skip to content

Commit

Permalink
Merge branch 'fraccaman/ci-split-unit-integration'
Browse files Browse the repository at this point in the history
* fraccaman/ci-split-unit-integration:
  ci: update mold
  ci: split integration and unit
  • Loading branch information
Gianmarco Fraccaroli committed Dec 19, 2023
2 parents 468d3d3 + 0359b73 commit 74d412e
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 11 deletions.
109 changes: 99 additions & 10 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
matrix:
os: [ubuntu-latest]
wasm_cache_version: ["v2"]
mold_version: [2.3.2]
mold_version: [2.4.0]

steps:
- name: Checkout repo
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
os: [ubuntu-latest]
wasm_cache_version: ["v2"]
nightly_version: [nightly-2023-06-01]
mold_version: [2.3.2]
mold_version: [2.4.0]

steps:
- name: Checkout repo
Expand Down Expand Up @@ -165,7 +165,7 @@ jobs:
os: [ubuntu-latest]
wasm_cache_version: ["v2"]
nightly_version: [nightly-2023-06-01]
mold_version: [2.3.2]
mold_version: [2.4.0]

steps:
- name: Download wasm artifacts
Expand All @@ -185,7 +185,7 @@ jobs:
AWS_ACCESS_KEY_ID: ${{ secrets.MINIO_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.MINIO_SECRET_KEY }}

unit-and-integration-tests:
test-unit:
runs-on:
group: namada-runners
timeout-minutes: 30
Expand All @@ -195,7 +195,7 @@ jobs:
matrix:
os: [ubuntu-latest]
nightly_version: [nightly-2023-06-01]
mold_version: [2.3.2]
mold_version: [2.4.0]
make:
- name: ABCI

Expand Down Expand Up @@ -261,8 +261,8 @@ jobs:
- uses: taiki-e/install-action@cargo-llvm-cov
- name: Check crates build with default features
run: make check-crates
- name: Run unit and integration tests
run: make test-coverage
- name: Run unit tests
run: make test-unit-with-coverage
env:
NAMADA_MASP_PARAMS_DIR: /home/runner/.masp-params
RUSTFLAGS: "-C linker=clang -C link-arg=-fuse-ld=/usr/local/bin/mold"
Expand All @@ -283,6 +283,95 @@ jobs:
cargo install cargo-cache --no-default-features --features ci-autoclean cargo-cache
cargo-cache
test-integration:
runs-on:
group: namada-runners
timeout-minutes: 30
needs: [build-wasm]
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
nightly_version: [nightly-2023-06-01]
mold_version: [2.4.0]
make:
- name: ABCI

env:
RUSTC_WRAPPER: sccache

steps:
- name: Checkout repo
uses: actions/checkout@v4
if: ${{ github.event_name != 'pull_request_target' }}
- name: Checkout PR
uses: actions/checkout@v4
if: ${{ github.event_name == 'pull_request_target' }}
# See comment in build-and-test.yml
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install libudev
run: sudo apt-get update && sudo apt-get -y install libudev-dev
- name: Install Protoc
uses: heliaxdev/setup-protoc@v2
with:
version: "25.0"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
- name: Setup rust toolchain
uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36
with:
profile: default
override: true
- name: Setup rust nightly
uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36
with:
toolchain: ${{ matrix.nightly_version }}
profile: default
- name: Cache cargo registry
uses: actions/cache@v3
continue-on-error: false
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-${{ github.job }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- name: Start sccache server
run: sccache --start-server
- name: Install mold linker
run: |
wget -q -O- https://github.com/rui314/mold/releases/download/v${{ matrix.mold_version }}/mold-${{ matrix.mold_version }}-x86_64-linux.tar.gz | tar -xz
mv mold-${{ matrix.mold_version }}-x86_64-linux/bin/mold /usr/local/bin
- name: Download MASP parameters
run: |
mkdir -p /home/runner/.masp-params
curl -o /home/runner/.masp-params/masp-spend.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-spend.params\?raw\=true
curl -o /home/runner/.masp-params/masp-output.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-output.params?raw=true
curl -o /home/runner/.masp-params/masp-convert.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-convert.params?raw=true
- name: Download wasm artifacts
uses: actions/download-artifact@v3
with:
name: wasm-${{ github.event.pull_request.head.sha|| github.sha }}
path: ./wasm
- name: Run integration tests
run: make test-integration
env:
NAMADA_MASP_PARAMS_DIR: /home/runner/.masp-params
RUSTFLAGS: "-C linker=clang -C link-arg=-fuse-ld=/usr/local/bin/mold"
- name: Print sccache stats
if: always()
run: sccache --show-stats || true
- name: Stop sccache server
if: always()
run: sccache --stop-server || true
- name: Clean cargo cache
run: |
cargo install cargo-cache --no-default-features --features ci-autoclean cargo-cache
cargo-cache
run-benchmarks:
runs-on:
group: namada-runners
Expand All @@ -293,7 +382,7 @@ jobs:
matrix:
os: [ubuntu-latest]
nightly_version: [nightly-2023-06-01]
mold_version: [2.3.2]
mold_version: [2.4.0]
make:
- name: ABCI

Expand Down Expand Up @@ -379,7 +468,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
mold_version: [2.3.2]
mold_version: [2.4.0]
make:
- name: ABCI Release build

Expand Down Expand Up @@ -481,7 +570,7 @@ jobs:
matrix:
os: [ubuntu-latest]
nightly_version: [nightly-2023-06-01]
mold_version: [2.3.2]
mold_version: [2.4.0]
comet_bft: [0.37.2]
hermes: [1.6.0-namada-beta1]
make:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/triggerable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
mold_version: [2.3.2]
mold_version: [2.4.0]
name: ["Run PoS state-machine tests"]
command: ["make test-pos-sm"]
timeout: [360]
Expand Down
7 changes: 7 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,13 @@ test-unit:
-- --skip e2e --skip integration --skip pos_state_machine_test \
-Z unstable-options --report-time

test-unit-with-coverage:
$(cargo) +$(nightly) llvm-cov --output-dir target \
--features namada/testing \
--html \
-- --skip e2e --skip pos_state_machine_test --skip integration \
-Z unstable-options --report-time

test-unit-mainnet:
$(cargo) +$(nightly) test \
--features "mainnet" \
Expand Down

0 comments on commit 74d412e

Please sign in to comment.