Bloom filter gossip #816
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@v3 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: "~1.19.12" | |
- 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.51 | |
working-directory: . | |
args: --timeout 3m | |
test: | |
name: Golang Unit Tests v${{ matrix.go }} (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
go: ['~1.19.12'] | |
os: [macos-11.0, ubuntu-20.04, windows-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go }} | |
- 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: | |
go: ['~1.19.12'] | |
os: [ubuntu-20.04] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go }} | |
- 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 | |
e2e: | |
name: Golang E2E Tests v${{ matrix.go }} (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
go: [ '~1.19.12' ] | |
os: [ ubuntu-20.04 ] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: check out ${{ github.event.inputs.avalanchegoRepo }} ${{ github.event.inputs.avalanchegoBranch }} | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: ${{ github.event.inputs.avalanchegoRepo }} | |
ref: ${{ github.event.inputs.avalanchegoBranch }} | |
path: avalanchego | |
token: ${{ secrets.AVALANCHE_PAT }} | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go }} | |
- 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: prepare avalanchego directory for docker copy | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
# mv avalanchego/ to nested dir avalanchego/avalanchego/ | |
# required because docker instruction "COPY dir ." copies dir/* to . | |
run: mkdir avalanchego_tmp && mv avalanchego avalanchego_tmp && mv avalanchego_tmp avalanchego | |
- run: .github/workflows/run_e2e_tests.sh --parallelism 1 --client-id $KURTOSIS_CLIENT_ID --client-secret $KURTOSIS_CLIENT_SECRET | |
shell: bash | |
env: | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASS: ${{ secrets.DOCKER_PASS }} | |
KURTOSIS_CLIENT_ID: ${{ secrets.KURTOSIS_CLIENT_ID }} | |
KURTOSIS_CLIENT_SECRET: ${{ secrets.KURTOSIS_CLIENT_SECRET }} |