docker-images/.gitea/workflows/ci.yml
Fifo F. f60ff52079
Update ci.yml
- just a minor oops, omitted OVERLEAF_VERSION declaration in cleanup step
2024-10-25 16:50:45 +00:00

52 lines
No EOL
2.7 KiB
YAML

name: Create complete Overleaf Docker image with all TeX Live packages
on: [push]
jobs:
build:
runs-on:
labels: ubuntu-latest-privileged
services:
docker:
image: docker:24.0.5-dind
options: >-
--privileged
steps:
- name: Remove existing container to avoid conflicts, if present
run: |
if [ "$(docker ps -aq -f name=temp)" ]; then
docker rm -f temp
fi
- name: Log in to Gitea Docker registry
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} --password-stdin
- name: Get Overleaf version number
run: |
curl -sSfL https://raw.githubusercontent.com/overleaf/toolkit/master/lib/config-seed/version -o version.txt
echo "Image version: $(cat version.txt)"
- name: Pull Overleaf Docker image
run: docker pull sharelatex/sharelatex:latest
- name: Expand and save Docker image
run: |
OVERLEAF_VERSION=$(cat version.txt)
docker run --name temp --entrypoint /bin/bash sharelatex/sharelatex:latest -c "
tlmgr option repository https://ftp.tu-chemnitz.de/pub/tex/systems/texlive/tlnet/ && \
tlmgr update --self --all && \
tlmgr install scheme-full && \
tlmgr path add && \
apt update && apt install -y inkscape lilypond python3-pygments"
docker commit --change "ENTRYPOINT /sbin/my_init" temp sharelatex-with-texlive-full:${OVERLEAF_VERSION}
docker tag sharelatex-with-texlive-full:${OVERLEAF_VERSION} sharelatex-with-texlive-full:latest
- name: Push customized Docker image to registry
run: |
OVERLEAF_VERSION=$(cat version.txt)
docker tag sharelatex-with-texlive-full:${OVERLEAF_VERSION} ${{ vars.REGISTRY_HOST }}/tex-projects/sharelatex-with-texlive-full:${OVERLEAF_VERSION}
docker tag sharelatex-with-texlive-full:latest ${{ vars.REGISTRY_HOST }}/tex-projects/sharelatex-with-texlive-full:latest
docker push ${{ vars.REGISTRY_HOST }}/tex-projects/sharelatex-with-texlive-full:${OVERLEAF_VERSION}
docker push ${{ vars.REGISTRY_HOST }}/tex-projects/sharelatex-with-texlive-full:latest
- name: Clean up
run: |
OVERLEAF_VERSION=$(cat version.txt)
echo "Cleaning up"
docker rm -f temp
docker rmi sharelatex/sharelatex:latest
docker rmi ${{ vars.REGISTRY_HOST }}/tex-projects/sharelatex-with-texlive-full:${OVERLEAF_VERSION}
docker rmi ${{ vars.REGISTRY_HOST }}/tex-projects/sharelatex-with-texlive-full:latest