fix(ci): replace drone with gitea actions
This commit is contained in:
parent
c9163f2360
commit
458bee010a
359
.drone.yml
359
.drone.yml
@ -1,359 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: linter
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: markdown lint
|
|
||||||
commands:
|
|
||||||
- markdownlint *.md
|
|
||||||
image: git.cryptic.systems/volker.raschek/markdownlint:0.33.0
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: archlinux
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: archlinux
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh archlinux latest
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- cron
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: centos
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: centos7
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh centos 7
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- cron
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: debian
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: 8-slim
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh debian 8-slim
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: 9-slim
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh debian 9-slim
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: 10-slim
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh debian 10-slim
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: 11-slim
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh debian 11-slim
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- cron
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: fedora
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: fedora-33
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh fedora 33
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: fedora-34
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh fedora 34
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- cron
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: ubuntu
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: ubuntu-16.04
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh ubuntu 16.04
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: ubuntu-18.04
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh ubuntu 18.04
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: ubuntu-20.04
|
|
||||||
image: docker.io/volkerraschek/build-image:latest
|
|
||||||
commands:
|
|
||||||
- ./build.sh ubuntu 20.04
|
|
||||||
environment:
|
|
||||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- cron
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
29
.gitea/workflows/build.yaml
Normal file
29
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
- synchronize
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-arch-linux:
|
||||||
|
runs-on: ubuntu-latest-amd64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.10.0
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
TAG=latest
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--file Dockerfile.archlinux \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/latex:${TAG}-archlinux \
|
||||||
|
.
|
22
.gitea/workflows/markdown-linters.yaml
Normal file
22
.gitea/workflows/markdown-linters.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: 'Lint Markdown files'
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
- synchronize
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
markdown-lint:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: DavidAnson/markdownlint-cli2-action@v19.1.0
|
||||||
|
with:
|
||||||
|
globs: '**/*.md'
|
53
.gitea/workflows/release.yaml
Normal file
53
.gitea/workflows/release.yaml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "**"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
push-arch-linux:
|
||||||
|
runs-on: ubuntu-latest-amd64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.10.0
|
||||||
|
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push image
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--file Dockerfile.archlinux \
|
||||||
|
--push \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/latex:${TAG}-archlinux \
|
||||||
|
.
|
||||||
|
|
||||||
|
sync-to-hub-docker-io:
|
||||||
|
needs:
|
||||||
|
- push-arch-linux
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Copy images to docker.io
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
apt-get update --yes
|
||||||
|
apt-get install --yes skopeo
|
||||||
|
|
||||||
|
for suffix in archlinux; do
|
||||||
|
skopeo copy \
|
||||||
|
--all \
|
||||||
|
--dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \
|
||||||
|
--dest-username ${{ secrets.DOCKER_IO_USERNAME }} \
|
||||||
|
--src-password ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} \
|
||||||
|
--src-username volker.raschek \
|
||||||
|
docker://git.cryptic.systems/volker.raschek/latex:${TAG}-${suffix} \
|
||||||
|
docker://docker.io/volkerraschek/latex:${TAG}-${suffix}
|
||||||
|
done
|
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: Update Docker Hub Description
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- README.md
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-description-on-hub-docker-io:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: peter-evans/dockerhub-description@v4.0.2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
||||||
|
repository: volkerraschek/latex
|
||||||
|
readme-filepath: README.md
|
@ -1,4 +1,3 @@
|
|||||||
# Base-Image
|
|
||||||
FROM docker.io/library/archlinux:latest
|
FROM docker.io/library/archlinux:latest
|
||||||
|
|
||||||
# Labels
|
# Labels
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
# Build-Arguments
|
|
||||||
ARG TAG=latest
|
|
||||||
|
|
||||||
# Base-Image
|
|
||||||
FROM docker.io/library/centos:${TAG}
|
|
||||||
|
|
||||||
# Labels
|
|
||||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
|
||||||
|
|
||||||
# Runs
|
|
||||||
RUN yum update --assumeyes
|
|
||||||
RUN yum install --assumeyes \
|
|
||||||
biber \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gnuplot \
|
|
||||||
latexmk \
|
|
||||||
make \
|
|
||||||
python-pygments \
|
|
||||||
texlive \
|
|
||||||
texlive-*.noarch
|
|
||||||
|
|
||||||
# Workspace
|
|
||||||
WORKDIR /workspace
|
|
||||||
VOLUME [ "/workspace" ]
|
|
@ -1,44 +0,0 @@
|
|||||||
# Build-Arguments
|
|
||||||
ARG TAG=latest
|
|
||||||
|
|
||||||
# Base-Image
|
|
||||||
FROM docker.io/library/debian:${TAG}
|
|
||||||
|
|
||||||
# Labels
|
|
||||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
|
||||||
|
|
||||||
# Environment
|
|
||||||
ENV DEBIAN_FRONTEND="noninteractive"
|
|
||||||
|
|
||||||
# set shell
|
|
||||||
SHELL [ "/bin/bash", "-c" ]
|
|
||||||
|
|
||||||
# Runs
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get upgrade --yes
|
|
||||||
RUN apt-get install --yes \
|
|
||||||
biber \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gnuplot \
|
|
||||||
latexmk \
|
|
||||||
make \
|
|
||||||
texlive-full
|
|
||||||
|
|
||||||
# install distribution specific versions
|
|
||||||
RUN case "$(cat /etc/debian_version)" in \
|
|
||||||
11*) \
|
|
||||||
apt-get install --yes python3-pygments \
|
|
||||||
;; \
|
|
||||||
*) \
|
|
||||||
apt-get install --yes python-pygments \
|
|
||||||
;; \
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
# remove dpkg lists
|
|
||||||
RUN rm --recursive --force /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Workspace
|
|
||||||
WORKDIR /workspace
|
|
||||||
VOLUME [ "/workspace" ]
|
|
@ -1,26 +0,0 @@
|
|||||||
# Build-Arguments
|
|
||||||
ARG TAG=latest
|
|
||||||
|
|
||||||
# Base-Image
|
|
||||||
FROM docker.io/library/fedora:${TAG}
|
|
||||||
|
|
||||||
# Labels
|
|
||||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
|
||||||
|
|
||||||
# Runs
|
|
||||||
RUN yum update --assumeyes
|
|
||||||
RUN yum install --assumeyes \
|
|
||||||
biber \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gnuplot \
|
|
||||||
latexmk \
|
|
||||||
make \
|
|
||||||
python-pygments \
|
|
||||||
texlive-collection-bibtexextra \
|
|
||||||
texlive-collection-fontutils \
|
|
||||||
texlive-collection-langeuropean
|
|
||||||
|
|
||||||
# Workspace
|
|
||||||
WORKDIR /workspace
|
|
||||||
VOLUME [ "/workspace" ]
|
|
@ -1,44 +0,0 @@
|
|||||||
# Build-Arguments
|
|
||||||
ARG TAG=latest
|
|
||||||
|
|
||||||
# Base-Image
|
|
||||||
FROM docker.io/library/ubuntu:${TAG}
|
|
||||||
|
|
||||||
# Labels
|
|
||||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
|
||||||
|
|
||||||
# Environment
|
|
||||||
ENV DEBIAN_FRONTEND="noninteractive"
|
|
||||||
|
|
||||||
# set shell
|
|
||||||
SHELL [ "/bin/bash", "-c" ]
|
|
||||||
|
|
||||||
# Runs
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get upgrade --yes
|
|
||||||
RUN apt-get install --yes \
|
|
||||||
biber \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gnuplot \
|
|
||||||
latexmk \
|
|
||||||
make \
|
|
||||||
texlive-full \
|
|
||||||
xindy
|
|
||||||
|
|
||||||
# install distribution specific versions
|
|
||||||
RUN case "$(cat /etc/debian_version)" in \
|
|
||||||
bullseye/sid*) \
|
|
||||||
apt-get install --yes python3-pygments \
|
|
||||||
;; \
|
|
||||||
*) \
|
|
||||||
apt-get install --yes python-pygments \
|
|
||||||
;; \
|
|
||||||
esac
|
|
||||||
|
|
||||||
# remove dpkg lists
|
|
||||||
RUN rm --recursive --force /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Workspace
|
|
||||||
WORKDIR /workspace
|
|
||||||
VOLUME [ "/workspace" ]
|
|
41
README.md
41
README.md
@ -1,46 +1,34 @@
|
|||||||
# Docker Latex
|
# Latex
|
||||||
|
|
||||||
[](https://hub.docker.com/r/volkerraschek/latex)
|
[](https://hub.docker.com/r/volkerraschek/latex)
|
||||||
|
|
||||||
This repository, hosted on
|
The repository, hosted on [git.cryptic.systems](https://git.cryptic.systems/volker.raschek/latex-docker), contains
|
||||||
[git.cryptic.systems](https://git.cryptic.systems/volker.raschek/latex-docker),
|
Dockerfiles to build container images based on different base images. Any container image has the tex compiler and the
|
||||||
contains Dockerfiles to build different container images based on differend base
|
minted package included. The main goal of all container image is to compile the text source code with highlighting
|
||||||
images. Any container image has the tex compiler and the minted package
|
provided by minted into a PDF file.
|
||||||
included. Throught this are all container images able to compile tex source code
|
|
||||||
with source code highlighting.
|
|
||||||
|
|
||||||
## Images
|
## Images
|
||||||
|
|
||||||
Available Images:
|
Available Images:
|
||||||
|
|
||||||
- volkerraschek/latex:latest-archlinux
|
- `docker.io/volkerraschek/latex:latest-archlinux`
|
||||||
- volkerraschek/latex:latest-debian8-slim
|
|
||||||
- volkerraschek/latex:latest-debian9-slim
|
|
||||||
- volkerraschek/latex:latest-debian10-slim
|
|
||||||
- volkerraschek/latex:latest-fedora-30
|
|
||||||
- volkerraschek/latex:latest-fedora-31
|
|
||||||
- volkerraschek/latex:latest-centos-7
|
|
||||||
- volkerraschek/latex:latest-ubuntu-16.04
|
|
||||||
- volkerraschek/latex:latest-ubuntu-18.04
|
|
||||||
- volkerraschek/latex:latest-ubuntu-20.04
|
|
||||||
|
|
||||||
You can find a complete list of all docker images based on different
|
You can find a complete list of all docker images based on different distributions on [Docker
|
||||||
distributions on [Docker Hub](https://hub.docker.com/r/volkerraschek/latex-docker/tags).
|
Hub](https://hub.docker.com/r/volkerraschek/latex-docker/tags).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### Latexmk
|
### Latexmk
|
||||||
|
|
||||||
Here is an example based on ubuntu 18.04 to compile a PDF file with `latexmk`
|
Here is an example based on ubuntu 18.04 to compile a PDF file with `latexmk` from `index.tex`. Run this command in your
|
||||||
from `index.tex`. Run this command in your root directory of your Latex files or
|
root directory of your Latex files or change the `volume` option with the `${PWD}` variable.
|
||||||
change the `volume` option with the `${PWD}` variable.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run \
|
$ docker run \
|
||||||
--rm \
|
--rm \
|
||||||
--user="$(shell id -u):$(shell id -g)" \
|
--user="$(shell id -u):$(shell id -g)" \
|
||||||
--net="none" \
|
--net="none" \
|
||||||
--volume="${PWD}:/workspace" volkerraschek/latex:latest-ubuntu-18.04 \
|
--volume="${PWD}:/workspace" volkerraschek/latex:latest-archlinux \
|
||||||
latexmk \
|
latexmk \
|
||||||
-shell-escape \
|
-shell-escape \
|
||||||
-synctex=1 \
|
-synctex=1 \
|
||||||
@ -51,16 +39,15 @@ $ docker run \
|
|||||||
|
|
||||||
### pdflatex
|
### pdflatex
|
||||||
|
|
||||||
Here is a example based on ubuntu 18.04 to compile a PDF file with `pdflatex`
|
Here is a example based on ubuntu 18.04 to compile a PDF file with `pdflatex` from `index.tex`. Run this command in
|
||||||
from `index.tex`. Run this command in your root directory of your Latex files
|
your root directory of your Latex files or change the `volume` option with the `${PWD}` variable.
|
||||||
or change the `volume` option with the `${PWD}` variable.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run \
|
$ docker run \
|
||||||
--rm \
|
--rm \
|
||||||
--user="$(shell id -u):$(shell id -g)" \
|
--user="$(shell id -u):$(shell id -g)" \
|
||||||
--net="none" \
|
--net="none" \
|
||||||
--volume="${PWD}:/workspace" volkerraschek/latex:latest-ubuntu-18.04 \
|
--volume="${PWD}:/workspace" volkerraschek/latex:latest-archlinux \
|
||||||
pdflatex \
|
pdflatex \
|
||||||
-shell-escape \
|
-shell-escape \
|
||||||
-synctex=1 \
|
-synctex=1 \
|
||||||
|
16
build.sh
16
build.sh
@ -1,16 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
OS=${1:-archlinux}
|
|
||||||
VERSION=${2:-latest}
|
|
||||||
|
|
||||||
TAG=latest-${OS}-${VERSION}
|
|
||||||
if [ "${OS}" = "archlinux" ]; then
|
|
||||||
TAG=latest-${OS}
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker build --build-arg TAG=${VERSION} --file Dockerfile.${OS} --tag volkerraschek/latex:${TAG} .
|
|
||||||
echo ${CONTAINER_IMAGE_REGISTRY_PASSWORD} | docker login docker.io --username volkerraschek --password-stdin
|
|
||||||
docker push volkerraschek/latex:${TAG}
|
|
||||||
docker image rm volkerraschek/latex:${TAG}
|
|
Loading…
x
Reference in New Issue
Block a user