Skip to content

Add flag to not compress generic builds #279

Add flag to not compress generic builds

Add flag to not compress generic builds #279

Workflow file for this run

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