Skip to content

Bump go version to 1.21 (#16) #204

Bump go version to 1.21 (#16)

Bump go version to 1.21 (#16) #204

name: Deploy Production Latest
on:
push:
tags:
- 'latest-v*.*.*'
env:
AWS_REGION: "us-east-1"
permissions:
id-token: write
contents: read
jobs:
base-alpine:
name: Build and deploy the base Alpine image
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set env
run: echo "RELEASE_VERSION=latest" >> $GITHUB_ENV
- name: Set env
run: echo "PULUMI_VERSION=${GITHUB_REF#refs/*/latest-}" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: ${{ env.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 900
- name: Install latest AWS CLI
id: install-aws-cli
uses: unfor19/install-aws-cli-action@v1
- name: Login to Amazon ECR
run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${REPOSITORY_BASE_PATH}
env:
REPOSITORY_BASE_PATH: ${{ secrets.REPOSITORY_BASE_PATH }}
- name: Build and push the image
uses: docker/build-push-action@v3
with:
push: true
platforms: linux/amd64,linux/arm64
context: base-alpine
build-args: PULUMI_VERSION=${{ env.PULUMI_VERSION }}
tags: ${{ secrets.REPOSITORY_BASE_PATH }}/runner-pulumi-base-alpine:${{ env.RELEASE_VERSION }}
base-debian:
name: Build and deploy the base Debian image
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set env
run: echo "RELEASE_VERSION=latest" >> $GITHUB_ENV
- name: Set env
run: echo "PULUMI_VERSION=${GITHUB_REF#refs/*/latest-}" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: ${{ env.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 900
- name: Install latest AWS CLI
id: install-aws-cli
uses: unfor19/install-aws-cli-action@v1
- name: Login to Amazon ECR
run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${REPOSITORY_BASE_PATH}
env:
REPOSITORY_BASE_PATH: ${{ secrets.REPOSITORY_BASE_PATH }}
- name: Build and push the image
uses: docker/build-push-action@v3
with:
push: true
platforms: linux/amd64,linux/arm64
context: base-debian
build-args: PULUMI_VERSION=${{ env.PULUMI_VERSION }}
tags: ${{ secrets.REPOSITORY_BASE_PATH }}/runner-pulumi-base-debian:${{ env.RELEASE_VERSION }}
javascript:
needs:
- base-alpine
name: Build and deploy the JavaScript image
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set env
run: echo "RELEASE_VERSION=latest" >> $GITHUB_ENV
- name: Set env
run: echo "PULUMI_VERSION=${GITHUB_REF#refs/*/latest-}" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: ${{ env.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 900
- name: Install latest AWS CLI
id: install-aws-cli
uses: unfor19/install-aws-cli-action@v1
- name: Login to Amazon ECR
run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${REPOSITORY_BASE_PATH}
env:
REPOSITORY_BASE_PATH: ${{ secrets.REPOSITORY_BASE_PATH }}
- name: Build and push the image
uses: docker/build-push-action@v3
with:
push: true
platforms: linux/amd64,linux/arm64
context: javascript
build-args: |
REPOSITORY_BASE_PATH=${{ secrets.REPOSITORY_BASE_PATH }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
tags: ${{ secrets.REPOSITORY_BASE_PATH }}/runner-pulumi-javascript:${{ env.RELEASE_VERSION }}
golang:
needs:
- base-alpine
name: Build and deploy the Go image
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set env
run: echo "RELEASE_VERSION=latest" >> $GITHUB_ENV
- name: Set env
run: echo "PULUMI_VERSION=${GITHUB_REF#refs/*/latest-}" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: ${{ env.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 900
- name: Install latest AWS CLI
id: install-aws-cli
uses: unfor19/install-aws-cli-action@v1
- name: Login to Amazon ECR
run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${REPOSITORY_BASE_PATH}
env:
REPOSITORY_BASE_PATH: ${{ secrets.REPOSITORY_BASE_PATH }}
- name: Build and push the image
uses: docker/build-push-action@v3
with:
push: true
platforms: linux/amd64,linux/arm64
context: golang
build-args: |
REPOSITORY_BASE_PATH=${{ secrets.REPOSITORY_BASE_PATH }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
tags: ${{ secrets.REPOSITORY_BASE_PATH }}/runner-pulumi-golang:${{ env.RELEASE_VERSION }}
python:
needs:
- base-debian
name: Build and deploy the Python image
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set env
run: echo "RELEASE_VERSION=latest" >> $GITHUB_ENV
- name: Set env
run: echo "PULUMI_VERSION=${GITHUB_REF#refs/*/latest-}" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: ${{ env.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 900
- name: Install latest AWS CLI
id: install-aws-cli
uses: unfor19/install-aws-cli-action@v1
- name: Login to Amazon ECR
run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${REPOSITORY_BASE_PATH}
env:
REPOSITORY_BASE_PATH: ${{ secrets.REPOSITORY_BASE_PATH }}
- name: Build and push the image
uses: docker/build-push-action@v3
with:
push: true
platforms: linux/amd64,linux/arm64
context: python
build-args: |
REPOSITORY_BASE_PATH=${{ secrets.REPOSITORY_BASE_PATH }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
tags: ${{ secrets.REPOSITORY_BASE_PATH }}/runner-pulumi-python:${{ env.RELEASE_VERSION }}
dotnet:
needs:
- base-debian
name: Build and deploy the .Net image
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set env
run: echo "RELEASE_VERSION=latest" >> $GITHUB_ENV
- name: Set env
run: echo "PULUMI_VERSION=${GITHUB_REF#refs/*/latest-}" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: ${{ env.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 900
- name: Install latest AWS CLI
id: install-aws-cli
uses: unfor19/install-aws-cli-action@v1
- name: Login to Amazon ECR
run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${REPOSITORY_BASE_PATH}
env:
REPOSITORY_BASE_PATH: ${{ secrets.REPOSITORY_BASE_PATH }}
- name: Build and push the image
uses: docker/build-push-action@v3
with:
push: true
platforms: linux/amd64,linux/arm64
context: dotnet
build-args: |
REPOSITORY_BASE_PATH=${{ secrets.REPOSITORY_BASE_PATH }}
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
tags: ${{ secrets.REPOSITORY_BASE_PATH }}/runner-pulumi-dotnet:${{ env.RELEASE_VERSION }}