mirror of
https://github.com/lightninglabs/aperture.git
synced 2026-01-15 07:14:24 +01:00
There's a race condition in the h2_bundle.go of go 1.16.10 and later. The issue https://github.com/golang/go/issues/51799 mentions that this might be fixed in go 1.19, so we'll need to wait for that. We make sure we build our docker images with go 1.16.9 to not run into the issue in the wild.
95 lines
2.7 KiB
YAML
95 lines
2.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "master"
|
|
pull_request:
|
|
branches:
|
|
- "*"
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
env:
|
|
# go needs absolute directories, using the $HOME variable doesn't work here.
|
|
GOCACHE: /home/runner/work/go/pkg/build
|
|
GOPATH: /home/runner/work/go
|
|
|
|
# If you change this value, please change it in the following files as well:
|
|
# /Dockerfile
|
|
#
|
|
# Don't bump this until go 1.19 is out (which should include a fix for
|
|
# https://github.com/golang/go/issues/51799). There was a race condition
|
|
# introduced with go 1.16.10 that causes the unit tests to fail (could also
|
|
# happen in production).
|
|
GO_VERSION: 1.16.9
|
|
|
|
jobs:
|
|
########################
|
|
# lint code
|
|
########################
|
|
lint:
|
|
name: lint code
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: git checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: go cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: /home/runner/work/go
|
|
key: subasta-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
aperture-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
|
|
aperture-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-
|
|
aperture-${{ runner.os }}-go-${{ env.GO_VERSION }}-
|
|
aperture-${{ runner.os }}-go-
|
|
|
|
- name: setup go ${{ env.GO_VERSION }}
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: '${{ env.GO_VERSION }}'
|
|
|
|
- name: lint
|
|
run: make lint
|
|
|
|
########################
|
|
# run unit tests
|
|
########################
|
|
unit-test:
|
|
name: run unit tests
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
# Allow other tests in the matrix to continue if one fails.
|
|
fail-fast: false
|
|
matrix:
|
|
unit_type:
|
|
- unit-race
|
|
steps:
|
|
- name: git checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: go cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: /home/runner/work/go
|
|
key: subasta-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
aperture-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
|
|
aperture-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-
|
|
aperture-${{ runner.os }}-go-${{ env.GO_VERSION }}-
|
|
aperture-${{ runner.os }}-go-
|
|
|
|
- name: setup go ${{ env.GO_VERSION }}
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: '${{ env.GO_VERSION }}'
|
|
|
|
- name: run ${{ matrix.unit_type }}
|
|
run: make ${{ matrix.unit_type }}
|