-
Notifications
You must be signed in to change notification settings - Fork 1
70 lines (61 loc) · 1.92 KB
/
test-go.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
on:
workflow_call:
secrets:
github-token:
required: true
inputs:
upload_coverage_artifact:
required: false
type: boolean
default: true
coverage_artifact_name:
required: false
type: string
default: coverage-artifact
external_container_dependencies:
required: false
type: string
default: ""
auth_registry:
required: false
type: string
description: "Registry Address to pull images, used on gcloud auth configure-docker"
default: "eu.gcr.io,europe-west3-docker.pkg.dev"
jobs:
test:
name: Test
runs-on: [self-hosted, dind]
timeout-minutes: 15
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v5
with:
go-version: "stable"
- uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Configure private repo
run: git config --global url."https://${{ secrets.github-token }}:[email protected]/urbansportsclub".insteadOf "https://github.com/urbansportsclub"
- name: Configure gcloud Auth
run: gcloud auth configure-docker ${{ inputs.auth_registry }}
- name: Install external dependencies
if: inputs.external_container_dependencies != ''
run: ${{ inputs.external_container_dependencies }}
- name: Test
run: go test -v -race -covermode=atomic -coverprofile=coverage.out ./...
env:
GITHUB_TOKEN: ${{ secrets.github-token }}
- name: Archive code coverage results
if: inputs.upload_coverage_artifact == true
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.coverage_artifact_name }}
path: coverage.out
retention-days: 5
if-no-files-found: error