Skip to content

Commit cd56531

Browse files
authored
Merge pull request #723 from CSSSR/migrate-e2e-to-github
chore(e2e): migrate e2e tests launch to github actions
2 parents 6ae83a3 + 68763da commit cd56531

File tree

5 files changed

+1606
-485
lines changed

5 files changed

+1606
-485
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Этот файл сгенерирован автоматически, не редактируйте его вручную
2+
3+
name: Run Nightwatch e2e tests
4+
concurrency: e2e-tests
5+
on:
6+
workflow_dispatch:
7+
inputs:
8+
launchUrl:
9+
description: Базовый URL сайта
10+
default: 'https://blog.csssr.com/'
11+
required: true
12+
browserName:
13+
description: Название браузера как в e2e-tools.json
14+
default: remote_chrome
15+
required: true
16+
checkScreenshots:
17+
description: Проверка скриншотов
18+
default: 'true'
19+
required: true
20+
permissions:
21+
actions: read
22+
checks: none
23+
contents: read
24+
deployments: none
25+
issues: none
26+
packages: none
27+
pull-requests: none
28+
repository-projects: none
29+
security-events: none
30+
statuses: none
31+
jobs:
32+
run-tests:
33+
name: Run tests
34+
runs-on:
35+
- self-hosted
36+
- e2e-tests
37+
timeout-minutes: 90
38+
steps:
39+
- uses: actions/checkout@v2
40+
with:
41+
lfs: true
42+
- run: yarn install --frozen-lockfile
43+
working-directory: e2e-tests
44+
- run: 'yarn et nightwatch:run --browser ${{ github.event.inputs.browserName }} --checkScreenshots=${{ github.event.inputs.checkScreenshots }}'
45+
working-directory: e2e-tests
46+
env:
47+
REMOTE_CHROME_SELENIUM_USERNAME: '${{ secrets.SELENIUM_USERNAME }}'
48+
REMOTE_CHROME_SELENIUM_PASSWORD: '${{ secrets.SELENIUM_PASSWORD }}'
49+
REMOTE_FIREFOX_SELENIUM_USERNAME: '${{ secrets.SELENIUM_USERNAME }}'
50+
REMOTE_FIREFOX_SELENIUM_PASSWORD: '${{ secrets.SELENIUM_PASSWORD }}'
51+
REMOTE_SAFARI_SELENIUM_USERNAME: '${{ secrets.SELENIUM_USERNAME }}'
52+
REMOTE_SAFARI_SELENIUM_PASSWORD: '${{ secrets.SELENIUM_PASSWORD }}'
53+
LAUNCH_URL: '${{ github.event.inputs.launchUrl }}'
54+
ENABLE_ALLURE_REPORT: 'true'
55+
- if: always()
56+
name: Generate Allure report
57+
run: node -e 'require("@csssr/e2e-tools/upload-allure-report")'
58+
working-directory: e2e-tests
59+
id: allure
60+
env:
61+
LAUNCH_URL: '${{ github.event.inputs.launchUrl }}'
62+
RUN_COMMAND: 'yarn et nightwatch:run --browser ${{ github.event.inputs.browserName }} --checkScreenshots=${{ github.event.inputs.checkScreenshots }}'
63+
ALLURE_REPORT_DIRECTORIES: 'codecept/report/allure-reports/,nightwatch/report/allure-reports/'
64+
AWS_ACCESS_KEY_ID: '${{ secrets.TEST_REPORTS_AWS_ACCESS_KEY_ID }}'
65+
AWS_SECRET_ACCESS_KEY: '${{ secrets.TEST_REPORTS_AWS_SECRET_ACCESS_KEY }}'

.github/workflows/update-e2e-tools.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ jobs:
1414
- uses: actions/checkout@v2
1515
- uses: actions/setup-node@v1
1616
with:
17-
node-version: '12.x'
17+
node-version: 14
18+
cache: yarn
1819

1920
- name: Upgrade e2e tests dependencies
2021
working-directory: e2e-tests

e2e-tests/e2e-tools.json

+11-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"tools": {
33
"@csssr/e2e-tools-nightwatch": {
4+
"githubActions": { "enabled": true },
45
"browsers": {
56
"local_chrome": {
67
"default": true,
@@ -15,10 +16,9 @@
1516
"remote": true,
1617
"type": "selenium",
1718
"url": "https://chrome.selenium.csssr.cloud/",
18-
"basicAuth": {
19-
"credentialsId": "chromedriver",
20-
"username_env": "CHROMEDRIVER_USERNAME",
21-
"password_env": "CHROMEDRIVER_PASSWORD"
19+
"seleniumBasicAuth": {
20+
"username_env": "SELENIUM_USERNAME",
21+
"password_env": "SELENIUM_PASSWORD"
2222
},
2323
"desiredCapabilities": {
2424
"browserName": "chrome",
@@ -38,10 +38,9 @@
3838
"remote": true,
3939
"type": "selenium",
4040
"url": "https://firefox.selenium.csssr.cloud",
41-
"basicAuth": {
42-
"credentialsId": "chromedriver",
43-
"username_env": "CHROMEDRIVER_USERNAME",
44-
"password_env": "CHROMEDRIVER_PASSWORD"
41+
"seleniumBasicAuth": {
42+
"username_env": "SELENIUM_USERNAME",
43+
"password_env": "SELENIUM_PASSWORD"
4544
},
4645
"desiredCapabilities": {
4746
"browserName": "firefox",
@@ -52,11 +51,10 @@
5251
"remote_safari": {
5352
"remote": true,
5453
"type": "selenium",
55-
"url": "https://safari1.selenium.csssr.cloud",
56-
"basicAuth": {
57-
"credentialsId": "chromedriver",
58-
"username_env": "CHROMEDRIVER_USERNAME",
59-
"password_env": "CHROMEDRIVER_PASSWORD"
54+
"url": "https://safari.selenium.csssr.cloud",
55+
"seleniumBasicAuth": {
56+
"username_env": "SELENIUM_USERNAME",
57+
"password_env": "SELENIUM_PASSWORD"
6058
},
6159
"desiredCapabilities": { "browserName": "safari" },
6260
"globals": { "skipScreenshotAssertions": false }

e2e-tests/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"private": true,
33
"prettier": "@csssr/e2e-tools/prettier",
44
"devDependencies": {
5-
"@csssr/e2e-tools": "~1.4.2",
6-
"@csssr/e2e-tools-nightwatch": "~1.15.5"
5+
"@csssr/e2e-tools": "~1.6.6",
6+
"@csssr/e2e-tools-nightwatch": "~1.15.14"
77
},
88
"resolutions": {
99
"netmask": ">=2.0.1"

0 commit comments

Comments
 (0)