| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- 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
- env:
- BUILD_TAGS: kube,e2e
- run: |
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sudo sh -s -- -b /usr/bin/ v1.33.0
- make -f builder.Makefile lint
- 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: Setup docker CLI
- run: |
- curl https://download.docker.com/linux/static/stable/x86_64/docker-20.10.2.tgz | tar xz
- sudo cp ./docker/docker /usr/bin/ && rm -rf docker && docker version
- - 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: kube
- run: make -f builder.Makefile test
- - name: Build for local E2E
- env:
- BUILD_TAGS: e2e
- run: make -f builder.Makefile cli
- - name: E2E Test
- run: make e2e-local
|