trie_prefetcher: alternate structure #2637
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.22.8" | |
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.56 | |
working-directory: . | |
args: --timeout 3m | |
skip-pkg-cache: true | |
- name: Run shellcheck | |
shell: bash | |
run: scripts/shellcheck.sh | |
- name: Run actionlint | |
shell: bash | |
run: scripts/actionlint.sh | |
test: | |
name: Golang Unit Tests (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest, ubuntu-20.04, ubuntu-latest, 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.22.8" | |
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 | |
- name: Set timeout on Windows # Windows UT run slower and need a longer timeout | |
shell: bash | |
if: matrix.os == 'windows-latest' | |
run: echo "TIMEOUT=1200s" >> "$GITHUB_ENV" | |
- run: go mod download | |
shell: bash | |
- run: ./scripts/build.sh evm | |
shell: bash | |
- run: ./scripts/build_test.sh | |
shell: bash | |
env: | |
TIMEOUT: ${{ env.TIMEOUT }} | |
- run: ./scripts/coverage.sh | |
shell: bash | |
avalanchego_e2e: | |
name: AvalancheGo E2E Tests (${{ 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.22.8" | |
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 |