@@ -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