From 775c0240bca1b5a195096cd0bd02d4f44cea8ce3 Mon Sep 17 00:00:00 2001 From: Luca Joss Date: Tue, 30 Apr 2024 12:42:47 +0200 Subject: [PATCH] Add job to run Namada test scripts --- .github/workflows/integration.yaml | 84 ++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 45cb8205b0..267c6d6ccf 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -377,6 +377,90 @@ jobs: command: test args: -p ibc-integration-test --features mbt --no-fail-fast --no-run + namada-scripts: + needs: [integration-test, celestia-to-gaia, interchain-security-icq, interchain-security-no-ica, ordered-channel-test, model-based-test] + runs-on: ubuntu-20.04 + if: always() + strategy: + fail-fast: false + matrix: + scripts: + - name: namada-gaia-simple-transfers + - name: namada-shielded-transfers + - name: namada-simple-transfers + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@v1.3.1 + - uses: actions/checkout@v4 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + with: + extra-conf: | + substituters = https://cache.nixos.org + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= + - name: Install Cachix + uses: cachix/cachix-action@v14 + with: + name: cosmos-nix + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + - 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: Retrieve Namada repository path + id: namada-repo-path + run: echo "NAMADA_REPO_PATH=$(nix build .#namada-src --print-out-paths)" >> "$GITHUB_OUTPUT" + - name: Fix permissions for Namada repository + id: namada-permissions + run: | + mkdir -p /tmp/namada-repo/ + chmod -R a+w /tmp/namada-repo + rsync -avL --exclude='crates/apps/proto' ${{ steps.namada-repo-path.outputs.NAMADA_REPO_PATH }}/ /tmp/namada-repo/ + rsync -av ${{ steps.namada-repo-path.outputs.NAMADA_REPO_PATH }}/crates/apps/ /tmp/namada-repo/crates/apps/ + chmod -R a+w /tmp/namada-repo + echo "NAMADA_REPO_PATH=/tmp/namada-repo" >> "$GITHUB_OUTPUT" + - name: Download CometBFT + run: | + curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz + tar -xvzf cometbft.tar.gz + mv cometbft /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: Install Binaryen (wasm-opt) and Generate Namada files + run: | + git clone https://github.com/WebAssembly/binaryen.git + cd binaryen + git submodule init + git submodule update + cmake . + make + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/lib + mkdir -p $HOME/bin + cp bin/wasm-opt $HOME/bin/wasm-opt + export PATH=$HOME/bin:$PATH + wasm-opt --version + set -e + cd ${{ steps.namada-permissions.outputs.NAMADA_REPO_PATH }} + make build + chmod -R a+w wasm/ + make build-wasm-scripts + nix-collect-garbage -d + - env: + RUST_LOG: info + RUST_BACKTRACE: 1 + NO_COLOR_LOG: 1 + run: | + nix shell .#gaia15 .#namada e2e ${{ matrix.scripts.name }} /tmp/namada-repo + namada: needs: [integration-test, celestia-to-gaia, interchain-security-icq, interchain-security-no-ica, ordered-channel-test, model-based-test] runs-on: ubuntu-20.04