Skip to content

Commit 4032d99

Browse files
Updated workflow for testing
1 parent cb6f9f6 commit 4032d99

File tree

1 file changed

+77
-67
lines changed

1 file changed

+77
-67
lines changed

.github/workflows/tests.yml

Lines changed: 77 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -35,76 +35,74 @@ jobs:
3535
- name: 'Run the unit tests'
3636
run: prove -lrs -j4 t
3737

38-
# I cannot currently get this working in a container
39-
# webdriver_tests:
40-
# name: 'Webdriver Tests for ${{ matrix.browser.name }}'
41-
# runs-on: '${{ matrix.browser.os }}'
42-
# timeout-minutes: 30
38+
webdriver_tests:
39+
name: 'Webdriver Tests for ${{ matrix.browser.name }}'
40+
runs-on: '${{ matrix.browser.os }}'
41+
timeout-minutes: 30
4342

44-
# strategy:
45-
# fail-fast: false
46-
# matrix:
47-
# browser:
48-
# - name: 'Chromium'
49-
# command: 'chromedriver --port=4444 &'
50-
# os: 'ubuntu-22.04'
51-
# - name: 'Firefox'
52-
# command: 'MOZ_HEADLESS=1 geckodriver --log warn &'
53-
# os: 'ubuntu-22.04'
43+
strategy:
44+
fail-fast: false
45+
matrix:
46+
browser:
47+
- name: 'Chromium'
48+
command: 'chromedriver --port=4444 &'
49+
os: 'ubuntu-22.04'
50+
- name: 'Firefox'
51+
command: 'MOZ_HEADLESS=1 geckodriver --log warn &'
52+
os: 'ubuntu-22.04'
5453

55-
# services:
56-
# postgres:
57-
# image: postgres
58-
# env:
59-
# POSTGRES_USER: postgres
60-
# POSTGRES_PASSWORD: postgrespassword
61-
# POSTGRES_DB: postgres
62-
# ports:
63-
# - 5432:5432
54+
services:
55+
postgres:
56+
image: postgres
57+
env:
58+
POSTGRES_USER: postgres
59+
POSTGRES_PASSWORD: postgrespassword
60+
POSTGRES_DB: postgres
61+
ports:
62+
- 5432:5432
6463

65-
# env:
66-
# GADS_USERNAME: 'test@example.com'
67-
# GADS_PASSWORD: 'xyz123'
64+
env:
65+
GADS_USERNAME: 'test@example.com'
66+
GADS_PASSWORD: 'xyz123'
6867

69-
# steps:
70-
# - name: 'Check out the GADS code'
71-
# uses: 'actions/checkout@v4'
72-
# - name: 'Install dependencies'
73-
# run: |
74-
# chmod +x ./.github/workflows/install.sh
75-
# ./.github/workflows/install.sh
76-
# - name: 'Install Integration Test Dependencies'
77-
# run: |
78-
# chmod +x ./.github/workflows/install_integration.sh
79-
# ./.github/workflows/install_integration.sh
80-
# - name: 'Set up credentials for psql'
81-
# # See https://wiki.postgresql.org/wiki/Pgpass
82-
# run: |
83-
# echo '*:*:*:postgres:postgrespassword' > ~/.pgpass
84-
# chmod 600 ~/.pgpass
85-
# - name: 'create uploads directory'
86-
# run: |
87-
# mkdir -p /tmp/uploads
88-
# chmod 777 /tmp/uploads
89-
# - name: 'Start the application'
90-
# env:
91-
# DANCER_CONFDIR: 'webdriver'
92-
# PGDATABASE: 'postgres'
93-
# PGHOST: 'postgres' # to connect to the container
94-
# PGUSER: 'postgres'
95-
# run: |
96-
# ./bin/setup_database
97-
# perl bin/app.pl &
98-
# - name: 'Run the Webdriver implementation'
99-
# run: '${{ matrix.browser.command }}'
100-
# - name: 'Run the Webdriver tests'
101-
# run: prove -lmrsv webdriver/t
68+
steps:
69+
- name: 'Check out the GADS code'
70+
uses: 'actions/checkout@v4'
71+
- name: 'Install dependencies'
72+
run: |
73+
chmod +x ./.github/workflows/install.sh
74+
./.github/workflows/install.sh
75+
- name: 'Install Integration Test Dependencies'
76+
run: |
77+
chmod +x ./.github/workflows/install_integration.sh
78+
./.github/workflows/install_integration.sh
79+
- name: 'Set up credentials for psql'
80+
# See https://wiki.postgresql.org/wiki/Pgpass
81+
run: |
82+
echo '*:*:*:postgres:postgrespassword' > ~/.pgpass
83+
chmod 600 ~/.pgpass
84+
- name: 'create uploads directory'
85+
run: |
86+
mkdir -p /tmp/uploads
87+
chmod 777 /tmp/uploads
88+
- name: 'Start the application'
89+
env:
90+
DANCER_CONFDIR: 'webdriver'
91+
PGDATABASE: 'postgres'
92+
PGHOST: 'localhost' # to connect to the container
93+
PGUSER: 'postgres'
94+
run: |
95+
./bin/setup_database
96+
perl bin/app.pl &
97+
- name: 'Run the Webdriver implementation'
98+
run: '${{ matrix.browser.command }}'
99+
- name: 'Run the Webdriver tests'
100+
run: prove -lmrsv webdriver/t
102101

103102
cypress_tests:
104103
name: 'Cypress Tests for ${{ matrix.browser.name }}'
105104
runs-on: '${{ matrix.browser.os }}'
106105
timeout-minutes: 30
107-
container: debian:bookworm
108106

109107
strategy:
110108
fail-fast: false
@@ -130,21 +128,33 @@ jobs:
130128
steps:
131129
- name: 'Check out the GADS code'
132130
uses: 'actions/checkout@v4'
133-
- name: 'Install dependencies'
131+
- name: 'Install Non-CPAN dependencies'
134132
run: |
135-
chmod +x ./.github/workflows/install.sh
136-
./.github/workflows/install.sh
137-
- name: 'Install Integration Test Dependencies'
133+
sudo apt-get install cpanminus liblua5.3-dev gcc g++ libdatetime-format-sqlite-perl libtest-most-perl libdatetime-set-perl
134+
sudo apt-get install libdbix-class-schema-loader-perl libmagic-dev postgresql-client libpng-dev libssl-dev libpq-dev
135+
sudo apt-get install libjson-perl libsession-token-perl libnet-oauth2-authorizationserver-perl libtext-csv-encoded-perl
136+
sudo apt-get install libcrypt-urandom-perl libhtml-scrubber-perl libtext-markdown-perl libwww-form-urlencoded-xs-perl
137+
sudo apt-get install libstring-camelcase-perl libmail-transport-perl liblog-log4perl-perl libplack-perl libdbd-pg-perl
138+
sudo apt-get install libmail-message-perl libmath-random-isaac-xs-perl libdbix-class-helpers-perl libtree-dagnode-perl
139+
sudo apt-get install libmath-round-perl libdatetime-format-dateparse-perl libwww-mechanize-perl libdatetime-format-iso8601-perl
140+
sudo apt-get install libmoox-types-mooselike-perl libmoox-singleton-perl libdancer2-perl liblist-compare-perl
141+
sudo apt-get install liburl-encode-perl libtie-cache-perl libhtml-fromtext-perl libdata-compare-perl libfile-bom-perl
142+
sudo apt-get install libalgorithm-dependency-perl libdancer-plugin-auth-extensible-perl libfile-libmagic-perl postfix
143+
- name: 'Build cpanfile'
138144
run: |
139-
chmod +x ./.github/workflows/install_integration.sh
140-
./.github/workflows/install_integration.sh
145+
perl bin/output_cpanfile > cpanfile
146+
- name: 'Install CPAN dependencies'
147+
uses: 'perl-actions/install-with-cpanm@v1'
148+
with:
149+
cpanfile: 'cpanfile'
141150
- name: 'Set up credentials for psql'
142151
# See https://wiki.postgresql.org/wiki/Pgpass
143152
run: |
144153
echo '*:*:*:postgres:postgrespassword' > ~/.pgpass
145154
chmod 600 ~/.pgpass
146155
- name: 'Install YARN dependencies'
147156
run: |
157+
sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb
148158
yarn
149159
yarn build --no-watch
150160
- name: 'create uploads directory'

0 commit comments

Comments
 (0)