Skip to content

build and push sharelatex-base image #3

build and push sharelatex-base image

build and push sharelatex-base image #3

Workflow file for this run

name: build and push sharelatex-base image
on:
workflow_dispatch:
inputs:
revision:
description: 'image revision number'
required: true
default: '1'
type: string
cache:
description: 'use cache'
required: true
default: false
type: boolean
env:
REGISTRY: ghcr.io
IMAGE_NAME: lcpu-club/sharelatex-base
jobs:
create-manifest:
strategy:
matrix:
version: [2025,2024]
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create and push manifest
run: |
docker manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }} \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-amd64 \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-arm64
docker manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}.${{ inputs.revision }} \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-amd64 \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-arm64
docker manifest annotate ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }} \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-amd64 --arch amd64
docker manifest annotate ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }} \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-arm64 --arch arm64
docker manifest annotate ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}.${{ inputs.revision }} \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-amd64 --arch amd64
docker manifest annotate ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}.${{ inputs.revision }} \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}-arm64 --arch arm64
docker manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}.${{ inputs.revision }}
docker manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.version }}