GoLang Tests #6248
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: GoLang Tests | |
on: | |
schedule: | |
- cron: "*/6 * * * *" | |
pull_request: | |
branches: [main] | |
workflow_dispatch: | |
inputs: | |
# trunk-ignore(checkov/CKV_GHA_7) | |
cli-version: | |
type: string | |
required: false | |
description: | |
The version of `analytics-cli` to use. Defaults to the latest specified in | |
`analytis-uploader`. | |
jobs: | |
test: | |
runs-on: public-amd64-small | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go Action | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22.5 | |
- name: Install dependencies | |
run: | | |
go install github.com/jstemmer/go-junit-report/v2@latest | |
go install gotest.tools/gotestsum@latest | |
- name: Run tests with go-junit-report | |
shell: bash | |
run: GORUNNER=NONE go test -v 2>&1 | go-junit-report -out go-junit-report_test.xml | |
working-directory: go/src | |
continue-on-error: true | |
- name: Upload test results | |
if: ${{ always() }} | |
uses: ./.github/actions/analytics-uploader-wrapper | |
with: | |
token-staging: ${{ secrets.TRUNK_STAGING_ORG_API_TOKEN }} | |
token-prod: ${{ secrets.TRUNK_PROD_ORG_API_TOKEN }} | |
token-dev: ${{ secrets.TRUNK_DEV_ORG_API_TOKEN }} | |
token-dev2: ${{ secrets.TRUNK_DEV2_ORG_API_TOKEN }} | |
cli-version: ${{ inputs.cli-version }} | |
junit-paths: "**/go-junit-report_test.xml" | |
- name: Upload artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: gotest-results | |
path: "**/go-junit-report_test.xml" | |
retention-days: 5 | |
- name: Run tests with gotestsum | |
if: ${{ always() }} | |
shell: bash | |
env: | |
GORUNNER: GOTESTSUM | |
# we pass in env GORUNNER so that a unique retry file will be created | |
run: gotestsum --rerun-fails=3 --junitfile gotestsum_test.xml | |
working-directory: go/src | |
- name: Upload test results | |
if: ${{ always() }} | |
uses: ./.github/actions/analytics-uploader-wrapper | |
with: | |
token-staging: ${{ secrets.TRUNK_STAGING_ORG_API_TOKEN }} | |
token-prod: ${{ secrets.TRUNK_PROD_ORG_API_TOKEN }} | |
token-dev: ${{ secrets.TRUNK_DEV_ORG_API_TOKEN }} | |
token-dev2: ${{ secrets.TRUNK_DEV2_ORG_API_TOKEN }} | |
cli-version: ${{ inputs.cli-version }} | |
junit-paths: "**/gotestsum_test.xml" | |
- name: Upload artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: gotestsum-results | |
path: "**/gotestsum_test.xml" | |
retention-days: 5 |