-
Notifications
You must be signed in to change notification settings - Fork 2
138 lines (124 loc) · 4.98 KB
/
cypress.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: cypress-tests
on:
push:
branches: [c4t, dev, suite, suite-c4t]
pull_request:
branches: [c4t, dev, suite, suite-c4t]
env:
suite_image: 'europe-west3-docker.pkg.dev/pwk-c4t-dev/camino-suite-apps/camino-suite-host'
wallet_image: 'europe-west3-docker.pkg.dev/pwk-c4t-dev/camino-suite-apps/camino-suite-wallet'
jobs:
cypress-wallet:
runs-on: ubuntu-latest
strategy:
matrix:
# The node version, you can put one or many versions in here to test with
node: [16]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: get branch name
id: setBranch
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
echo "branch=${{ github.base_ref }}" >> $GITHUB_OUTPUT
else
echo "branch=${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
- name: build local image
run: |
docker-compose build --build-arg SUITE_IMAGE=${{ env.suite_image }}:${{ steps.setBranch.outputs.branch }} --build-arg WALLET_IMAGE=${{ env.wallet_image }}:${{ steps.setBranch.outputs.branch }}
export SUITE_IMAGE=${{ env.suite_image }}:${{ steps.setBranch.outputs.branch }}
export WALLET_IMAGE=${{ env.wallet_image }}:${{ steps.setBranch.outputs.branch }}
docker-compose up -d
docker cp camino-suite-host-container:/app/camino-suite ./
mkdir -p /home/runner/.cache
docker cp camino-suite-host-container:/root/.cache/Cypress /home/runner/.cache/
- name: cypress-run
uses: cypress-io/github-action@v5
env:
USE_HTTP: true
with:
wait-on: 'http://localhost:5001/, http://localhost:5002/, http://localhost:5003/'
working-directory: camino-suite
# wait for 3 minutes for the server to respond
wait-on-timeout: 180
browser: chrome
headless: true
config-file: cypress.config.ts
env: grepTags=@wallet
# These extract all artifacts out from the container to git so they can be previewed
- name: extract screenshots to git
uses: actions/upload-artifact@v3
if: failure()
with:
name: cypress-screenshots
path: camino-suite/cypress/screenshots
# Test run video was always captured, so this action uses "always()" condition
- name: extract videos to git
uses: actions/upload-artifact@v3
if: always()
with:
name: cypress-videos
path: camino-suite/cypress/videos
cypress-explorer:
runs-on: ubuntu-latest
strategy:
matrix:
# The node version, you can put one or many versions in here to test with
node: [16]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: get branch name
id: setBranch
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
echo "branch=${{ github.base_ref }}" >> $GITHUB_OUTPUT
else
echo "branch=${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
- name: build local image
run: |
docker-compose build --build-arg SUITE_IMAGE=${{ env.suite_image }}:${{ steps.setBranch.outputs.branch }} --build-arg WALLET_IMAGE=${{ env.wallet_image }}:${{ steps.setBranch.outputs.branch }}
export SUITE_IMAGE=${{ env.suite_image }}:${{ steps.setBranch.outputs.branch }}
export WALLET_IMAGE=${{ env.wallet_image }}:${{ steps.setBranch.outputs.branch }}
docker-compose up -d
docker cp camino-suite-host-container:/app/camino-suite ./
mkdir -p /home/runner/.cache
docker cp camino-suite-host-container:/root/.cache/Cypress /home/runner/.cache/
- name: cypress-run
uses: cypress-io/github-action@v5
env:
USE_HTTP: true
with:
wait-on: 'http://localhost:5001/, http://localhost:5002/, http://localhost:5003/'
working-directory: camino-suite
# wait for 3 minutes for the server to respond
wait-on-timeout: 180
browser: chrome
headless: true
config-file: cypress.config.ts
env: grepTags=@explorer
# These extract all artifacts out from the container to git so they can be previewed
- name: extract screenshots to git
uses: actions/upload-artifact@v3
if: failure()
with:
name: cypress-screenshots
path: camino-suite/cypress/screenshots
# Test run video was always captured, so this action uses "always()" condition
- name: extract videos to git
uses: actions/upload-artifact@v3
if: always()
with:
name: cypress-videos
path: camino-suite/cypress/videos