Skip to content

Add support for Namada #30

Add support for Namada

Add support for Namada #30

Workflow file for this run

name: Namada Integration
on:
workflow_dispatch:
pull_request:
paths:
- .github/workflows/integration.yaml
- Cargo.toml
- Cargo.lock
- flake.nix
- flake.lock
- ci/**
- e2e/**
- crates/**
- tools/**
env:
CARGO_INCREMENTAL: 0
CARGO_PROFILE_DEV_DEBUG: 1
CARGO_PROFILE_RELEASE_DEBUG: 1
RUST_BACKTRACE: short
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
# Cancel previous runs of this workflow when a new commit is added to the PR, branch or tag
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
gaia-namada:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
chain:
- package: .#gaia18
command: gaiad,namada
account_prefix: cosmos,''
native_token: stake,nam
steps:
- uses: actions/checkout@v4
- name: Clone Namada
uses: actions/checkout@v4
with:
repository: anoma/namada
ref: v0.43.0
path: namada
- name: Retrieve Namada repository path
id: namada-repo-path
run: |
echo "NAMADA_REPO_PATH=$(pwd)/namada" >> "$GITHUB_ENV"
- 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 }}
- uses: actions-rs/cargo@v1
with:
command: test
args: -p ibc-integration-test --features namada --no-fail-fast --no-run
- name: Install cargo-nextest
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
- name: Download CometBFT
run: |
curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.9/cometbft_0.37.9_linux_amd64.tar.gz
tar -xvzf cometbft.tar.gz
chmod +x cometbft
mkdir -p $HOME/local/bin
mv cometbft ~/local/bin
- name: Download Namada binaries
env:
OPERATING_SYSTEM: Linux
run: |
release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM")
wget "$release_url"
tar -xzvf namada*.tar.gz
cp ./namada*/namadac ~/local/bin/namadac
cp ./namada*/namadan ~/local/bin/namadan
cp ./namada*/namadaw ~/local/bin/namadaw
cp ./namada*/namada ~/local/bin/namada
cp ./namada*/wasm/checksums.json $NAMADA_REPO_PATH/wasm
cp ./namada*/wasm/*.wasm $NAMADA_REPO_PATH/wasm
- name: Update environment path
run: |
echo "${HOME}/local/bin" >> $GITHUB_PATH
- name: Download MASP parameters
run: |
echo $HOME
mkdir -p $HOME/.masp-params
curl -o $HOME/.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/.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/.masp-params/masp-convert.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-convert.params?raw=true
- env:
RUST_LOG: info
RUST_BACKTRACE: 1
NO_COLOR_LOG: 1
NEXTEST_RETRIES: 2
CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }}
ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }}
NATIVE_TOKENS: ${{ matrix.chain.native_token }}
run: |
nix shell ${{ matrix.chain.package }} -c \
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=1 \
--features namada
namada:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Clone Namada
uses: actions/checkout@v4
with:
repository: anoma/namada
ref: v0.43.0
path: namada
- name: Retrieve Namada repository path
id: namada-repo-path
run: |
echo "NAMADA_REPO_PATH=$(pwd)/namada" >> "$GITHUB_ENV"
- 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 }}
- uses: actions-rs/cargo@v1
with:
command: test
args: -p ibc-integration-test --features namada --no-fail-fast --no-run
- name: Install cargo-nextest
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
- name: Download CometBFT
run: |
curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.9/cometbft_0.37.9_linux_amd64.tar.gz
tar -xvzf cometbft.tar.gz
mkdir -p ~/local/bin
chmod +x cometbft
mv cometbft ~/local/bin
- name: Download Namada binaries
env:
OPERATING_SYSTEM: Linux
run: |
release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM")
wget "$release_url"
tar -xzvf namada*.tar.gz
cp ./namada*/namadac ~/local/bin/namadac
cp ./namada*/namadan ~/local/bin/namadan
cp ./namada*/namadaw ~/local/bin/namadaw
cp ./namada*/namada ~/local/bin/namada
cp ./namada*/wasm/checksums.json $NAMADA_REPO_PATH/wasm
cp ./namada*/wasm/*.wasm $NAMADA_REPO_PATH/wasm
- name: Update environment path
run: |
echo "${HOME}/local/bin" >> $GITHUB_PATH
- name: Download MASP parameters
run: |
echo $HOME
mkdir -p $HOME/.masp-params
curl -o $HOME/.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/.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/.masp-params/masp-convert.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-convert.params?raw=true
- env:
RUST_LOG: info
RUST_BACKTRACE: 1
NO_COLOR_LOG: 1
NEXTEST_RETRIES: 2
CHAIN_COMMAND_PATHS: namada
ACCOUNT_PREFIXES: ''
NATIVE_TOKENS: nam
run: |
cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=1 \
--features namada