Skip to content

beta-release

beta-release #21

Workflow file for this run

name: beta-release
on:
workflow_dispatch:
inputs:
tag:
description: 'The tag for this release (must already be pushed).'
required: true
permissions:
id-token: write
contents: read
jobs:
integration-test:
name: Integration Test
runs-on: ubuntu-22.04
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
ref: refs/tags/${{ github.event.inputs.tag }}
- name: Run integration test action
uses: ./.github/actions/integration-test
with:
aws_role: "${{ secrets.BETA_TEST_AWS_ROLE }}"
vpc_id: "${{ secrets.INTEG_TEST_VPC }}"
account_id: "${{ secrets.BETA_AWS_ACCOUNT }}"
push-images:
name: Build And Push Images
runs-on: ubuntu-22.04
needs: [ integration-test ]
steps:
- name: Clean
run: |
rm -rf *
- name: Checkout Code
uses: actions/checkout@v3
with:
ref: refs/tags/${{ github.event.inputs.tag }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: us-west-2
role-to-assume: ${{ secrets.BETA_AWS_ROLE }}
role-session-name: ImagePusher
- name: Build Images
env:
IMAGE: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com/amazon/appmesh-controller:${{ github.event.inputs.tag }}"
run: |
aws ecr get-login-password --region us-west-2 | \
docker login --username AWS --password-stdin "${IMAGE}"
docker buildx build --platform linux/amd64 -t "${IMAGE}-linux_amd64" . --push
docker buildx build --platform linux/arm64 -t "${IMAGE}-linux_arm64" . --push
docker manifest create "${IMAGE}" "${IMAGE}-linux_amd64" "${IMAGE}-linux_arm64"
docker manifest push "${IMAGE}"