Skip to content

Image Builder

Image Builder #549

Workflow file for this run

name: Image Builder
on:
workflow_dispatch:
inputs:
pandoc_version:
description: >-
Pandoc version; must be either `main` or a release number
default: main
type: string
base_system:
description: Docker base systems (JSON array)
default: "['static','ubuntu','alpine']"
type: string
schedule:
- cron: '33 6 * * 1,4'
jobs:
# Build images and store them as tar archive
build:
name: Build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
stack: ${{ fromJSON( inputs.base_system ) }}
env:
PANDOC_VERSION: >-
${{ inputs.pandoc_version == 'main' && 'edge' || inputs.pandoc_version}}
STACK: ${{ matrix.stack }}
steps:
- uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: minimal
uses: ./.github/actions/build
with:
image_type: minimal
base_system: ${{ matrix.stack }}
pandoc_version: ${{ env.PANDOC_VERSION }}
- name: core
uses: ./.github/actions/build
if: ${{ matrix.stack != 'static' }}
with:
image_type: core
base_system: ${{ matrix.stack }}
pandoc_version: ${{ env.PANDOC_VERSION }}
- name: typst
uses: ./.github/actions/build
if: ${{ matrix.stack != 'static' }}
with:
image_type: minimal
base_system: ${{ matrix.stack }}
pandoc_version: ${{ env.PANDOC_VERSION }}
- name: latex
uses: ./.github/actions/build
if: ${{ matrix.stack != 'static' }}
with:
image_type: latex
base_system: ${{ matrix.stack }}
pandoc_version: ${{ env.PANDOC_VERSION }}
- name: extra
uses: ./.github/actions/build
if: ${{ matrix.stack != 'static' }}
with:
image_type: extra
base_system: ${{ matrix.stack }}
pandoc_version: ${{ env.PANDOC_VERSION }}