Skip to content

build

build #967

Workflow file for this run

name: build
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: '42 3 * * *'
workflow_dispatch:
jobs:
build:
name: build
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
image:
- "abc-base:8.1"
- "abc-base:8.1-user"
- "abc-base:8.2"
- "abc-base:8.3"
- "abc-base:8.4"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set context directory
env:
image_tag: ${{ matrix.image }}
run: |
echo "context_dir=./${image_tag/:/\/}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: ${{ env.context_dir }}
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/angrybytes/${{ matrix.image }}
angrybytes/${{ matrix.image }}
pull: true
push: ${{ github.event_name != 'pull_request' && github.repository_owner == 'AngryBytes' }}
cache-from: type=registry,ref=ghcr.io/angrybytes/${{ matrix.image }}
cache-to: type=inline