-
Notifications
You must be signed in to change notification settings - Fork 0
140 lines (137 loc) · 5.09 KB
/
testing.js.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
135
136
137
138
name: Testing
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
testing:
name: Cypress tests of ladybug + Frank!Framework
runs-on: ubuntu-latest
steps:
- name: Checkout Frank!Runner
uses: actions/checkout@v4
with:
repository: wearefrank/frank-runner
path: frank-runner
- name: See commit number of checked-out frank-runner
run: git log -1
working-directory: frank-runner
- name: Set port where Frank!Framework is served
run: echo "tomcat.connector.port=8090" > frank-runner/build.properties
- name: Set debug to true
run: echo "debug=true" >> frank-runner/build.properties
- name: Checkout ladybug-ff-cypress-test
uses: actions/checkout@v4
with:
path: ladybug-ff-cypress-test
- name: Copy cypress.config_cicd.ts to cypress.config.ts to listen to correct port
run: cp cypress.config_cicd.ts cypress.config.ts
working-directory: ladybug-ff-cypress-test
- name: Use Node.js 20.x
uses: actions/setup-node@v2
with:
node-version: 20.x
cache: "yarn"
cache-dependency-path: "**/yarn.lock"
- name: Update yarn
run: corepack enable
working-directory: "ladybug-ff-cypress-test"
- name: Show node version
run: node -v
working-directory: "ladybug-ff-cypress-test"
- name: Show yarn version
run: yarn -v
working-directory: "ladybug-ff-cypress-test"
- name: Install packages
run: yarn install --immutable
working-directory: ladybug-ff-cypress-test
- name: Cache Frank!Runner dependencies - build
uses: actions/cache@v3
with:
path: frank-runner/build
key: ${{ runner.os }}-frank-runner-build
restore-keys: |
${{ runner.os }}-frank-runner-build
- name: Cache Frank!Runner dependencies - download
uses: actions/cache@v3
with:
path: frank-runner/download
key: ${{ runner.os }}-frank-runner-download
restore-keys: |
${{ runner.os }}-frank-runner-download
- name: Show current time, allows you to check that logs are not old
run: date
- name: Let Frank!Runner do its downloads
run: yarn run installFrankRunnerEnv
working-directory: ladybug-ff-cypress-test
- name: Remove old Tomcat versions - download
run: rm -rf download/apache-tomcat-9*
working-directory: frank-runner
- name: Remove old Tomcat versions - build
run: rm -rf build/apache-tomcat-9*
working-directory: frank-runner
- name: Show apache-tomcat directories
run: find . -path './build/*' -name 'apache-tomcat*'
working-directory: frank-runner
- name: Check that there is only one version of Tomcat
run: test $(find . -path './build/*' -name 'apache-tomcat*' | wc -w) -eq 1
working-directory: frank-runner
- name: Delete old Ladybug test reports
run: find . -path './build/apache-tomcat*/logs/testtool*' -delete
working-directory: frank-runner
- name: Remove old catalina.out
run: find . -path './build/apache-tomcat*/catalina.out' -delete
working-directory: frank-runner
- name: Start server using Frank!Runner in background
run: yarn run startServer &
working-directory: ladybug-ff-cypress-test
- name: Wait for server to be available
run: ./waitForUrl.sh http://localhost:8090 240
working-directory: ladybug-ff-cypress-test/.github/workflows
- name: Run the tests
run: yarn batch
working-directory: ladybug-ff-cypress-test
- name: Try to access server directly with curl
run: curl -v -i -X DELETE http://localhost:8090/iaf/ladybug/api/report/all/Test
if: always()
- name: Show files
run: tree -L 5 .
if: always()
- name: Store log of Frank!Runner downloads
uses: actions/upload-artifact@v3
if: always()
with:
name: installFrankRunnerEnv.log
path: frank-runner/installFrankRunnerEnv.log
- name: Store log of starting the server with the Frank!Runner
uses: actions/upload-artifact@v3
if: always()
with:
name: serverStartLog.log
path: frank-runner/serverStartLog.log
- name: Store build.properties
uses: actions/upload-artifact@v3
if: always()
with:
name: build.properties
path: frank-runner/build.properties
- name: Store Apache Tomcat log
uses: actions/upload-artifact@v3
if: always()
with:
name: logs
path: frank-runner/build/*/logs/*
- name: Store Cypress screenshots
uses: actions/upload-artifact@v2
if: always()
with:
name: screenshots
path: ladybug-ff-cypress-test/cypress/screenshots/
- name: Store Cypress videos
uses: actions/upload-artifact@v2
if: always()
with:
name: videos
path: ladybug-ff-cypress-test/cypress/videos/