Merge pull request #1074 from permaweb/jfrain99/add-exponential-backo… #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🏗️ Build and Push Docker images to devnet ECR | |
on: | |
push: | |
branches: | |
- 'main' | |
paths: | |
- "servers/**" | |
- ".github/workflows/devnet-ecr-push.yml" | |
jobs: | |
build-and-push-cu: | |
runs-on: ubuntu-latest | |
env: | |
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: 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 | |
registries: ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }} | |
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 CU Docker image | |
run: | | |
docker build -t ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }}.dkr.ecr.${{ secrets.AWS_REGION_AO_DEVNET }}.amazonaws.com/$REPOSITORY: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/$REPOSITORY:ao-cu-$COMMIT_HASH | |
build-and-push-mu: | |
env: | |
REPOSITORY: devnet-ecr | |
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 | |
registries: ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }} | |
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/$REPOSITORY: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/$REPOSITORY:ao-mu-$COMMIT_HASH | |
build-and-push-su: | |
env: | |
REPOSITORY: devnet-ecr | |
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 | |
registries: ${{ secrets.AWS_ACCOUNT_ID_AO_DEVNET }} | |
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/$REPOSITORY: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/$REPOSITORY:ao-su-$COMMIT_HASH | |
update-devnet-image-tags: | |
runs-on: ubuntu-latest | |
needs: | |
- build-and-push-cu | |
- build-and-push-mu | |
- build-and-push-su | |
steps: | |
- name: Checkout Helmfile Repository | |
run: | | |
git clone https://$GITHUB_USERNAME:${{ secrets.AO_TO_CHARTS_PAT }}@github.com/permaweb/charts.git | |
env: | |
GITHUB_USERNAME: bredamatt | |
- name: Extract shortened commit hash | |
id: vars | |
run: echo "COMMIT_HASH=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV | |
- name: Update commit-sha.yaml | |
env: | |
TRUNCATED_SHA: ${{ env.COMMIT_HASH }} | |
run: | | |
cd charts | |
sed -i "s/commitSHA: \".*\"/commitSHA: \"${TRUNCATED_SHA}\"/" helmfile/devnet/commit-sha.yaml | |
git config user.name "github-actions[bot]" | |
git config user.email "github-actions[bot]@users.noreply.github.com" | |
git commit -am "fix: from ao-repo - update commit-sha to ${TRUNCATED_SHA} for syncing latest image tags" | |
git push https://${{ secrets.AO_TO_CHARTS_PAT }}@github.com/permaweb/charts.git main |