-
Notifications
You must be signed in to change notification settings - Fork 0
79 lines (78 loc) · 2.6 KB
/
pr.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
71
72
73
74
75
76
77
78
79
name: Check pull request
on: pull_request
env:
NAME: nais-api
IMAGE_REPOSITORY: oci://europe-north1-docker.pkg.dev/nais-io/nais
jobs:
test:
name: Check pull request
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: docker compose up bigquery -d
- uses: asdf-vm/actions/setup@v3
- id: asdf-cache
uses: actions/cache@v4
with:
path: ~/.asdf/
key: ${{ runner.os }}-asdf-${{ hashFiles('**/.tool-versions') }}
- uses: asdf-vm/actions/install@v3
if: steps.asdf-cache.outputs.cache-hit != 'true'
with:
before_install: |
asdf install golang latest
asdf global golang latest
- name: Find go cache dir
id: go-cache
run: |
go version
# Clear cache dirs to avoid error when restoring
go clean -cache -modcache
echo "gocache=$(go env GOCACHE)" >> $GITHUB_OUTPUT
echo "gomodcache=$(go env GOMODCACHE)" >> $GITHUB_OUTPUT
- name: Cache go modules
uses: actions/cache@v4
with:
path: |
${{ steps.go-cache.outputs.gocache }}
${{ steps.go-cache.outputs.gomodcache }}
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- run: make test-with-cc
- run: make integration_test
- run: helm lint --strict ./charts
- run: make staticcheck
- run: make vulncheck
- name: Check code format and run code generators
run: |
make fmt
make generate
git diff --exit-code --name-only
build_push:
outputs:
version: ${{ steps.build-push-sign.outputs.version }}
permissions:
contents: read
id-token: write
name: Build and push
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- id: go_version
run: echo "go_version=$(cat .tool-versions | grep golang | awk '{print $2}')" >> $GITHUB_OUTPUT
- uses: nais/platform-build-push-sign@main
id: build-push-sign
with:
name: nais-api
build_args: |
GO_VERSION=${{ steps.go_version.outputs.go_version }}-
google_service_account: gh-api
workload_identity_provider: ${{ secrets.NAIS_IO_WORKLOAD_IDENTITY_PROVIDER }}
push: true
- name: Build Chart
run: |-
sed -i "s/^version: .*/version: ${{ steps.build-push-sign.outputs.version }}/g" charts/Chart.yaml
cat charts/Chart.yaml
helm package charts
- name: Push Chart
run: |-
helm push ${{ env.NAME }}*.tgz ${{ env.IMAGE_REPOSITORY }}