-
Notifications
You must be signed in to change notification settings - Fork 60
85 lines (75 loc) · 2.66 KB
/
lighthouse.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
name: Run Lighthouse Audit
on:
workflow_call:
inputs:
DOCKER_BACKEND_IMAGE_VERSION:
required: false
type: string
DOCKER_DATABASE_IMAGE_VERSION:
required: false
type: string
DOCKER_NGINX_IMAGE_VERSION:
required: false
type: string
DOCKER_FRONTEND_LIGHTHOUSE_IMAGE_VERSION:
required: false
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lhci:
name: Lighthouse
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Swap Space
uses: ./.github/actions/set-swap-space
with:
swap-size-gb: 10
- name: Add hosts to /etc/hosts
run: |
sudo echo "127.0.0.1 localhost.simplereport.gov" | sudo tee -a /etc/hosts
- name: Update files permissions
# Even though we don't use it, we need the .env file created here due to an issue similar to this one: https://github.com/mutagen-io/mutagen/issues/265
run: |
echo "::group::Update permissions"
echo FAKE_ENV="true" >> .env
sudo chmod -R 777 backend
sudo chmod -R 777 frontend
echo "::endgroup::"
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup and Run Lighthouse
env:
# CI settings
CI: 1
# docker settings
DOCKER_CLIENT_TIMEOUT: 180
COMPOSE_HTTP_TIMEOUT: 180
DOCKER_BACKEND_IMAGE_VERSION: ${{ inputs.DOCKER_BACKEND_IMAGE_VERSION }}
DOCKER_DATABASE_IMAGE_VERSION: ${{ inputs.DOCKER_DATABASE_IMAGE_VERSION }}
DOCKER_NGINX_IMAGE_VERSION: ${{ inputs.DOCKER_NGINX_IMAGE_VERSION }}
DOCKER_FRONTEND_LIGHTHOUSE_IMAGE_VERSION: ${{ inputs.DOCKER_FRONTEND_LIGHTHOUSE_IMAGE_VERSION }}
shell: bash
run: |
echo "::group::Running containers"
echo "Backend branch tag (or latest): ${{ inputs.DOCKER_BACKEND_IMAGE_VERSION }}"
echo "Database branch tag (or latest): ${{ inputs.DOCKER_DATABASE_IMAGE_VERSION }}"
echo "Nginx branch tag (or latest): ${{ inputs.DOCKER_NGINX_IMAGE_VERSION }}"
echo "Frontend branch tag (or latest): ${{ inputs.DOCKER_FRONTEND_LIGHTHOUSE_IMAGE_VERSION }}"
echo "::endgroup::"
echo "::group::Run Lighthouse locally"
bash lighthouse.sh
echo "::endgroup::"
- name: Archive Lighthouse results
uses: actions/upload-artifact@v4
if: always()
with:
name: lighthouse-results
path: lighthouse/*