mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
Cleanup, lint, and enable linters for consenssus/bor module. Disabled linter "gomnd" and "tagliatelle" because they are not easy to fix and the return on the time investment is very low. Disabled linter "prealloc" because it is not easy to guess and pre-allocate the slice accurately in many cases.
80 lines
No EOL
2.2 KiB
YAML
80 lines
No EOL
2.2 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches:
|
|
- "master"
|
|
pull_request:
|
|
branches:
|
|
- "**"
|
|
types: [opened, synchronize, edited]
|
|
|
|
concurrency:
|
|
group: build-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
tests:
|
|
if: (github.event.action != 'closed' || github.event.pull_request.merged == true)
|
|
strategy:
|
|
matrix:
|
|
os: [ ubuntu-20.04, macos-11 ] # list of os: https://github.com/actions/virtual-environments
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- run: |
|
|
git submodule update --init --recursive --force
|
|
git fetch --no-tags --prune --depth=1 origin +refs/heads/master:refs/remotes/origin/master
|
|
|
|
- uses: actions/setup-go@v3
|
|
with:
|
|
go-version: 1.18.x
|
|
|
|
- name: Install dependencies on Linux
|
|
if: runner.os == 'Linux'
|
|
run: sudo apt update && sudo apt install build-essential
|
|
|
|
- name: Golang-ci install
|
|
if: runner.os == 'Linux'
|
|
run: make lintci-deps
|
|
|
|
- uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/.cache/go-build
|
|
~/Library/Caches/go-build
|
|
~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: ${{ runner.os }}-go-
|
|
|
|
- name: Build
|
|
run: make all
|
|
|
|
# TODO: make it work
|
|
|
|
# - name: Reproducible build test
|
|
# run: |
|
|
# make geth
|
|
# shasum -a256 ./build/bin/geth > bor1.sha256
|
|
# make geth
|
|
# shasum -a256 ./build/bin/geth > bor2.sha256
|
|
# if ! cmp -s bor1.sha256 bor2.sha256; then
|
|
# echo >&2 "Reproducible build broken"; cat bor1.sha256; cat bor2.sha256; exit 1
|
|
# fi
|
|
|
|
- name: Lint
|
|
if: runner.os == 'Linux'
|
|
run: make lint
|
|
|
|
- name: Test
|
|
run: make test
|
|
|
|
#- name: Data race tests
|
|
# run: make test-race
|
|
|
|
- name: test-integration
|
|
run: make test-integration
|
|
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v1
|
|
with:
|
|
file: ./cover.out |