Skip to content

chore: T2 2026 platform, CI and dependency updates #13

chore: T2 2026 platform, CI and dependency updates

chore: T2 2026 platform, CI and dependency updates #13

name: Production image builds
on:
pull_request:
push:
branches:
- "*.x"
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build ${{ matrix.name }}
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- name: API
dockerfile: deployApi.Dockerfile
cache_scope: production-api
- name: app worker
dockerfile: deployAppSvr.Dockerfile
cache_scope: production-app
- name: TeX Live helper
dockerfile: texlive.Dockerfile
cache_scope: production-texlive
- name: JPlag helper
dockerfile: jplag.Dockerfile
cache_scope: production-jplag
steps:
- name: Check out source
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
- name: Build production image without publishing
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
with:
context: .
file: ${{ matrix.dockerfile }}
platforms: linux/amd64
push: false
sbom: true
provenance: mode=max
cache-from: type=gha,scope=${{ matrix.cache_scope }}
cache-to: type=gha,mode=max,scope=${{ matrix.cache_scope }}