-
Notifications
You must be signed in to change notification settings - Fork 25
156 lines (148 loc) · 4.27 KB
/
ci.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
154
155
156
name: Test Frontend and backend
# This workflow is triggered on pushes to the repository.
on:
push:
branches:
- master
- renovate/*
pull_request:
jobs:
lint:
name: lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install Dependencies
run: npm ci
- name: Lint
run: npm run lint
test-bundlesize:
name: test bundlesize
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install php
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: mbstring, zip
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install node modules
run: npm ci
- name: Run tests
run: npm run test:bundlesize
test-csp-header:
name: test CSP in .htaccess
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install node modules
run: npm ci
- name: Run tests
run: npm run test:csp-header
test-chrome:
name: test against Chrome
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install node modules
run: npm ci
- 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: npm run build --environment test
- name: run tests in chrome
run: npm run test:ember --launch Chrome --path dist
test-firefox:
name: test against Firefox
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install node modules
run: npm ci
- name: Setup firefox
uses: browser-actions/setup-firefox@latest
with:
firefox-version: 102.0.1
- name: Build with test environment
env:
CI: true
run: npm run build --environment test
- name: run tests in firefox
run: npm run test:ember --launch Firefox --path dist
test-browserstack:
name: test against additional browser in BrowserStack
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install node modules
run: npm ci
- name: Build with test environment
env:
CI: true
run: npm run 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: npm run 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', '8.3']
steps:
- name: Checkout repository files
uses: actions/checkout@v4
- 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