Skip to content

v0.1.4

v0.1.4 #19

Workflow file for this run

name: Build Containers
on:
release:
types: [created, edited]
workflow_dispatch:
inputs:
tag:
description: "tag"
required: true
default: "latest"
type: string
jobs:
build:
name: Build
strategy:
matrix:
arch: [amd64, arm64]
version: [17-bookworm, 18-trixie]
runs-on:
- ${{ matrix.arch == 'amd64' && 'ubuntu-latest' || matrix.arch }}
env:
ARCH: ${{ matrix.arch }}
OS: linux
VERSION: ${{ matrix.version }}
DOCKER_REPO: ghcr.io/${{ github.repository }}
steps:
- name: Install build tools
run: |
sudo apt -y update
sudo apt -y install build-essential git
git config --global advice.detachedHead false
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Login
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push
id: build
run: |
make docker && make docker-push
manifest:
name: Manifest
needs: build
strategy:
matrix:
version: [17-bookworm, 18-trixie]
runs-on: ubuntu-latest
steps:
- name: Login
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create
run: |
docker manifest create ghcr.io/${{ github.repository }}:${{ matrix.version }} \
--amend ghcr.io/${{ github.repository }}-linux-amd64:${{ matrix.version }} \
--amend ghcr.io/${{ github.repository }}-linux-arm64:${{ matrix.version }}
- name: Annotate
run: |
docker manifest annotate --arch arm64 --os linux \
ghcr.io/${{ github.repository }}:${{ matrix.version }} \
ghcr.io/${{ github.repository }}-linux-arm64:${{ matrix.version }}
docker manifest annotate --arch amd64 --os linux \
ghcr.io/${{ github.repository }}:${{ matrix.version }} \
ghcr.io/${{ github.repository }}-linux-amd64:${{ matrix.version }}
- name: Push
run: |
docker manifest push ghcr.io/${{ github.repository }}:${{ matrix.version }}