-
-
Notifications
You must be signed in to change notification settings - Fork 50
107 lines (105 loc) · 3.86 KB
/
ionic.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
name: Ionic
on: [push, pull_request]
env:
JHIPSTER_INSTALL: ${{ github.workspace }}/generator-jhipster-ionic/test-integration/install
JHIPSTER_SAMPLES: ${{ github.workspace }}/generator-jhipster-ionic/test-integration/jdl
#environment properties
TZ: America/Denver
SPRING_OUTPUT_ANSI_ENABLED: ALWAYS
SPRING_JPA_SHOW_SQL: false
NG_CLI_ANALYTICS: false
jobs:
build:
name: ${{ matrix.jdl }}
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.pull_request.title, '[skip ci]') && !contains(github.event.pull_request.title, '[ci skip]') && !contains(github.event.ref_type, '[tag]')"
timeout-minutes: 40
defaults:
run:
working-directory: ${{ github.workspace }}/backend
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
jdl:
- monolith-jwt
- monolith-oauth2
- gateway-oauth2
- reactive-oauth2
- 21-points
include:
- jdl: monolith-jwt
e2e: 1
- jdl: monolith-oauth2
e2e: 1
- jdl: gateway-oauth2
e2e: 1
- jdl: reactive-oauth2
e2e: 1
- jdl: 21-points
e2e: 1
steps:
#----------------------------------------------------------------------
# Install all tools and check configuration
#----------------------------------------------------------------------
- name: Create backend folder
run: mkdir backend
working-directory: ${{ github.workspace }}
- uses: actions/checkout@v4
with:
path: generator-jhipster-ionic
- name: Link Ionic blueprint
run: |
npm ci
npm link
working-directory: ${{ github.workspace }}/generator-jhipster-ionic
- uses: actions/setup-node@v3
with:
node-version: 18
- uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: 17
- name: Check Version
run: $JHIPSTER_INSTALL/02-checkVersion.sh
#----------------------------------------------------------------------
# Script
#----------------------------------------------------------------------
- name: Generate Project
run: 'jhipster-ionic generate-sample ${{ matrix.jdl }} --force --no-insight --skip-checks --skip-git --skip-commit-hook --skip-install --skip-jhipster-dependencies'
- name: Ionic tests
run: cat package.json; npm install; npm test
working-directory: ${{ github.workspace }}/ionic4j
- name: Build application docker image
run: npm run java:docker:prod
- name: Modify /etc/hosts
run: |
echo '127.0.0.1 keycloak' | sudo tee -a /etc/hosts
cat /etc/hosts
- name: Launch backend application
run: npm run app:up
- name: Wait for backend to start
run: npm run ci:server:await
- name: Launch ionic e2e test
id: e2e
if: ${{ matrix.e2e == 1 }}
uses: cypress-io/github-action@v6
with:
browser: chrome
command: npm run e2e:ci
working-directory: ${{ github.workspace }}/ionic4j
- name: 'E2E: Store failure screenshots'
uses: actions/upload-artifact@v3
if: always() && steps.e2e.outcome == 'failure'
with:
name: screenshots-${{ matrix.jdl }}
path: ${{ github.workspace }}/ionic4j/cypress/screenshots
- name: 'E2E: Store failure videos'
uses: actions/upload-artifact@v3
if: always() && steps.e2e.outcome == 'failure'
with:
name: videos-${{ matrix.jdl }}
path: ${{ github.workspace }}/ionic4j/cypress/videos
- name: Dump docker logs on failure
if: failure()
uses: jwalton/gh-docker-logs@v2