Skip to content

remove latest

remove latest #926

Workflow file for this run

name: Create Channel
# need images created at least once per branch, even if there are no docker changes
# so that downstream projects can use the branch channel.
on:
push:
branches-ignore:
- 'main'
paths:
- '.github/workflows/create-channel.yml'
- '.github/actions/**'
- '.github/docker-images/**'
- '.github/workflows/*.sh'
- 'builder/**'
create:
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
CRT_CI_ROLE: ${{ secrets.CRT_CI_ROLE_ARN }}
AWS_DEFAULT_REGION: us-east-1
permissions:
id-token: write # This is required for requesting the JWT
# nothing
jobs:
package:
name: Package builder app
runs-on: ubuntu-24.04
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ env.CRT_CI_ROLE }}
aws-region: ${{ env.AWS_DEFAULT_REGION }}
- name: Checkout Source
uses: actions/checkout@v4
- name: Get release tag
uses: ./.github/actions/release-tag
id: tag
- name: Package builder to S3
run: |
export CHANNEL=${{ steps.tag.outputs.release_tag }}
mkdir -p build
mkdir -p staging
cp -r builder staging/.
python3 -m zipapp --python="/usr/bin/env python3" -m "builder.main:main" --output=build/builder staging
aws s3 cp build/builder s3://$AWS_S3_BUCKET/channels/$CHANNEL/builder.pyz
- name: Artifact builder
uses: actions/upload-artifact@v4
with:
name: builder
path: build/builder
- name: Upload container CI script
run: aws s3 cp ./.github/workflows/linux-container-ci.sh s3://aws-crt-test-stuff/ci/${{ steps.tag.outputs.release_tag }}/linux-container-ci.sh
standard-images:
name: ${{ matrix.variant.name }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
variant:
- name: manylinux1-x86
- name: manylinux1-x64
- name: manylinux2014-x86
- name: manylinux2014-x64
- name: manylinux2014-aarch64
- name: musllinux-1-1-aarch64
- name: musllinux-1-1-x64
- name: al2012-x64
- name: al2-x64
- name: al2023-x64
- name: ubuntu-18-x64
- name: ubuntu-20-x64
- name: ubuntu-20-aarch64
extra-build-flag: --platform=linux/aarch64
- name: ubuntu-22-x64
- name: node-10-linux-x64
- name: swift-5-al2-x64
- name: swift-5-centos-x64
- name: swift-5-ubuntu-x64
- name: rhel8-x64
- name: opensuse-leap
- name: fedora-34-x64
- name: raspbian-bullseye
- name: alpine-3.16-x64
- name: alpine-3.16-x86
- name: alpine-3.16-arm64
- name: alpine-3.16-armv7
- name: alpine-3.16-armv6
- name: openwrt-x64-openjdk8
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ env.CRT_CI_ROLE }}
aws-region: ${{ env.AWS_DEFAULT_REGION }}
- name: Checkout Sources
uses: actions/checkout@v4
- name: Get release tag
uses: ./.github/actions/release-tag
id: tag
- name: Login to docker repo
run: aws ecr get-login-password --region us-east-1 | docker login ${{ secrets.AWS_ECR_REPO }} -u AWS --password-stdin
- name: Install entrypoint
run: cat .github/docker-images/entrypoint.sh | sed s/version=LATEST/version=${{ steps.tag.outputs.release_tag }}/ > .github/docker-images/${{ matrix.variant.name }}/entrypoint.sh
- name: Install qemu/docker
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: Build ${{ matrix.variant.name }} image
uses: whoan/docker-build-with-cache-action@v8
with:
registry: ${{ secrets.AWS_ECR_REPO }}
username: ${{ steps.creds.outputs.aws-access-key-id }}
password: ${{ steps.creds.outputs.aws-secret-access-key }}
session: ${{ steps.creds.outputs.aws-session-token }}
image_name: aws-crt-${{ matrix.variant.name }}
image_tag: ${{ steps.tag.outputs.release_tag }}
context: .github/docker-images/${{ matrix.variant.name }}
build_extra_args: --compress=true ${{ matrix.variant.extra-build-flag }}
- name: Create ECR repo if necessary
run: |
if ! aws --region us-east-1 ecr describe-repositories --repository-names aws-crt-${{ matrix.variant.name }} > /dev/null 2>&1; then \
aws --region us-east-1 ecr create-repository --repository-name aws-crt-${{ matrix.variant.name }}; \
fi
- name: Export ${{ matrix.variant.name }} image to ECR
run: |
export IMAGE_TAG=${{ steps.tag.outputs.release_tag }}
docker push ${{ secrets.AWS_ECR_REPO }}/aws-crt-${{ matrix.variant.name }}:$IMAGE_TAG