Add flag to not compress generic builds #279
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: Unit tests | |
on: | |
push: | |
branches: | |
- 'main' | |
- 'v*' | |
pull_request: | |
branches: | |
- 'main' | |
env: | |
GO_VERSION: '1.23' | |
jobs: | |
check-go: | |
name: Check Go code | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
cache: true | |
- name: Check for tidyness of go.mod and go.sum | |
run: | | |
go mod tidy | |
git diff --exit-code -- . | |
build-go: | |
name: Build & cache Go code | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
cache: true | |
lint-go: | |
name: Lint Go code | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run golangci-lint | |
uses: golangci/golangci-lint-action@v4 | |
with: | |
args: --timeout 5m | |
test-go: | |
name: Run unit tests | |
runs-on: ubuntu-latest | |
needs: | |
- build-go | |
steps: | |
- name: Create checkout directory | |
run: mkdir -p ~/go/src/github.com/gitpod-io | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Create symlink in GOPATH | |
run: ln -s $(pwd) ~/go/src/github.com/gitpod-io/leeway | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
cache: true | |
- name: Run all unit tests | |
run: go test -v -coverprofile=coverage.out $(go list ./...) | |
- name: Generate code coverage artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: code-coverage | |
path: coverage.out | |
test-go-race: | |
name: Run unit tests with -race | |
runs-on: ubuntu-latest | |
needs: | |
- build-go | |
steps: | |
- name: Create checkout directory | |
run: mkdir -p ~/go/src/github.com/gitpod-io | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Create symlink in GOPATH | |
run: ln -s $(pwd) ~/go/src/github.com/gitpod-io/leeway | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
cache: true | |
- name: Run all unit tests | |
run: go test -race -v $(go list ./...) | |
analyze: | |
name: Process & analyze test artifacts | |
runs-on: ubuntu-latest | |
needs: | |
- test-go | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 10 | |
- name: Create test-results directory | |
run: | | |
mkdir -p test-results | |
- name: Get code coverage artifiact | |
uses: actions/download-artifact@v4 | |
with: | |
name: code-coverage | |
- name: Upload code coverage information to codecov.io | |
uses: codecov/codecov-action@v4 | |
with: | |
file: coverage.out |