Skip to content

Commit 9a0a8ce

Browse files
committed
chore: cleanup ECR login logic
1 parent 2fa40cd commit 9a0a8ce

File tree

10 files changed

+66
-85
lines changed

10 files changed

+66
-85
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
# Login to AWS ECR
3+
name: "aws_ecr_login"
4+
description: "Login to AWS ECR to store Docker containers"
5+
inputs:
6+
aws_account_id:
7+
description: AWS account ID (AWS_ACCOUNT_ID)
8+
required: true
9+
aws_access_key_id:
10+
description: Access key ID (AWS_ACCESS_KEY_ID)
11+
required: true
12+
aws_secret_access_key:
13+
description: Secret access key (AWS_SECRET_ACCESS_KEY)
14+
required: true
15+
aws_region:
16+
description: AWS region to use (AWS_REGION)
17+
required: true
18+
19+
runs:
20+
using: composite
21+
steps:
22+
- name: Configure AWS credentials and bucket region
23+
uses: aws-actions/configure-aws-credentials@v4
24+
with:
25+
aws-access-key-id: ${{ inputs.aws_access_key_id }}
26+
aws-secret-access-key: ${{ inputs.aws_secret_access_key }}
27+
aws-region: ${{ inputs.aws_region }}
28+
29+
- name: Login to ECR
30+
run: |
31+
aws ecr get-login-password \
32+
--region ${{ inputs.aws_region }} | docker login --username AWS --password-stdin ${{ inputs.aws_account_id }}.dkr.ecr.${{ inputs.aws_region }}.amazonaws.com
33+
shell: bash
34+
35+
# Unset AWS credentials to avoid conflicts, as we prefer credentials from ~/.aws/credentials to authenticate
36+
- name: Unset AWS credentials to avoid conflicts
37+
shell: bash
38+
run: |
39+
echo AWS_DEFAULT_REGION='' >> $GITHUB_ENV
40+
echo AWS_REGION='' >> $GITHUB_ENV
41+
echo AWS_ACCESS_KEY_ID='' >> $GITHUB_ENV
42+
echo AWS_SECRET_ACCESS_KEY='' >> $GITHUB_ENV

.github/actions/docker/action.yaml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -162,19 +162,6 @@ runs:
162162
secret_access_key: ${{ inputs.cache_secret_access_key }}
163163
install: false
164164

165-
# Unset AWS credentials to avoid conflicts, as we use credentials in ~/.aws/credentials generated in sccache action.
166-
- name: Unset AWS credentials to avoid conflicts
167-
shell: bash
168-
run: |
169-
if [ ! -f "$HOME/.aws/credentials" ]; then
170-
echo "Error: AWS credentials file not found"
171-
exit 1
172-
fi
173-
echo AWS_DEFAULT_REGION='' >> $GITHUB_ENV
174-
echo AWS_REGION='' >> $GITHUB_ENV
175-
echo AWS_ACCESS_KEY_ID='' >> $GITHUB_ENV
176-
echo AWS_SECRET_ACCESS_KEY='' >> $GITHUB_ENV
177-
178165
- name: Build and push Docker image ${{ inputs.image }}
179166
id: docker_build
180167
uses: docker/build-push-action@v6

.github/workflows/release.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -231,14 +231,6 @@ jobs:
231231
with:
232232
fetch-depth: 0
233233

234-
# TODO: Do we still need this?
235-
- name: Configure AWS credentials and bucket region
236-
uses: aws-actions/configure-aws-credentials@v4
237-
with:
238-
aws-region: ${{ vars.AWS_REGION }}
239-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
240-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
241-
242234
- name: Download JS build artifacts
243235
uses: actions/download-artifact@v4
244236
with:

.github/workflows/tests-build-image.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,13 @@ jobs:
2424
with:
2525
fetch-depth: 0
2626

27-
# AWS credentials only needed for ECR login
28-
- name: Configure AWS credentials and bucket region
29-
uses: aws-actions/configure-aws-credentials@v4
30-
with:
31-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
32-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
33-
aws-region: ${{ vars.AWS_REGION }}
34-
3527
- name: Login to ECR
36-
run: |
37-
aws ecr get-login-password \
38-
--region ${{ vars.AWS_REGION }} | docker login --username AWS --password-stdin ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com
39-
shell: bash
28+
uses: ./.github/actions/aws_ecr_login
29+
with:
30+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
31+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
32+
aws_region: ${{ vars.AWS_REGION }}
33+
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
4034

4135
- name: Build and push by SHA
4236
uses: ./.github/actions/docker

.github/workflows/tests-build-js.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@ jobs:
66
name: Build JS
77
runs-on: ubuntu-24.04
88
steps:
9-
# - name: Configure AWS credentials and bucket region
10-
# uses: aws-actions/configure-aws-credentials@v4
11-
# with:
12-
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
13-
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
14-
# aws-region: ${{ vars.AWS_REGION }}
15-
169
- uses: softwareforgood/check-artifact-v4-existence@v0
1710
id: check-artifact
1811
with:

.github/workflows/tests-codeql.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,6 @@ jobs:
2020
username: ${{ secrets.DOCKERHUB_USERNAME }}
2121
password: ${{ secrets.DOCKERHUB_TOKEN }}
2222

23-
# TODO do we still need this?
24-
- name: Configure AWS credentials and bucket region
25-
uses: aws-actions/configure-aws-credentials@v4
26-
with:
27-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
28-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
29-
aws-region: ${{ vars.AWS_REGION }}
30-
3123
- name: Setup Node.JS
3224
uses: ./.github/actions/nodejs
3325

.github/workflows/tests-dashmate.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,13 @@ jobs:
3131
username: ${{ secrets.DOCKERHUB_USERNAME }}
3232
password: ${{ secrets.DOCKERHUB_TOKEN }}
3333

34-
- name: Configure AWS credentials and bucket region
35-
uses: aws-actions/configure-aws-credentials@v4
34+
- name: Login to ECR
35+
uses: ./.github/actions/aws_ecr_login
3636
with:
37-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
38-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
39-
aws-region: ${{ vars.AWS_REGION }}
37+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
38+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
39+
aws_region: ${{ vars.AWS_REGION }}
40+
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
4041

4142
- name: Setup Node.JS
4243
uses: ./.github/actions/nodejs
@@ -53,7 +54,6 @@ jobs:
5354
5455
# Login to ECR
5556
DOCKER_HUB_ORG="${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com"
56-
aws ecr get-login-password --region ${{ vars.AWS_REGION }} | docker login --username AWS --password-stdin $DOCKER_HUB_ORG
5757
5858
SHA_TAG=sha-${{ github.sha }}
5959

.github/workflows/tests-js-package.yml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,6 @@ jobs:
2525
- name: Check out repo
2626
uses: actions/checkout@v4
2727

28-
- name: Configure AWS credentials and bucket region
29-
uses: aws-actions/configure-aws-credentials@v4
30-
with:
31-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
32-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
33-
aws-region: ${{ vars.AWS_REGION }}
34-
3528
- name: Setup Node.JS
3629
uses: ./.github/actions/nodejs
3730

@@ -57,14 +50,6 @@ jobs:
5750
with:
5851
fetch-depth: 0
5952

60-
# TODO: Do we still need this?
61-
- name: Configure AWS credentials and bucket region
62-
uses: aws-actions/configure-aws-credentials@v4
63-
with:
64-
aws-region: ${{ vars.AWS_REGION }}
65-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
66-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
67-
6853
- name: Setup Node.JS
6954
uses: ./.github/actions/nodejs
7055

.github/workflows/tests-packges-functional.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,13 @@ jobs:
2020
username: ${{ secrets.DOCKERHUB_USERNAME }}
2121
password: ${{ secrets.DOCKERHUB_TOKEN }}
2222

23-
- name: Configure AWS credentials and bucket region
24-
uses: aws-actions/configure-aws-credentials@v4
25-
with:
26-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
27-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
28-
aws-region: ${{ vars.AWS_REGION }}
29-
3023
- name: Login to ECR
31-
run: aws ecr get-login-password --region ${{ vars.AWS_REGION }} | docker login --username AWS --password-stdin ${{ env.ECR_HOST }}
24+
uses: ./.github/actions/aws_ecr_login
25+
with:
26+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
27+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
28+
aws_region: ${{ vars.AWS_REGION }}
29+
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
3230

3331
- name: Start local network
3432
uses: ./.github/actions/local-network

.github/workflows/tests-test-suite.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,13 @@ jobs:
3838
username: ${{ secrets.DOCKERHUB_USERNAME }}
3939
password: ${{ secrets.DOCKERHUB_TOKEN }}
4040

41-
- name: Configure AWS credentials and bucket region
42-
uses: aws-actions/configure-aws-credentials@v4
43-
with:
44-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
45-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
46-
aws-region: ${{ vars.AWS_REGION }}
47-
4841
- name: Login to ECR
49-
run: aws ecr get-login-password --region ${{ vars.AWS_REGION }} | docker login --username AWS --password-stdin ${{ env.ECR_HOST }}
42+
uses: ./.github/actions/aws_ecr_login
43+
with:
44+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
45+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
46+
aws_region: ${{ vars.AWS_REGION }}
47+
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
5048

5149
- name: Start local network
5250
uses: ./.github/actions/local-network

0 commit comments

Comments
 (0)