Skip to content

Commit 28b40e0

Browse files
authored
Merge pull request #5787 from nhsuk/next
Version 6.12
2 parents fc62a94 + 5ef6886 commit 28b40e0

166 files changed

Lines changed: 1790 additions & 1187 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/create_dockerized_db.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ permissions:
1616
id-token: write
1717
contents: read
1818

19-
env:
20-
github_ref: ${{ inputs.github_ref || github.ref_name == 'next' && 'next' || github.ref_name }}
21-
2219
jobs:
2320
setup-development-database:
2421
name: Setup Development Database
@@ -34,7 +31,7 @@ jobs:
3431
steps:
3532
- uses: actions/checkout@v6
3633
with:
37-
ref: ${{ env.github_ref }}
34+
ref: ${{ inputs.github_ref || github.ref_name == 'next' && 'next' || github.ref_name }}
3835
repository: nhsuk/manage-vaccinations-in-schools
3936
- uses: actions/setup-node@v6
4037
with:
@@ -75,8 +72,13 @@ jobs:
7572
- name: Login to ECR
7673
id: login-ecr
7774
uses: aws-actions/amazon-ecr-login@v2
75+
- name: get github ref short
76+
id: github-ref
77+
run: |
78+
git_ref=$(git rev-parse ${{ inputs.github_ref || github.ref_name == 'next' && 'origin/next' || github.ref_name }} )
79+
echo "ref=$git_ref" >> $GITHUB_OUTPUT
7880
- name: Commit postgres container with database
7981
run: |
80-
docker commit database "${{ steps.login-ecr.outputs.registry }}/mavis/development/postgres_db:$github_ref"
82+
docker commit database "${{ steps.login-ecr.outputs.registry }}/mavis/development/postgres_db:${{ steps.github-ref.outputs.ref }}"
8183
- name: Push image
82-
run: docker push "${{ steps.login-ecr.outputs.registry }}/mavis/development/postgres_db:$github_ref"
84+
run: docker push "${{ steps.login-ecr.outputs.registry }}/mavis/development/postgres_db:${{ steps.github-ref.outputs.ref }}"

.github/workflows/end-to-end-tests.yml

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
description: The environment to build the base image against
1313
type: string
1414
required: false
15-
default: "origin/next"
15+
default: "next"
1616
secrets:
1717
HTTP_AUTH_TOKEN_FOR_TESTS:
1818
description: HTTP Basic Auth token for the environment under test
@@ -30,7 +30,7 @@ on:
3030
description: The environment to build the base image against
3131
type: string
3232
required: false
33-
default: "origin/next"
33+
default: "next"
3434

3535
permissions: { }
3636

@@ -42,7 +42,7 @@ jobs:
4242
steps:
4343
- uses: actions/checkout@v6
4444
with:
45-
ref: ${{ inputs.git_reference_for_application_image || github.event.pull_request.head.sha || github.sha }}
45+
ref: ${{ github.event.pull_request.head.sha }}
4646
repository: nhsuk/manage-vaccinations-in-schools
4747
- name: Check if end-to-end tests need to run
4848
id: check
@@ -56,16 +56,24 @@ jobs:
5656
id-token: write
5757
outputs:
5858
build-needed: ${{ steps.check-image.outputs.build-needed }}
59+
application-image-git-ref: ${{ steps.check-image.outputs.GIT_REF_SHA }}
5960
steps:
6061
- name: Configure AWS Credentials
6162
uses: aws-actions/configure-aws-credentials@v5
6263
with:
6364
role-to-assume: arn:aws:iam::393416225559:role/GitHubAssuranceTestRole
6465
aws-region: eu-west-2
66+
- uses: actions/checkout@v6
67+
with:
68+
fetch-depth: 0
6569
- name: Check if image exists
6670
id: check-image
71+
env:
72+
GIT_REF: ${{ (inputs.git_reference_for_application_image == 'next' && 'origin/next') || github.event.pull_request.head.sha || github.sha }}
6773
run: |
68-
if aws ecr describe-images --repository-name mavis/development --image-ids imageTag=${{ inputs.git_reference_for_application_image || github.event.pull_request.head.sha || github.sha }} > /dev/null 2>&1; then
74+
GIT_REF_SHA=$(git rev-parse $GIT_REF)
75+
echo "GIT_REF_SHA=$GIT_REF_SHA" >> $GITHUB_OUTPUT
76+
if aws ecr describe-images --repository-name mavis/development --image-ids imageTag=$GIT_REF_SHA > /dev/null 2>&1; then
6977
echo "Docker image with given tag already exists"
7078
echo "build-needed=false" >> $GITHUB_OUTPUT
7179
else
@@ -82,7 +90,7 @@ jobs:
8290
- name: Checkout code
8391
uses: actions/checkout@v6
8492
with:
85-
ref: ${{ inputs.git_reference_for_application_image || github.event.pull_request.head.sha || github.sha }}
93+
ref: ${{ needs.check-development-image-presence.outputs.application-image-git-ref }}
8694
repository: nhsuk/manage-vaccinations-in-schools
8795
- name: Configure AWS Credentials
8896
uses: aws-actions/configure-aws-credentials@v5
@@ -97,16 +105,17 @@ jobs:
97105
docker build \
98106
--build-arg BUNDLE_WITHOUT=test \
99107
--build-arg RAILS_ENV=development \
100-
-t "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ github.sha }}" \
108+
-t "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ needs.check-development-image-presence.outputs.application-image-git-ref }}" \
101109
.
102-
docker push "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ github.sha }}"
110+
docker push "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ needs.check-development-image-presence.outputs.application-image-git-ref }}"
103111
check-database-image-presence:
104112
name: Check if database docker image already exists
105113
runs-on: ubuntu-latest
106114
permissions:
107115
id-token: write
108116
outputs:
109117
build-needed: ${{ steps.check-image.outputs.build-needed }}
118+
db_git_ref_sha: ${{ steps.check-image.outputs.GIT_REF_SHA }}
110119
steps:
111120
- name: Configure AWS Credentials
112121
uses: aws-actions/configure-aws-credentials@v5
@@ -119,9 +128,11 @@ jobs:
119128
- name: Check if image exists
120129
id: check-image
121130
env:
122-
GIT_REF: ${{ inputs.git_reference_for_database_image || (github.event_name == 'pull_request' && github.event.pull_request.base.sha) || github.sha }}
131+
GIT_REF: ${{ ( inputs.git_reference_for_database_image == 'next' && 'origin/next' ) || github.event.pull_request.base.sha || github.sha }}
123132
run: |
124-
if aws ecr describe-images --repository-name mavis/development --image-ids imageTag=$GIT_REF > /dev/null 2>&1; then
133+
GIT_REF_SHA=$(git rev-parse $GIT_REF)
134+
echo "GIT_REF_SHA=$GIT_REF_SHA" >> $GITHUB_OUTPUT
135+
if aws ecr describe-images --repository-name mavis/development --image-ids imageTag=$GIT_REF_SHA > /dev/null 2>&1; then
125136
echo "Docker image with given tag already exists"
126137
echo "build-needed=false" >> $GITHUB_OUTPUT
127138
else
@@ -136,7 +147,7 @@ jobs:
136147
contents: read
137148
uses: ./.github/workflows/create_dockerized_db.yml
138149
with:
139-
github_ref: ${{ inputs.git_reference_for_database_image }}
150+
github_ref: ${{ needs.check-database-image-presence.outputs.db_git_ref_sha }}
140151
launch-dockerized-devimage:
141152
needs: [ check-development-image-presence,
142153
build-and-push-development-image,
@@ -166,28 +177,27 @@ jobs:
166177
with:
167178
task-definition-family: "assurance-testing-mavis-development-task-definition-template"
168179
container-name: "mavis-development-web"
169-
image: "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ github.sha }}"
180+
image: "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ needs.check-development-image-presence.outputs.application-image-git-ref }}"
170181
- name: Render task definition database
171182
id: render-task-definition-database
172183
uses: aws-actions/amazon-ecs-render-task-definition@v1
173184
with:
174185
task-definition: ${{ steps.render-task-definition-web.outputs.task-definition }}
175186
container-name: "mavis-development-db"
176-
image: "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development/postgres_db:${{ github.event.pull_request.base.ref }}"
187+
image: "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development/postgres_db:${{ needs.check-database-image-presence.outputs.db_git_ref_sha }}"
177188
- name: Render task definition sidekiq
178189
id: render-task-definition-sidekiq
179190
uses: aws-actions/amazon-ecs-render-task-definition@v1
180191
with:
181192
task-definition: ${{ steps.render-task-definition-database.outputs.task-definition }}
182193
container-name: "mavis-development-sidekiq"
183-
image: "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ github.sha }}"
194+
image: "393416225559.dkr.ecr.eu-west-2.amazonaws.com/mavis/development:${{ needs.check-development-image-presence.outputs.application-image-git-ref }}"
184195
- name: Prepare deployment
185196
id: prepare-deployment
186197
run: |
187198
file_path="assurance-testing-mavis-development-task-definition.json"
188199
family_name="assurance-testing-mavis-development-task-definition"
189200
echo "$(jq --arg f "$family_name" '.family = $f' "${{ steps.render-task-definition-sidekiq.outputs.task-definition }}")" > "$file_path"
190-
cat "$file_path" #TODO: Debugging, remove later
191201
192202
subnet_id=$(aws ec2 describe-subnets --filters Name=tag:Name,Values=assurance-testing-subnet --query 'Subnets[0].SubnetId' --output text)
193203
security_group_id=$(aws ec2 describe-security-groups --filters Name=group-name,Values=assurance-testing-mavis-development-sg --query 'SecurityGroups[0].GroupId' --output text)

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ gem "omniauth_openid_connect"
5252
gem "omniauth-rails_csrf_protection"
5353
gem "pagy"
5454
gem "phonelib"
55+
gem "prometheus_exporter",
56+
github: "discourse/prometheus_exporter",
57+
branch: "main" #TODO: replace with version > 2.3.1 when released
5558
gem "pstore"
5659
gem "pundit"
5760
gem "rails_semantic_logger"

Gemfile.lock

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
GIT
22
remote: https://github.com/alphagov/rubocop-govuk.git
3-
revision: a6d2aedf0262e633076d23b47069957f843f6e52
3+
revision: 58ff3290bf5c267d0228d0910fa0bc92a405ec81
44
branch: main
55
specs:
66
rubocop-govuk (5.1.20)
@@ -18,6 +18,14 @@ GIT
1818
capybara_accessible_selectors (0.15.0)
1919
capybara (~> 3.36)
2020

21+
GIT
22+
remote: https://github.com/discourse/prometheus_exporter.git
23+
revision: ddf5c9b5446bd66b39390a6e07d4660ebca56d41
24+
branch: main
25+
specs:
26+
prometheus_exporter (2.3.1)
27+
webrick
28+
2129
GIT
2230
remote: https://github.com/tvararu/audited.git
2331
revision: e089773f10f8ef5e5e92a2052a2fea55f83091d2
@@ -128,7 +136,7 @@ GEM
128136
ast (2.4.3)
129137
attr_required (1.0.2)
130138
aws-eventstream (1.4.0)
131-
aws-partitions (1.1202.0)
139+
aws-partitions (1.1205.0)
132140
aws-sdk-accessanalyzer (1.84.0)
133141
aws-sdk-core (~> 3, >= 3.241.3)
134142
aws-sigv4 (~> 1.5)
@@ -140,7 +148,7 @@ GEM
140148
bigdecimal
141149
jmespath (~> 1, >= 1.6.1)
142150
logger
143-
aws-sdk-ec2 (1.589.0)
151+
aws-sdk-ec2 (1.590.0)
144152
aws-sdk-core (~> 3, >= 3.241.3)
145153
aws-sigv4 (~> 1.5)
146154
aws-sdk-ecr (1.118.0)
@@ -152,7 +160,7 @@ GEM
152160
aws-sdk-kms (1.120.0)
153161
aws-sdk-core (~> 3, >= 3.241.3)
154162
aws-sigv4 (~> 1.5)
155-
aws-sdk-rds (1.304.0)
163+
aws-sdk-rds (1.305.0)
156164
aws-sdk-core (~> 3, >= 3.241.3)
157165
aws-sigv4 (~> 1.5)
158166
aws-sdk-s3 (1.211.0)
@@ -170,7 +178,7 @@ GEM
170178
bigdecimal (4.0.1)
171179
bindata (2.5.1)
172180
bindex (0.8.1)
173-
bootsnap (1.21.0)
181+
bootsnap (1.21.1)
174182
msgpack (~> 1.2)
175183
brakeman (7.1.2)
176184
racc
@@ -452,7 +460,7 @@ GEM
452460
parallel (1.27.0)
453461
parallel_tests (5.5.0)
454462
parallel
455-
parser (3.3.10.0)
463+
parser (3.3.10.1)
456464
ast (~> 2.4.1)
457465
racc
458466
pg (1.6.3-arm64-darwin)
@@ -547,7 +555,7 @@ GEM
547555
ffi (~> 1.0)
548556
rbs (3.10.2)
549557
logger
550-
rdoc (7.0.3)
558+
rdoc (7.1.0)
551559
erb
552560
psych (>= 4.0.0)
553561
tsort
@@ -646,14 +654,14 @@ GEM
646654
securerandom (0.4.1)
647655
semantic_logger (4.17.0)
648656
concurrent-ruby (~> 1.0)
649-
sentry-rails (6.2.0)
657+
sentry-rails (6.3.0)
650658
railties (>= 5.2.0)
651-
sentry-ruby (~> 6.2.0)
652-
sentry-ruby (6.2.0)
659+
sentry-ruby (~> 6.3.0)
660+
sentry-ruby (6.3.0)
653661
bigdecimal
654662
concurrent-ruby (~> 1.0, >= 1.0.2)
655-
sentry-sidekiq (6.2.0)
656-
sentry-ruby (~> 6.2.0)
663+
sentry-sidekiq (6.3.0)
664+
sentry-ruby (~> 6.3.0)
657665
sidekiq (>= 5.0)
658666
shoulda-matchers (7.0.1)
659667
activesupport (>= 7.1)
@@ -852,6 +860,7 @@ DEPENDENCIES
852860
pg
853861
phonelib
854862
prettier_print
863+
prometheus_exporter!
855864
propshaft
856865
pry-rails
857866
pstore
-16.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)