add sync yml #1994
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: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
avalanchegoRepo: | |
description: 'avalanchego github repository' | |
required: true | |
default: 'ava-labs/avalanchego' | |
avalanchegoBranch: | |
description: 'avalanchego branch' | |
required: true | |
default: 'master' | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '~1.21.7' | |
check-latest: true | |
- name: change avalanchego dep | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
run: | | |
go mod edit -replace github.com/ava-labs/avalanchego=./avalanchego | |
go mod tidy | |
go clean -modcache # avoid conflicts with the golangci-lint-action cache | |
- run: ./scripts/lint_allowed_geth_imports.sh | |
shell: bash | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
version: v1.54 | |
working-directory: . | |
args: --timeout 3m | |
- name: Run shellcheck | |
shell: bash | |
run: scripts/shellcheck.sh | |
test: | |
name: Golang Unit Tests v${{ matrix.go }} (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-11.0, ubuntu-20.04, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '~1.21.7' | |
check-latest: true | |
- name: change avalanchego dep | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
run: | | |
go mod edit -replace github.com/ava-labs/avalanchego=./avalanchego | |
go mod tidy | |
- run: go mod download | |
shell: bash | |
- run: ./scripts/build.sh evm | |
shell: bash | |
- run: ./scripts/build_test.sh | |
shell: bash | |
- run: ./scripts/coverage.sh | |
shell: bash | |
test-race: | |
name: Golang Unit Tests Race Detection v${{ matrix.go }} (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '~1.21.7' | |
check-latest: true | |
- name: change avalanchego dep | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
run: | | |
go mod edit -replace github.com/ava-labs/avalanchego=./avalanchego | |
go mod tidy | |
- run: go mod download | |
shell: bash | |
- run: ./scripts/build.sh evm | |
shell: bash | |
- run: ./scripts/build_test.sh -race | |
shell: bash | |
avalanchego_e2e: | |
name: AvalancheGo E2E Tests v${{ matrix.go }} (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-20.04 ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '~1.21.7' | |
check-latest: true | |
- name: Run e2e tests | |
run: E2E_SERIAL=1 ./scripts/tests.e2e.sh | |
shell: bash | |
- name: Upload tmpnet network dir | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: tmpnet-data | |
path: ~/.tmpnet/networks/1000 |