Compare commits

..

No commits in common. "master" and "github-actions" have entirely different histories.

3 changed files with 24 additions and 32 deletions

View File

@ -4,8 +4,9 @@ on:
push: push:
branches: branches:
- master - master
- github-actions
schedule: schedule:
- cron: 0 18 * * 0 - cron: 0 18 * * *
jobs: jobs:
@ -74,19 +75,19 @@ jobs:
- scheme: minimal - scheme: minimal
source: infraonly source: infraonly
- scheme: basic - scheme: basic
source: minimal-incremental source: minimal
- scheme: small - scheme: small
source: basic-incremental source: basic
- scheme: context - scheme: context
source: small-incremental source: small
- scheme: gust - scheme: gust
source: context-incremental source: context
- scheme: medium - scheme: medium
source: gust-incremental source: gust
- scheme: tetex - scheme: tetex
source: medium-incremental source: medium
- scheme: full - scheme: full
source: tetex-incremental source: tetex
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View File

@ -1,21 +1,18 @@
![Deploy](https://github.com/icaotix-docker/latex/workflows/Deploy/badge.svg)
# Schemes/Tags # Schemes/Tags
## Sizes ## Sizes
* `infraonly`, `infraonly-scratch` - infrastructure-only scheme (no TeX at all) * `infraonly` - infrastructure-only scheme (no TeX at all)
* `minimal`, `minimal-scratch`, `minimal-incremental` - minimal scheme (plain only) * `minimal` - minimal scheme (plain only)
* `basic`, `basic-scratch`, `basic-incremental` - basic scheme (plain and latex) * `basic` - basic scheme (plain and latex)
* `small`, `small-scratch`, `small-incremental` - small scheme (basic + xetex, metapost, a few languages) * `small` - small scheme (basic + xetex, metapost, a few languages)
* `medium`, `medium-scratch`, `medium-incremental` - medium scheme (small + more packages and languages) * `medium` - medium scheme (small + more packages and languages)
* `full`, `full-scratch`, `full-incremental`, `latest` - full scheme (everything) * `full`, `latest` - full scheme (everything)
## Extra Schemes ## Extra Schemes
* `gust`, `gust-scratch`, `gust-incremental` - GUST TeX Live scheme * `gust` - GUST TeX Live scheme
* `context`, `context-scratch`, `context-incremental` - ConTeXt scheme * `context` - ConTeXt scheme
* `tetex`, `tetex-scratch`, `tetex-incremental` - teTeX scheme (more than medium, but nowhere near full) * `tetex` - teTeX scheme (more than medium, but nowhere near full)
## Build Info `<tag>-incremental` (Image tree) ## Build Info (Image tree)
Images with this tag have all previous layers built in, use them for better caching.
``` ```
infraonly (base image with ubuntu:18.04) infraonly (base image with ubuntu:18.04)
+---> minimal +---> minimal
@ -27,12 +24,8 @@ infraonly (base image with ubuntu:18.04)
+---> tetex +---> tetex
+---> full +---> full
``` ```
NOTE: infraonly has no `incremental` tag.
## Build Info `<tag>-scratch` # How to use
These images are built from the base ubuntu:18.04 image. They only have one latex layer. They are usually a little bit smaller than their `incremental` counterparts. The `scratch` image is default when used with no tag extension. Also `latest` is built from scratch and is the same as `full` and `full-scratch`.
# How to use the image
Mount your source code at `/data` and run whatever you want with LaTeX. Mount your source code at `/data` and run whatever you want with LaTeX.
# How to extend an Image # How to extend an Image
@ -52,5 +45,3 @@ RUN apt-get update \
&& pip install pygments \ && pip install pygments \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
``` ```
Last updated: 2022-08-18

View File

@ -5,7 +5,7 @@ ENV HOME /data
WORKDIR /data WORKDIR /data
RUN apt-get update -q \ RUN apt-get update -q \
&& apt-get install -qy libfontconfig1 tar perl wget \ && apt-get install -qy build-essential wget libfontconfig1 \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
ARG SCHEME ARG SCHEME
@ -13,9 +13,9 @@ ARG SCHEME
RUN wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz \ RUN wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz \
&& mkdir /install-tl-unx \ && mkdir /install-tl-unx \
&& tar -xvf install-tl-unx.tar.gz -C /install-tl-unx --strip-components=1 \ && tar -xvf install-tl-unx.tar.gz -C /install-tl-unx --strip-components=1 \
&& rm install-tl-unx.tar.gz \
&& echo "selected_scheme scheme-${SCHEME}" >> /install-tl-unx/texlive.profile \ && echo "selected_scheme scheme-${SCHEME}" >> /install-tl-unx/texlive.profile \
&& /install-tl-unx/install-tl -profile /install-tl-unx/texlive.profile \ && /install-tl-unx/install-tl -profile /install-tl-unx/texlive.profile \
&& rm -r /install-tl-unx && rm -r /install-tl-unx \
&& rm install-tl-unx.tar.gz
ENV PATH="/usr/local/texlive/2022/bin/x86_64-linux:${PATH}" ENV PATH="/usr/local/texlive/2019/bin/x86_64-linux:${PATH}"