| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- name: Continuous integration
- on:
- push:
- branches:
- - main
- pull_request:
- jobs:
- lint:
- name: Lint
- runs-on: ubuntu-latest
- env:
- GO111MODULE: "on"
- steps:
- - name: Set up Go 1.15
- uses: actions/setup-go@v1
- with:
- go-version: 1.15
- id: go
- - name: Checkout code into the Go module directory
- uses: actions/checkout@v2
- - name: Validate go-mod is up-to-date and license headers
- run: make validate
- - name: Validate imports
- run: make import-restrictions
- - name: Run golangci-lint
- run: |
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b . v1.30.0
- ./golangci-lint run --timeout 10m0s
- build:
- name: Build
- runs-on: ubuntu-latest
- env:
- GO111MODULE: "on"
- steps:
- - name: Set up Go 1.15
- uses: actions/setup-go@v1
- with:
- go-version: 1.15
- id: go
- - name: Checkout code into the Go module directory
- uses: actions/checkout@v2
- - uses: actions/cache@v2
- with:
- path: ~/go/pkg/mod
- key: go-${{ hashFiles('**/go.sum') }}
- # Ensure we don't discover cross platform build issues at release time.
- # Time used to build linux here is gained back in the build for local E2E step
- - name: Build packages
- run: make -f builder.Makefile cross
- - name: Test
- env:
- BUILD_TAGS: example,local
- run: make -f builder.Makefile test
- - name: Build for local E2E
- env:
- BUILD_TAGS: example,local,e2e
- run: make -f builder.Makefile cli
- - name: E2E Test
- run: make e2e-local
|