[PLAT-105626] fix issues-7248 to run in parallel #80
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: go | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
pull_request: | |
# TODO(bwplotka): Add tests here. | |
jobs: | |
cross-build-check: | |
runs-on: ubuntu-latest | |
name: Go build for different platforms | |
env: | |
GOBIN: /tmp/.bin | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21.x | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/.cache/golangci-lint | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Cross build check | |
run: make crossbuild | |
lint: | |
runs-on: ubuntu-latest | |
name: Linters (Static Analysis) for Go | |
env: | |
GOBIN: /tmp/.bin | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21.x | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/.cache/golangci-lint | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Format. | |
run: make format | |
- name: Linting & vetting | |
run: make go-lint | |
unit: | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-latest | |
name: Thanos unit tests | |
env: | |
GOBIN: /home/runner/go/bin | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Go. | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21.x | |
- name: Install bingo and configure PATH | |
run: | | |
go install github.com/bwplotka/bingo@latest | |
ls -l $GOPATH/bin | |
echo $PATH | |
- name: Install Prometheus using bingo | |
run: | | |
bingo get prometheus | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/.cache/golangci-lint | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
- name: Run unit tests | |
run: make test-local | |
e2e: | |
strategy: | |
fail-fast: false | |
matrix: | |
parallelism: [8] | |
index: [0, 1, 2, 3, 4, 5, 6, 7] | |
runs-on: ubuntu-latest | |
name: Thanos end-to-end tests | |
env: | |
GOBIN: /tmp/.bin | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Go. | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.21.x | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/.cache/golangci-lint | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
- name: Run e2e docker-based tests | |
run: make test-e2e GH_PARALLEL=${{ matrix.parallelism }} GH_INDEX=${{ matrix.index }} |