While kas and kas-isar surely have a common ground like the kas tool itself, kas-isar does not need all the toolchain packages that are essential Yocto dependencies. Splitting up the images earlier allows to shrink kas-isar by almost 400 MB. Use this chance to model both images as different build stages of the same Dockerfile. That is simpler than creating a temporary "kas-base" image via a separate Dockerfile. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*.*'
|
|
|
|
jobs:
|
|
deploy_containers:
|
|
name: Build and deploy container images
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repo
|
|
uses: actions/checkout@v2
|
|
- name: Get release
|
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v1
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
- name: Login to ghcr.io
|
|
uses: docker/login-action@v1
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ secrets.PACKAGE_DEPLOY_USER }}
|
|
password: ${{ secrets.PACKAGE_DEPLOY_TOKEN }}
|
|
- name: Build kas image
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
platforms: linux/amd64,linux/arm64
|
|
push: true
|
|
tags: |
|
|
ghcr.io/siemens/kas/kas
|
|
ghcr.io/siemens/kas/kas:${{ env.RELEASE_VERSION }}
|
|
ghcr.io/siemens/kas/kas:latest-release
|
|
- name: Build kas-isar image
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
target: kas-isar
|
|
platforms: linux/amd64,linux/arm64
|
|
push: true
|
|
tags: |
|
|
ghcr.io/siemens/kas/kas-isar
|
|
ghcr.io/siemens/kas/kas-isar:${{ env.RELEASE_VERSION }}
|
|
ghcr.io/siemens/kas/kas-isar:latest-release
|