-
Notifications
You must be signed in to change notification settings - Fork 13
87 lines (71 loc) · 2.57 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
name: test
on: [ push, pull_request ]
env:
MAVEN_OPTS: -Xmx1024M -Xss128M
GECKODRIVER_VERSION: 0.27.0
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: 17
distribution: temurin
- name: Fetch Geckodriver cache
id: geckodriver-cache
uses: actions/cache@v2
with:
path: ~/geckodriver
key: ${{ env.GECKODRIVER_VERSION }}
- name: Fetch Geckodriver
if: steps.geckodriver-cache.outputs.cache-hit != 'true'
run: |
mkdir ~/geckodriver
curl -L https://github.com/mozilla/geckodriver/releases/download/v${GECKODRIVER_VERSION}/geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz | \
tar -C ~/geckodriver/ -xzvf-
- name: Set up test dependencies
run: |
# PPA by Mozilla for ESR releases
# replace 'sudo add-apt-repository ppa:mozillateam/ppa' with simple commands as workaround for https://github.com/orgs/community/discussions/69720
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0AB215679C571D1C8325275B9BDB3D89CE49EC21
sudo add-apt-repository "deb https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/ focal main"
sudo apt update
sudo apt install firefox-esr chromium-browser chromium-chromedriver dbus-x11
# Selenium wants to run non-ESR FF
sudo rm -rf /usr/lib/firefox/
sudo ln -s firefox-esr /usr/lib/firefox
sudo ln -s firefox-esr /usr/lib/firefox/firefox
firefox --version
~/geckodriver/geckodriver --version
echo "${HOME}/geckodriver" >> $GITHUB_PATH
- name: Restore Maven cache
uses: skjolber/maven-cache-github-action@v1
with:
step: restore
- name: Build
run: |
export $(dbus-launch)
mkdir ~/tmp
export TMPDIR=~/tmp
export FIREFOX_BIN=$(which firefox-esr)
export SELENIUM_BROWSER=firefox
mvn -B -Plocal-testing,!standard-with-extra-repos clean install -Dlog4j.configurationFile=$PWD/ci/log4j2.xml -T2
mvn -P!standard-with-extra-repos -B javadoc:javadoc
- name: Upload logs on build failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-results
path: |
./**/surefire-reports
./**/failsafe-reports
./**/screenshots
./**/*error*.log
./**/*test.log
- name: Save Maven cache
uses: skjolber/maven-cache-github-action@v1
with:
step: save