Skip to content

Bump @vercel/ncc in /.github/actions/check-submodules #914

Bump @vercel/ncc in /.github/actions/check-submodules

Bump @vercel/ncc in /.github/actions/check-submodules #914

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 }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-east-1'
# nothing
jobs:
package:
name: Package builder app
runs-on: ubuntu-latest
steps:
- 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-latest
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: 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:
- 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: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
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