You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
266 lines
6.2 KiB
266 lines
6.2 KiB
1 year ago
|
name: test
|
||
3 years ago
|
|
||
|
on:
|
||
2 years ago
|
# Triggers the workflow on push or pull request against main
|
||
3 years ago
|
push:
|
||
1 year ago
|
branches: [main]
|
||
3 years ago
|
pull_request:
|
||
1 year ago
|
branches: [main]
|
||
3 years ago
|
# Allows you to run this workflow manually from the Actions tab
|
||
|
workflow_dispatch:
|
||
|
|
||
1 year ago
|
concurrency:
|
||
|
group: e2e-${{ github.ref }}
|
||
|
cancel-in-progress: ${{ github.ref_name != 'main' }}
|
||
|
|
||
1 year ago
|
env:
|
||
|
DEBUG: 'hyperlane:*'
|
||
1 year ago
|
CARGO_TERM_COLOR: always
|
||
|
RUST_BACKTRACE: full
|
||
1 year ago
|
|
||
3 years ago
|
jobs:
|
||
3 years ago
|
yarn-install:
|
||
1 year ago
|
runs-on: ubuntu-latest
|
||
3 years ago
|
steps:
|
||
1 year ago
|
- uses: actions/setup-node@v3
|
||
|
with:
|
||
|
node-version: 18
|
||
|
|
||
2 years ago
|
- uses: actions/checkout@v3
|
||
2 years ago
|
with:
|
||
|
submodules: recursive
|
||
|
|
||
2 years ago
|
- name: yarn-cache
|
||
|
uses: actions/cache@v3
|
||
3 years ago
|
with:
|
||
2 years ago
|
path: |
|
||
|
**/node_modules
|
||
1 year ago
|
.yarn
|
||
2 years ago
|
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }}
|
||
3 years ago
|
|
||
3 years ago
|
- name: yarn-install
|
||
3 years ago
|
run: |
|
||
2 years ago
|
yarn install
|
||
2 years ago
|
CHANGES=$(git status -s --ignore-submodules)
|
||
2 years ago
|
if [[ ! -z $CHANGES ]]; then
|
||
|
echo "Changes found: $CHANGES"
|
||
|
git diff
|
||
|
exit 1
|
||
|
fi
|
||
3 years ago
|
|
||
3 years ago
|
yarn-build:
|
||
1 year ago
|
runs-on: ubuntu-latest
|
||
3 years ago
|
needs: [yarn-install]
|
||
3 years ago
|
steps:
|
||
2 years ago
|
- uses: actions/checkout@v3
|
||
1 year ago
|
with:
|
||
|
submodules: recursive
|
||
|
fetch-depth: 0
|
||
1 year ago
|
|
||
3 years ago
|
- name: yarn-cache
|
||
2 years ago
|
uses: actions/cache@v3
|
||
3 years ago
|
with:
|
||
2 years ago
|
path: |
|
||
|
**/node_modules
|
||
1 year ago
|
.yarn
|
||
2 years ago
|
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }}
|
||
3 years ago
|
|
||
|
- name: build-cache
|
||
2 years ago
|
uses: actions/cache@v3
|
||
3 years ago
|
with:
|
||
1 year ago
|
path: |
|
||
|
./*
|
||
|
!./rust
|
||
3 years ago
|
key: ${{ github.sha }}
|
||
|
|
||
1 year ago
|
- name: build
|
||
|
run: yarn build
|
||
3 years ago
|
|
||
3 years ago
|
lint-prettier:
|
||
1 year ago
|
runs-on: ubuntu-latest
|
||
3 years ago
|
needs: [yarn-install]
|
||
3 years ago
|
steps:
|
||
2 years ago
|
- uses: actions/checkout@v3
|
||
1 year ago
|
with:
|
||
|
# check out full history
|
||
|
fetch-depth: 0
|
||
|
|
||
1 year ago
|
- name: yarn-cache
|
||
|
uses: actions/cache@v3
|
||
3 years ago
|
with:
|
||
2 years ago
|
path: |
|
||
|
**/node_modules
|
||
1 year ago
|
.yarn
|
||
2 years ago
|
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }}
|
||
3 years ago
|
|
||
1 year ago
|
- name: lint
|
||
|
run: yarn lint
|
||
3 years ago
|
|
||
3 years ago
|
- name: prettier
|
||
|
run: |
|
||
3 years ago
|
yarn prettier
|
||
3 years ago
|
CHANGES=$(git status -s)
|
||
|
if [[ ! -z $CHANGES ]]; then
|
||
|
echo "Changes found: $CHANGES"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
1 year ago
|
yarn-test:
|
||
|
runs-on: ubuntu-latest
|
||
1 year ago
|
needs: [yarn-build]
|
||
|
steps:
|
||
|
- uses: actions/checkout@v3
|
||
|
with:
|
||
|
submodules: recursive
|
||
1 year ago
|
fetch-depth: 0
|
||
|
|
||
1 year ago
|
- name: foundry-install
|
||
1 year ago
|
uses: onbjerg/foundry-toolchain@v1
|
||
3 years ago
|
|
||
1 year ago
|
- name: build-cache
|
||
|
uses: actions/cache@v3
|
||
1 year ago
|
with:
|
||
1 year ago
|
path: |
|
||
|
./*
|
||
|
!./rust
|
||
1 year ago
|
key: ${{ github.sha }}
|
||
1 year ago
|
|
||
1 year ago
|
- name: Unit Tests
|
||
|
run: yarn test
|
||
1 year ago
|
|
||
1 year ago
|
e2e:
|
||
1 year ago
|
runs-on: larger-runner
|
||
1 year ago
|
needs: [yarn-build]
|
||
|
steps:
|
||
1 year ago
|
- uses: actions/setup-node@v3
|
||
|
with:
|
||
|
node-version: 18
|
||
|
|
||
1 year ago
|
- uses: actions/checkout@v3
|
||
|
with:
|
||
|
submodules: recursive
|
||
|
|
||
1 year ago
|
- name: foundry-install
|
||
1 year ago
|
uses: onbjerg/foundry-toolchain@v1
|
||
|
|
||
1 year ago
|
- name: setup rust
|
||
|
uses: actions-rs/toolchain@v1
|
||
|
with:
|
||
|
toolchain: stable
|
||
|
profile: minimal
|
||
|
|
||
|
- name: Free disk space
|
||
|
run: |
|
||
|
# Based on https://github.com/actions/runner-images/issues/2840#issuecomment-790492173
|
||
|
sudo rm -rf /usr/share/dotnet
|
||
|
sudo rm -rf /opt/ghc
|
||
|
sudo rm -rf "/usr/local/share/boost"
|
||
|
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
||
|
|
||
|
- name: Install mold linker
|
||
|
uses: rui314/setup-mold@v1
|
||
|
with:
|
||
|
mold-version: 2.0.0
|
||
|
make-default: true
|
||
|
|
||
|
- name: yarn-cache
|
||
|
uses: actions/cache@v3
|
||
1 year ago
|
with:
|
||
1 year ago
|
path: |
|
||
|
**/node_modules
|
||
|
.yarn
|
||
|
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }}
|
||
|
|
||
|
- name: build-cache
|
||
|
uses: actions/cache@v3
|
||
|
with:
|
||
|
path: |
|
||
|
./*
|
||
|
!./rust
|
||
1 year ago
|
key: ${{ github.sha }}
|
||
|
|
||
1 year ago
|
- name: cargo-cache
|
||
|
uses: actions/cache@v3
|
||
|
with:
|
||
|
path: |
|
||
|
~/.cargo
|
||
|
key: ${{ runner.os }}-cargo-cache-${{ hashFiles('./rust/Cargo.lock') }}
|
||
|
|
||
|
- name: agent build
|
||
|
run: cargo build --release --bin run-locally
|
||
|
working-directory: ./rust
|
||
|
|
||
|
- name: agent tests with CosmWasm
|
||
|
run: RUST_BACKTRACE=1 cargo test --package run-locally --bin run-locally -- cosmos::test --nocapture
|
||
|
working-directory: ./rust
|
||
|
|
||
|
- name: agent tests excluding CosmWasm
|
||
|
run: ./target/release/run-locally
|
||
|
working-directory: ./rust
|
||
|
env:
|
||
|
E2E_CI_MODE: 'true'
|
||
|
E2E_CI_TIMEOUT_SEC: '600'
|
||
|
E2E_KATHY_MESSAGES: '20'
|
||
|
|
||
|
- name: cli e2e tests
|
||
1 year ago
|
run: ./typescript/cli/ci-test.sh
|
||
|
|
||
1 year ago
|
env-test:
|
||
|
runs-on: ubuntu-latest
|
||
1 year ago
|
needs: [yarn-build]
|
||
|
strategy:
|
||
|
matrix:
|
||
|
environment: [testnet4, mainnet3]
|
||
|
module: [ism, core, helloworld]
|
||
|
|
||
|
steps:
|
||
|
- uses: actions/checkout@v3
|
||
|
|
||
1 year ago
|
- name: foundry-install
|
||
1 year ago
|
uses: onbjerg/foundry-toolchain@v1
|
||
|
|
||
1 year ago
|
- name: build-cache
|
||
|
uses: actions/cache@v3
|
||
|
with:
|
||
|
path: |
|
||
|
./*
|
||
|
!./rust
|
||
|
key: ${{ github.sha }}
|
||
|
|
||
1 year ago
|
- name: Test ${{ matrix.environment }} ${{ matrix.module }} deployment (check, deploy, govern, check again)
|
||
|
run: cd typescript/infra && ./fork.sh ${{ matrix.environment }} ${{ matrix.module }}
|
||
2 years ago
|
|
||
1 year ago
|
coverage:
|
||
1 year ago
|
runs-on: ubuntu-latest
|
||
2 years ago
|
needs: [yarn-build]
|
||
2 years ago
|
|
||
|
steps:
|
||
|
- uses: actions/checkout@v3
|
||
1 year ago
|
with:
|
||
|
fetch-depth: 0
|
||
|
|
||
2 years ago
|
- name: yarn-cache
|
||
2 years ago
|
uses: actions/cache@v3
|
||
|
with:
|
||
2 years ago
|
path: |
|
||
|
**/node_modules
|
||
1 year ago
|
.yarn
|
||
2 years ago
|
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }}
|
||
2 years ago
|
|
||
1 year ago
|
- name: build-cache
|
||
|
uses: actions/cache@v3
|
||
|
with:
|
||
|
path: |
|
||
|
./*
|
||
|
!./rust
|
||
|
key: ${{ github.sha }}
|
||
2 years ago
|
|
||
2 years ago
|
- name: Run tests with coverage
|
||
1 year ago
|
run: yarn coverage
|
||
1 year ago
|
env:
|
||
|
NODE_OPTIONS: --max_old_space_size=4096
|
||
1 year ago
|
|
||
|
- name: Upload coverage reports to Codecov with GitHub Action
|
||
|
uses: codecov/codecov-action@v3
|
||
|
with:
|
||
1 year ago
|
token: ${{ secrets.CODECOV_TOKEN }}
|