|
34 | 34 | - name: 'Run the unit tests' |
35 | 35 | run: prove -lrs -j4 t |
36 | 36 |
|
37 | | - webdriver_tests: |
38 | | - name: 'Webdriver Tests for ${{ matrix.browser.name }}' |
39 | | - runs-on: '${{ matrix.browser.os }}' |
40 | | - timeout-minutes: 30 |
41 | | - |
42 | | - strategy: |
43 | | - fail-fast: false |
44 | | - matrix: |
45 | | - browser: |
46 | | - - name: 'Chromium' |
47 | | - command: 'chromedriver --port=4444 &' |
48 | | - os: 'ubuntu-22.04' |
49 | | - - name: 'Firefox' |
50 | | - command: 'MOZ_HEADLESS=1 geckodriver --log warn &' |
51 | | - os: 'ubuntu-22.04' |
52 | | - |
53 | | - services: |
54 | | - postgres: |
55 | | - image: postgres |
56 | | - env: |
57 | | - POSTGRES_USER: postgres |
58 | | - POSTGRES_PASSWORD: postgrespassword |
59 | | - POSTGRES_DB: postgres |
60 | | - ports: |
61 | | - - 5432:5432 |
62 | | - |
63 | | - env: |
64 | | - GADS_USERNAME: 'test@example.com' |
65 | | - GADS_PASSWORD: 'xyz123' |
66 | | - |
67 | | - steps: |
68 | | - - name: 'Check out the GADS code' |
69 | | - uses: 'actions/checkout@v4' |
70 | | - - name: 'Install Non-CPAN dependencies' |
71 | | - run: | |
72 | | - sudo apt-get update |
73 | | - sudo apt-get install cpanminus liblua5.3-dev |
74 | | - # Avoid "Install CPAN dependencies" needing to compile so much |
75 | | - sudo apt-get install libdatetime-format-sqlite-perl libtest-most-perl libdatetime-set-perl libdbix-class-schema-loader-perl |
76 | | - - name: 'Build cpanfile' |
77 | | - run: | |
78 | | - perl bin/output_cpanfile > cpanfile |
79 | | - ( cd webdriver && perl ../bin/output_cpanfile ) >> cpanfile |
80 | | - - name: 'Install CPAN dependencies' |
81 | | - uses: 'perl-actions/install-with-cpanm@v1' |
82 | | - with: |
83 | | - cpanfile: 'cpanfile' |
84 | | - - name: 'Set up credentials for psql' |
85 | | - # See https://wiki.postgresql.org/wiki/Pgpass |
86 | | - run: | |
87 | | - echo '*:*:*:postgres:postgrespassword' > ~/.pgpass |
88 | | - chmod 600 ~/.pgpass |
89 | | - - name: 'create uploads directory' |
90 | | - run: | |
91 | | - mkdir -p /tmp/uploads |
92 | | - chmod 777 /tmp/uploads |
93 | | - - name: 'Start the application' |
94 | | - env: |
95 | | - DANCER_CONFDIR: 'webdriver' |
96 | | - PGDATABASE: 'postgres' |
97 | | - PGHOST: 'localhost' |
98 | | - PGUSER: 'postgres' |
99 | | - run: | |
100 | | - ./bin/setup_database |
101 | | - perl bin/app.pl & |
102 | | - - name: 'Run the Webdriver implementation' |
103 | | - run: '${{ matrix.browser.command }}' |
104 | | - - name: 'Run the Webdriver tests' |
105 | | - run: prove -lmrsv webdriver/t |
106 | | - |
107 | 37 | cypress_tests: |
108 | 38 | name: 'Cypress Tests for ${{ matrix.browser.name }}' |
109 | 39 | runs-on: '${{ matrix.browser.os }}' |
|
0 commit comments