-
Notifications
You must be signed in to change notification settings - Fork 4
56 lines (52 loc) · 1.86 KB
/
pull_request.yaml
File metadata and controls
56 lines (52 loc) · 1.86 KB
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
name: Pull request test
on:
push:
branches:
- workflows
jobs:
k8s-tests:
name: Collect test cases
runs-on: ubuntu-latest
outputs:
tests: ${{ steps.event.outputs.tests }}
steps:
- name: Checkout to pull request branch
uses: actions/checkout@v2
- id: file_changes
uses: jitterbit/get-changed-files@v1
continue-on-error: true
with:
format: 'json'
# Create event to generate ouput of comma separated test files only
- id: event
run: |
test_files=`python3 -c 'print(",".join([file for file in ${{ steps.file_changes.outputs.all }} if ".test.ts" in file]))'`
echo "::set-output name=tests::$test_files"
k8s:
name: Run collected tests
needs: k8s-tests
if: ${{ needs.k8s-tests.outputs.tests }}
runs-on: ubuntu-latest
steps:
- name: Print application URL
env:
ROUTE: http://mtr-mtr.apps.mig14.cnv-qe.rhcloud.com
run: |
[[ -n ${{ env.ROUTE }} ]] || (echo "Determining application route failed in previous step"; exit 1)
echo
echo "======================== Your application is available at: ========================"
echo ${{ env.ROUTE }}
echo "==================================================================================="
echo
- name: Checkout to pull request branch
uses: actions/checkout@v2
# Install NPM dependencies
- name: Install NPM
run: npm install .
- name: Run cypress test cases
run: npx cypress run --spec ${{ needs.k8s-tests.outputs.tests }} --env user="admin",pass="password",windupUrl="http://mtr-mtr.apps.mig14.cnv-qe.rhcloud.com"
- uses: actions/upload-artifact@v1
if: failure()
with:
name: minikube-tests-screenshots
path: cypress/screenshots