erigon-pulse/.github/workflows/ci.yml
battlmonstr 54cf932652
Makefile: pass docker build arguments (#4212)
Dockerfile requires some --build-arg options.
Fix "docker" target to pass them.
Fix GIT_TAG to reflect the most recent tag related to HEAD, instead of an unrelated most recent tag.
Use it as the image VERSION.

Image tags need to be passed explicitly if needed:

    DOCKER_FLAGS='-t erigon:latest' make docker
2022-05-21 10:21:35 +01:00

108 lines
2.7 KiB
YAML

name: Continuous integration
on:
push:
branches:
- devel
- alpha
- stable
pull_request:
branches:
- devel
- alpha
- stable
jobs:
tests:
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
- 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
- uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/Library/Caches/go-build
~/go/pkg/mod
key: go-${{ matrix.os }}-${{ hashFiles('**/go.sum') }}
restore-keys: go-${{ matrix.os }}-
- name: Build
run: make all
- name: Reproducible build test
run: |
make erigon
shasum -a256 ./build/bin/erigon > erigon1.sha256
make erigon
shasum -a256 ./build/bin/erigon > erigon2.sha256
if ! cmp -s erigon1.sha256 erigon2.sha256; then
echo >&2 "Reproducible build broken"; cat erigon1.sha256; cat erigon2.sha256; exit 1
fi
- name: Lint
if: runner.os == 'Linux'
uses: golangci/golangci-lint-action@v3
with:
version: v1.46
skip-pkg-cache: true
skip-build-cache: true
- name: Test
run: make test
tests-windows:
strategy:
matrix:
os: [ windows-2022 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: git submodule update --init --recursive --force
- uses: actions/setup-go@v3
with:
go-version: 1.18.x
- uses: actions/cache@v3
with:
path: |
C:\ProgramData\chocolatey\lib\mingw
C:\ProgramData\chocolatey\lib\cmake
key: chocolatey-${{ matrix.os }}
- name: Install dependencies
run: |
choco upgrade mingw -y --no-progress --version 11.2.0.07112021
choco install cmake -y --no-progress --version 3.23.1
- uses: actions/cache@v3
with:
path: |
~\AppData\Local\go-build
~\go\pkg\mod
key: go-${{ matrix.os }}-${{ hashFiles('**/go.sum') }}
restore-keys: go-${{ matrix.os }}-
- name: Build
run: .\wmake.ps1 all
- name: Test
run: .\wmake.ps1 test
docker:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # fetch git tags for "git describe"
- run: make docker