Added ERC20 tests in CI #139
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Run Tests' | |
on: | |
pull_request: | |
push: | |
branches: | |
- 'master-update' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
pykwasm-code-quality-checks: | |
name: 'Code Quality Checks' | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
- name: 'Install Poetry' | |
uses: Gr1N/setup-poetry@v9 | |
- name: 'Build pykwasm' | |
run: poetry -C pykwasm install | |
- name: 'Run code quality checks' | |
run: make -C pykwasm check | |
- name: 'Run pyupgrade' | |
run: make -C pykwasm pyupgrade | |
- name: 'Run unit tests' | |
run: make -C pykwasm cov-unit | |
- name: 'Run Rust unit-tests' | |
run: make rust-tests | |
conformance-tests: | |
name: 'Conformance Tests' | |
needs: pykwasm-code-quality-checks | |
runs-on: [self-hosted, aws, us-east-2, m6a.4xlarge] | |
timeout-minutes: 30 | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: 'Set up Docker' | |
uses: ./.github/actions/with-docker | |
with: | |
container-name: kwasm-ci-conformance-${{ github.sha }} | |
- name: 'Build pykwasm' | |
run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} poetry -C pykwasm install | |
- name: 'Build LLVM definition' | |
run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} poetry -C pykwasm run kdist -v build wasm-semantics.llvm | |
- name: 'Run integration tests' | |
run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} make -C pykwasm cov-integration | |
- name: 'Run simple tests' | |
run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} make -j2 test-simple | |
- name: 'Run conformance tests: run' | |
run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} make -j2 test-conformance-supported | |
- name: 'Run conformance tests: parse' | |
run: docker exec -u user kwasm-ci-conformance-${GITHUB_SHA} make test-conformance-parse | |
- name: 'Tear down Docker' | |
if: always() | |
run: | | |
docker stop --time=0 kwasm-ci-conformance-${GITHUB_SHA} | |
erc20-tests: | |
name: 'ERC20 Tests' | |
needs: pykwasm-code-quality-checks | |
runs-on: [self-hosted, aws, us-east-2, m6a.4xlarge] | |
timeout-minutes: 30 | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: 'Set up Docker' | |
uses: ./.github/actions/with-k | |
with: | |
container-name: kwasm-ci-erc20-${{ github.sha }} | |
- name: 'Build everything' | |
run: docker exec -u user kwasm-ci-erc20-${GITHUB_SHA} bash -c "CXX=clang++-16 make ulm-wasm ulm-contract-compiler ulm-build erc20-bin" | |
- name: 'Start server' | |
run: docker exec -u user kwasm-ci-erc20-${GITHUB_SHA} -d bash -c "./scripts/run-dev-ulm" | |
- name: 'Load kwasm library' | |
run: docker exec -u user kwasm-ci-erc20-${GITHUB_SHA} bash -c "./scripts/ulm-load-lang" | |
- name: 'Run ERC20 tests' | |
run: docker exec -u user kwasm-ci-erc20-${GITHUB_SHA} bash -c "tests/ulm/erc20/erc20_test.sh" | |
- name: 'Tear down Docker' | |
if: always() | |
run: | | |
docker stop --time=0 kwasm-ci-erc20-${GITHUB_SHA} |