Skip to content

Feat/e2e refactor #4465

Feat/e2e refactor

Feat/e2e refactor #4465

Workflow file for this run

name: Formatting Check & Test
on:
push:
paths: ["**.*"]
pull_request:
branches: [main, development]
env:
CARGO_TERM_COLOR: always
jobs:
linting:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.75.0
components: rustfmt, clippy
profile: minimal
override: true
- run: cargo fetch --verbose
- run: cargo clippy --all --all-targets -- -D warnings
- run: cargo fmt -- --check
contract-tests:
name: Contract Tests
needs: linting
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.75.0
profile: minimal
- run: cargo fetch --verbose
- run: cargo build
- run: cargo test --verbose --all --lib
env:
RUST_BACKTRACE: 1
- run: cargo test -p tests-integration --verbose
env:
RUST_BACKTRACE: 1
build:
runs-on: ubuntu-latest
name: Actions - build contracts and upload artifacts
needs: [contract-tests]
steps:
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.75.0
- run: rustup override set 1.75.0
- run: rustup target add wasm32-unknown-unknown
- uses: actions/checkout@v4
- name: Install Binaryen
run: |
chmod +x "${GITHUB_WORKSPACE}/scripts/install_binaryen.sh"
"${GITHUB_WORKSPACE}/scripts/install_binaryen.sh"
- name: Build
run: |
chmod +x "${GITHUB_WORKSPACE}/scripts/build.sh"
"${GITHUB_WORKSPACE}/scripts/build.sh" all
- name: Check contract sizes
run: |
chmod +x "${GITHUB_WORKSPACE}/.github/file-size.sh"
"${GITHUB_WORKSPACE}/.github/file-size.sh"
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: contracts
path: ./artifacts/
if-no-files-found: error
ibc-tests:
runs-on: ubuntu-latest
name: Running E2E Test
needs: build
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
with:
repository: andromedaprotocol/localrelayer
ref: develop
token: ${{ secrets.LOCALRELAYER_ACCESS_TOKEN }}
path: localrelayer
- name: Setup docker
run: |
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
- name: Setup localrelayer
run: |
cd ./localrelayer
make start-chains
make start-validators
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.75.0
profile: minimal
- name: Download Artifacts To ibc-tests
uses: actions/download-artifact@v3
with:
name: contracts
path: ./ibc-tests/artifacts
- name: Download Artifacts To andromeda testing
uses: actions/download-artifact@v3
with:
name: contracts
path: ./packages/andromeda-testing-e2e/artifacts
- name: Run IBC Tests
run: |
cargo test -p ibc-tests -- --test-threads 1
build-schemas:
runs-on: ubuntu-latest
name: Actions - build schemas
needs: contract-tests
steps:
- uses: actions/checkout@v4
- name: Build Schema
run: |
chmod +x "${GITHUB_WORKSPACE}/scripts/build_schema.sh"
"${GITHUB_WORKSPACE}/scripts/build_schema.sh"
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: schema
path: ./schemas/
if-no-files-found: error