-
Notifications
You must be signed in to change notification settings - Fork 0
129 lines (109 loc) · 3.7 KB
/
main.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
name: Regression
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
linux_os:
name: ${{ matrix.os }} (${{ matrix.browser }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
browser: [chrome, edge, firefox]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Checkout ${{ github.repository }} repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn'
- name: Install Edge browser
if: matrix.browser == 'edge'
run: |
curl -L https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-beta.list'
sudo rm microsoft.gpg
sudo apt-get -qq update
sudo apt-get -qq install -o=Dpkg::Use-Pty=0 microsoft-edge-beta
sudo apt-get -yq autoremove
- name: Install Firefox browser
if: matrix.browser == 'firefox'
run: |
wget -qO ~/Firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64"
sudo tar xvf ~/Firefox.tar.bz2 -C /opt/
sudo ln -svf /opt/firefox/firefox /usr/bin/
- name: Install dependencies
run: yarn install --frozen-lockfile
env:
DEBUG: pw:install
- name: Run Cypress tests
run: yarn cy:run --headless -b ${{ matrix.browser }}
mac_os:
name: ${{ matrix.os }} (${{ matrix.browser }})
strategy:
fail-fast: false
matrix:
os: [macos-13]
browser: [chrome, edge, firefox]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Checkout ${{ github.repository }} repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn'
- name: Install Edge browser
if: matrix.browser == 'edge'
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install --cask microsoft-edge
brew autoremove && brew cleanup
- name: Install dependencies
run: yarn install --frozen-lockfile
env:
DEBUG: pw:install
- name: Run Cypress tests
run: yarn cy:run --headless -b ${{ matrix.browser }}
windows_os:
name: ${{ matrix.os }} (${{ matrix.browser }})
strategy:
fail-fast: false
matrix:
os: [windows-2022]
browser: [chrome, edge, firefox]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Checkout ${{ github.repository }} repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
env:
DEBUG: pw:install
- name: Run Cypress tests
run: yarn cy:run --headless -b ${{ matrix.browser }}
shell: bash