-
Notifications
You must be signed in to change notification settings - Fork 0
142 lines (141 loc) · 4.61 KB
/
build.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
name: "Build and deploy to dev (via build.yaml)"
on:
workflow_dispatch:
push:
branches:
- main
- dev/**
jobs:
build:
name: "build"
runs-on: "ubuntu-24.04"
permissions:
packages: write
repository-projects: write
contents: write
id-token: write
steps:
- uses: "actions/checkout@v4"
- uses: "actions/setup-java@v4"
with:
java-version: "21"
distribution: "temurin"
- name: Cache gradle wrapper
uses: actions/cache@v3
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-cache-${{ hashFiles('build.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-cache-
- name: "Build and tests"
run: ./gradlew test build
env:
ORG_GRADLE_PROJECT_githubUser: x-access-token
ORG_GRADLE_PROJECT_githubPassword: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Docker build and push ebms-provider
uses: nais/docker-build-push@v0
id: docker-push-ebms-provider
with:
team: team-emottak # required
tag: ${{ github.sha }}
dockerfile: Dockerfile # optional, default Dockerfile
docker_context: ebms-provider # optional, default .
image_suffix: ebms-provider
- name: Docker build and push ebms-payload
uses: nais/docker-build-push@v0
id: docker-push-ebms-payload
with:
team: team-emottak # required
tag: ${{ github.sha }}
dockerfile: Dockerfile # optional, default Dockerfile
docker_context: ebms-payload # optional, default .
image_suffix: ebms-payload
- name: Docker build and push cpa-repo
uses: nais/docker-build-push@v0
id: docker-push-cpa-repo
with:
team: team-emottak # required
tag: ${{ github.sha }}
dockerfile: Dockerfile # optional, default Dockerfile
docker_context: cpa-repo # optional, default .
image_suffix: cpa-repo
- name: Docker build and push ebms-async
uses: nais/docker-build-push@v0
id: docker-push-ebms-async
with:
team: team-emottak # required
tag: ${{ github.sha }}
dockerfile: Dockerfile # optional, default Dockerfile
docker_context: ebms-async # optional, default .
image_suffix: ebms-async
outputs:
providerimage: ${{ steps.docker-push-ebms-provider.outputs.image }}
payloadimage: ${{ steps.docker-push-ebms-payload.outputs.image }}
cpaimage: ${{ steps.docker-push-cpa-repo.outputs.image }}
asyncimage: ${{ steps.docker-push-ebms-async.outputs.image }}
deploy-async:
name: "Deploy ebms async to dev"
needs: "build"
runs-on: "ubuntu-24.04"
permissions:
contents: read
id-token: write
steps:
- uses: "actions/checkout@v4"
- name: "Deploy to DEV"
uses: "nais/deploy/actions/deploy@v2"
env:
CLUSTER: "dev-fss"
RESOURCE: ".nais/ebms-async-dev.yaml"
IMAGE: ${{ needs.build.outputs.asyncimage }}
deploy-processor:
name: "Deploy ebms provider to dev"
needs: "build"
runs-on: "ubuntu-24.04"
permissions:
contents: read
id-token: write
steps:
- uses: "actions/checkout@v4"
- name: "Deploy to DEV"
uses: "nais/deploy/actions/deploy@v2"
env:
CLUSTER: "dev-fss"
RESOURCE: ".nais/ebms-provider-dev.yaml"
IMAGE: ${{ needs.build.outputs.providerimage }}
deploy-cpa-repo:
name: "Deploy cpa-repo to dev"
needs: "build"
runs-on: "ubuntu-24.04"
permissions:
contents: read
id-token: write
steps:
- uses: "actions/checkout@v4"
- name: "Deploy to DEV"
uses: "nais/deploy/actions/deploy@v2"
env:
CLUSTER: "dev-fss"
RESOURCE: ".nais/cpa-repo-dev.yaml"
IMAGE: ${{ needs.build.outputs.cpaimage }}
deploy-ebms-payload:
name: "Deploy ebms-payload to dev"
needs: "build"
runs-on: "ubuntu-24.04"
permissions:
contents: read
id-token: write
steps:
- uses: "actions/checkout@v4"
- name: "Deploy to DEV"
uses: "nais/deploy/actions/deploy@v2"
env:
CLUSTER: "dev-fss"
RESOURCE: ".nais/ebms-payload-dev.yaml"
IMAGE: ${{ needs.build.outputs.payloadimage }}