-
Notifications
You must be signed in to change notification settings - Fork 1
134 lines (131 loc) · 4.23 KB
/
build-oppijanumerorekisteri.yml
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
name: oppijanumerorekisteri
on:
workflow_dispatch:
push:
branches: [master]
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
permissions:
id-token: write
contents: read
jobs:
build-oppijanumerorekisteri:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:12.14
ports:
- 5435:5432
env:
POSTGRES_USER: oph
POSTGRES_DB: oppijanumerorekisteri
POSTGRES_PASSWORD: oph
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: "21"
distribution: "corretto"
cache: "maven"
- name: Maven version
run: ./mvnw --version
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./mvnw clean install -B -Dbranch=$GITHUB_REF_NAME -Drevision=$GITHUB_SHA -DbuildNumber=$GITHUB_RUN_NUMBER/$GITHUB_RUN_ATTEMPT
- name: Upload jar
uses: actions/upload-artifact@v4
with:
name: oppijanumerorekisteri-jar
path: oppijanumerorekisteri-service/target/oppijanumerorekisteri-service-*SNAPSHOT.jar
deploy-oppijanumerorekisteri-container:
needs: [build-oppijanumerorekisteri]
uses: Opetushallitus/.github/.github/workflows/push-scan-java-ecr.yml@main
with:
application: oppijanumerorekisteri
base-image: baseimage-fatjar-openjdk21:master
configfolder: oppijanumerorekisteri-service/src/main/resources/config
jarfile: oppijanumerorekisteri-service-*SNAPSHOT
jarfolder: .
type: jar
download-artifact: true
download-artifact-name: oppijanumerorekisteri-jar
secrets:
AWS_UTILITY_ROLE_ARN: ${{ secrets.AWS_OPH_UTILITY_ROLE_ARN }}
deploy-oppijanumerorekisteri-artifacts:
needs: [build-oppijanumerorekisteri]
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'corretto'
cache: 'maven'
- name: Maven version
run: ./mvnw --version
- name: Deploy
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: |
git clone https://github.com/Opetushallitus/ci-tools.git
source ci-tools/common/setup-tools.sh
./mvnw deploy -pl oppijanumerorekisteri-api -am -DskipTests --settings ci-tools/common/maven-settings.xml
build-henkilo-ui:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: "21"
distribution: "corretto"
cache: "maven"
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: "20.x"
cache: "npm"
cache-dependency-path: henkilo-ui/src/main/static/package-lock.json
- name: Cache playwright browsers
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-pw-browsers
restore-keys: ${{ runner.os }}-pw-browsers
- name: Build frontend
working-directory: henkilo-ui/src/main/static
run: |
npm ci
npm run lint
npm run prettier
npm run e2e:install-deps
CI=true npm run e2e:ci
npm run build
- name: Upload e2e test artifact
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-results
path: henkilo-ui/src/main/static/playwright-results
retention-days: 10
- name: Build backend
working-directory: henkilo-ui
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mvn clean install -B -Dbranch=$GITHUB_REF_NAME -Drevision=$GITHUB_SHA -DbuildNumber=$GITHUB_RUN_NUMBER/$GITHUB_RUN_ATTEMPT