-
Notifications
You must be signed in to change notification settings - Fork 24
153 lines (152 loc) · 4.46 KB
/
test-workflow.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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: Test Frontend and backend
# This workflow is triggered on pushes to the repository.
on:
push:
branches:
- master
pull_request:
jobs:
lint-javascript:
name: lint javascript
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Install node modules
run: yarn install
- name: Run lint
run: yarn lint:js
lint-templates:
name: lint ember templates
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Install node modules
run: yarn install
- name: Run lint
run: yarn lint:hbs
test-bundlesize:
name: test bundlesize
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install php
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: mbstring, zip
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Install node modules
run: yarn install
- name: Run tests
run: yarn test:bundlesize
test-csp-header:
name: test CSP in .htaccess
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Install node modules
run: yarn install
- name: Run tests
run: yarn test:csp-header
test-chrome:
name: test against Chrome
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Install node modules
run: yarn install
- name: Install chrome browser
run: |
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
- name: Build with test environment
env:
CI: true
run: yarn build --environment test
- name: run tests in chrome
run: yarn test:ember --launch Chrome --path dist
test-firefox:
name: test against Firefox
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Install node modules
run: yarn install
- name: Setup firefox
uses: browser-actions/setup-firefox@latest
with:
firefox-version: 102.0.1
- name: Build with test environment
env:
CI: true
run: yarn build --environment test
- name: run tests in firefox
run: yarn test:ember --launch Firefox --path dist
test-browserstack:
name: test against additional browser in BrowserStack
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Install node modules
run: yarn install
- name: Build with test environment
env:
CI: true
run: yarn build --environment test
- name: 'BrowserStack Env Setup'
uses: 'browserstack/github-actions/setup-env@master'
with:
username: 'jeldrikhanschke1'
access-key: 'xaM9Uxurv2GyxFLKQXgj'
- name: 'Start BrowserStackLocal Tunnel'
uses: 'browserstack/github-actions/setup-local@master'
with:
local-testing: 'start'
local-logging-level: 'all-logs'
local-identifier: 'random'
- name: 'Running test on BrowserStack'
run: yarn test:ember --config-file testem.browserstack.js --path dist
- name: 'BrowserStackLocal Stop'
uses: browserstack/github-actions/setup-local@master
with:
local-testing: stop
test-backend:
name: Test php backend
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2']
steps:
- name: Checkout repository files
uses: actions/checkout@v3
- name: Install php
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, zip
- name: Install php dependencies
run: composer install
working-directory: ./api
- name: Run backend tests
run: ./vendor/bin/codecept run
working-directory: ./api