Merge pull request #15 from grafana/add_codeowners #12
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: CI | |
on: | |
# Enable manually triggering this workflow via the API or web UI | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
tags: | |
- v* | |
pull_request: | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.20.x | |
- name: Retrieve golangci-lint version | |
run: | | |
echo "Version=$(head -n 1 "${GITHUB_WORKSPACE}/.golangci.yml" | tr -d '# ')" >> $GITHUB_OUTPUT | |
id: version | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
version: ${{ steps.version.outputs.Version }} | |
only-new-issues: true | |
test-go-versions: | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: [1.19.x, 1.20.x, tip] | |
platform: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Go ${{ matrix.go-version }} | |
if: matrix.go-version != 'tip' | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Install Go stable | |
if: matrix.go-version == 'tip' | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.x | |
- name: Install Go tip | |
shell: bash | |
if: matrix.go-version == 'tip' | |
run: | | |
go install golang.org/dl/gotip@latest | |
gotip download | |
echo "GOROOT=$HOME/sdk/gotip" >> "$GITHUB_ENV" | |
echo "GOPATH=$HOME/go" >> "$GITHUB_ENV" | |
echo "$HOME/go/bin" >> "$GITHUB_PATH" | |
echo "$HOME/sdk/gotip/bin" >> "$GITHUB_PATH" | |
- name: Run tests | |
run: | | |
which go | |
go version | |
go test -race -timeout 60s ./... | |
test-build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.20.x | |
- name: Check build | |
run: | | |
go version | |
pwd && ls -l | |
go install go.k6.io/xk6/cmd/xk6@latest | |
MODULE_NAME=$(go list -m) | |
xk6 build \ | |
--output ./k6ext \ | |
--with $MODULE_NAME="." | |
./k6ext version |