Skip to content

Commit

Permalink
fix: test login once and use outputs
Browse files Browse the repository at this point in the history
  • Loading branch information
bredamatt committed Oct 11, 2024
1 parent abeae97 commit 62d2326
Showing 1 changed file with 31 additions and 45 deletions.
76 changes: 31 additions & 45 deletions .github/workflows/devnet-ecr-push.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,52 @@
name: 🏗️ Build and Push Docker images to devnet ECR
name: Build and Push ao/server images to ECR when raising a PR

on:
pull_request:
paths:
- 'servers/**'

jobs:
build-and-push-cu:
login:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Extract shortened commit hash
id: vars
run: echo "COMMIT_HASH=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV

- name: Log in to Amazon ECR
id: login-devnet-ecr
uses: aws-actions/amazon-ecr-login@v1
with:
mask-password: true
skip-logout: true
registry-type: private
registry: ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com
registries: ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_AO_DEVNET }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_AO_DEVNET }}
AWS_REGION: ${{ secrets.AWS_REGION_AO_DEVNET }}

build-and-push-cu:
runs-on: ubuntu-latest
env:
REGISTRY: ${{ steps.login-devnet-ecr.outputs.registry }}
REPOSITORY: devnet-ecr
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Extract shortened commit hash
id: vars
run: echo "COMMIT_HASH=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV

- name: Build and push CU Docker image
run: |
docker build -t ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com/devnet-ecr:ao-cu-$COMMIT_HASH -f servers/cu/Dockerfile servers/cu/
docker push ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com/devnet-ecr:ao-cu-$COMMIT_HASH
docker build -t $REGISTRY/$REPOSITORY:ao-cu-$COMMIT_HASH -f servers/cu/Dockerfile servers/cu/
docker push $REGISTRY/$REPOSITORY:ao-cu-$COMMIT_HASH
build-and-push-mu:
env:
REGISTRY: ${{ steps.login-devnet-ecr.outputs.registry }}
REPOSITORY: devnet-ecr
runs-on: ubuntu-latest
steps:
- name: Checkout code
Expand All @@ -50,25 +59,15 @@ jobs:
id: vars
run: echo "COMMIT_HASH=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV

- name: Log in to Amazon ECR
id: login-devnet-ecr
uses: aws-actions/amazon-ecr-login@v1
with:
mask-password: true
skip-logout: true
registry-type: private
registry: ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_AO_DEVNET }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_AO_DEVNET }}
AWS_REGION: ${{ secrets.AWS_REGION_AO_DEVNET }}

- name: Build and push MU Docker image
run: |
docker build -t ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com/devnet-ecr:ao-mu-$COMMIT_HASH -f servers/mu/Dockerfile servers/mu/
docker push ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com/devnet-ecr:ao-mu-$COMMIT_HASH
docker build -t $REGISTRY/$REPOSITORY:ao-mu-$COMMIT_HASH -f servers/mu/Dockerfile servers/mu/
docker push $REGISTRY/$REPOSITORY:ao-mu-$COMMIT_HASH
build-and-push-su:
env:
REGISTRY: ${{ steps.login-devnet-ecr.outputs.registry }}
REPOSITORY: devnet-ecr
runs-on: ubuntu-latest
steps:
- name: Checkout code
Expand All @@ -81,20 +80,7 @@ jobs:
id: vars
run: echo "COMMIT_HASH=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV

- name: Log in to Amazon ECR
id: login-devnet-ecr
uses: aws-actions/amazon-ecr-login@v1
with:
mask-password: true
skip-logout: true
registry-type: private
registry: ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_AO_DEVNET }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_AO_DEVNET }}
AWS_REGION: ${{ secrets.AWS_REGION_AO_DEVNET }}

- name: Build and push SU Docker image
run: |
docker build -t ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com/devnet-ecr:ao-su-$COMMIT_HASH -f servers/su/Dockerfile.x86 servers/su/
docker push ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com/devnet-ecr:ao-su-$COMMIT_HASH
docker build -t $REGISTRY/$REPOSITORY:ao-su-$COMMIT_HASH -f servers/su/Dockerfile.x86 servers/su/
docker push $REGISTRY/$REPOSITORY:ao-su-$COMMIT_HASH

0 comments on commit 62d2326

Please sign in to comment.