🎉 v10 🎉 (#2966) #6975
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: Code Test | |
## Only trigger tests if source is changing | |
on: | |
push: | |
paths: | |
- '**.go' | |
- '**.mod' | |
- 'go.sum' | |
jobs: | |
# Check if there is any dirty change for go mod tidy | |
go-mod: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Import environment variables from file | |
run: cat ".github/env" >> $GITHUB_ENV | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ">=${{ env.golang-version }}" | |
cache: false | |
- name: Check go mod | |
run: | | |
go mod tidy | |
git diff --exit-code go.mod | |
golangci-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Import environment variables from file | |
run: cat ".github/env" >> $GITHUB_ENV | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ">=${{ env.golang-version }}" | |
cache: false | |
- run: make providers/build/core | |
- name: Run protolint | |
run: make test/lint/proto | |
- name: Run golangci-lint | |
uses: golangci/[email protected] | |
with: | |
version: latest | |
go-test: | |
runs-on: self-hosted | |
timeout-minutes: 120 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Import environment variables from file | |
run: cat ".github/env" >> $GITHUB_ENV | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ">=${{ env.golang-version }}" | |
cache: false | |
# https://github.com/actions/cache/blob/main/examples.md#go---modules | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: 'Set up gcloud CLI' | |
uses: 'google-github-actions/setup-gcloud@v2' | |
- name: Test cnquery | |
run: make test/go/plain-ci | |
- name: Test Providers | |
run: make providers/test | |
- uses: actions/upload-artifact@v4 # upload test results | |
if: success() || failure() # run this step even if previous step failed | |
with: | |
name: test-results | |
path: report.xml | |
license-check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Copywrite | |
uses: hashicorp/[email protected] | |
with: | |
version: v0.16.4 | |
- name: Check Header Compliance | |
run: copywrite headers --plan |