itchymax
3 years ago
1 changed files with 71 additions and 0 deletions
@ -0,0 +1,71 @@ |
|||
name: "Release docker images from release" |
|||
|
|||
on: |
|||
workflow_dispatch: |
|||
inputs: |
|||
realease_tag: |
|||
description: 'The release tag to build containers for (preview or x.y.z)' |
|||
required: true |
|||
|
|||
|
|||
jobs: |
|||
build_docker_image: |
|||
needs: build_binaries |
|||
name: Build docker images |
|||
runs-on: ubuntu-latest |
|||
env: |
|||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|||
steps: |
|||
- name: Checkout tagged commit |
|||
uses: actions/checkout@v2.4.0 |
|||
# TODO: checkout the tag and not master |
|||
- name: Set up QEMU |
|||
uses: docker/setup-qemu-action@v1 |
|||
|
|||
- name: Set up docker buildx |
|||
uses: docker/setup-buildx-action@v1 |
|||
|
|||
- name: Login into github registry |
|||
uses: docker/login-action@v1.10.0 |
|||
with: |
|||
registry: ghcr.io |
|||
username: ${{ github.repository }} |
|||
password: ${{ secrets.GITHUB_TOKEN }} |
|||
|
|||
- name: Build and publish docker images |
|||
run: | |
|||
gh release download ${{ github.event.inputs.realease_tag }} -p '*Linux_x86_64*' -p '*aarch64*' -p '*armv7*' |
|||
|
|||
# We need to extract into sub folders to so that our dockerimage can fine the binaries. |
|||
# |
|||
# By providing `platform` to `docker buildx` the variable `TARGETPLATFORM` will be available |
|||
# when building the image. This variable is either |
|||
# `linux/amd64/`, `linux/arm64/` or `linux/arm/v7`. Hence we need to extract into subfolders. |
|||
|
|||
7z x maker_${{ github.event.inputs.realease_tag }}_Linux_aarch64.tar -olinux/arm64/ |
|||
7z x taker_${{ github.event.inputs.realease_tag }}_Linux_aarch64.tar -olinux/arm64/ |
|||
|
|||
7z x maker_${{ github.event.inputs.realease_tag }}_Linux_x86_64.tar -olinux/amd64/ |
|||
7z x taker_${{ github.event.inputs.realease_tag }}_Linux_x86_64.tar -olinux/amd64/ |
|||
|
|||
7z x maker_${{ github.event.inputs.realease_tag }}_Linux_armv7.tar -olinux/arm/v7 |
|||
7z x taker_${{ github.event.inputs.realease_tag }}_Linux_armv7.tar -olinux/arm/v7 |
|||
|
|||
docker buildx build \ |
|||
--push \ |
|||
--platform linux/amd64,linux/arm64,linux/arm/v7 \ |
|||
--label "org.opencontainers.image.source https://github.com/${{ github.repository }}" \ |
|||
--tag ghcr.io/${{ github.repository }}/maker:${{ github.event.inputs.realease_tag }} \ |
|||
--build-arg BINARY_PATH=maker \ |
|||
. |
|||
|
|||
docker buildx build \ |
|||
--push \ |
|||
--platform linux/amd64,linux/arm64,linux/arm/v7 \ |
|||
--label "org.opencontainers.image.source https://github.com/${{ github.repository }}" \ |
|||
--tag ghcr.io/${{ github.repository }}/taker:${{ github.event.inputs.realease_tag }} \ |
|||
--build-arg BINARY_PATH=taker \ |
|||
. |
|||
|
|||
|
|||
|
Loading…
Reference in new issue