Generalize test suits #827
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: Build + Test + Lint | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+' | |
pull_request: | |
jobs: | |
lint_test: | |
name: Lint | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: ./scripts/lint_allowed_geth_imports.sh | |
shell: bash | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: "1.19" | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
version: v1.51 | |
working-directory: . | |
args: --timeout 10m | |
unit_test: | |
name: Golang Unit Tests | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: "1.19" | |
- run: go mod download | |
shell: bash | |
- run: ./scripts/build.sh ./build/subnetevm | |
shell: bash | |
- run: ./scripts/build_test.sh -race | |
shell: bash | |
- run: ./scripts/coverage.sh | |
shell: bash | |
build_image: | |
name: Build Docker Image | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: echo ${{ secrets.docker_pass }} | docker login --username ${{ secrets.docker_username }} --password-stdin | |
shell: bash | |
- run: CURRENT_BRANCH=${{ github.head_ref || github.ref_name }} PUSH_DOCKER_IMAGE=true ./scripts/build_image.sh | |
shell: bash | |
e2e_test: | |
name: e2e tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: "1.19" | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18.15" | |
- name: NPM Clean Install | |
run: npm ci | |
working-directory: ./contracts | |
- name: Install AvalancheGo Release | |
shell: bash | |
run: BASEDIR=/tmp/e2e-test AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego ./scripts/install_avalanchego_release.sh | |
- name: Build Subnet-EVM Plugin Binary | |
shell: bash | |
run: ./scripts/build.sh /tmp/e2e-test/avalanchego/plugins/srEXiWaHuhNyGwPUi444Tu47ZEDwxTWrbQiuD7FmgSAQ6X7Dy | |
- name: Run E2E Tests | |
shell: bash | |
run: AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego DATA_DIR=/tmp/e2e-test/data ./scripts/run_ginkgo.sh | |
- name: Upload Artifact | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: subnet-evm-e2e-logs | |
path: /tmp/network-runner-root-data*/ | |
retention-days: 5 |