This repository has been archived by the owner on Nov 27, 2023. It is now read-only.
Add codeql GHAS workflow #4595
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous integration | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
env: | |
GO_VERSION: 1.19 | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code into the Go module directory | |
uses: actions/checkout@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
cache: true | |
- name: Validate go-mod is up-to-date and license headers | |
run: make validate | |
- 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.50.1 | |
make -f builder.Makefile lint | |
# only on main branch, costs too much for the gain on every PR | |
validate-cross-build: | |
name: Validate cross build | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- name: Checkout code into the Go module directory | |
uses: actions/checkout@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
cache: true | |
# 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 | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code into the Go module directory | |
uses: actions/checkout@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
cache: true | |
- name: Set up gosum | |
run: | | |
go install gotest.tools/gotestsum@latest | |
- name: Setup docker CLI | |
run: | | |
curl https://download.docker.com/linux/static/stable/x86_64/docker-20.10.3.tgz | tar xz | |
sudo cp ./docker/docker /usr/bin/ && rm -rf docker && docker version | |
- 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 |