latex/.github/workflows/main.yml

100 lines
3.4 KiB
YAML

name: Deploy
on:
push:
branches:
- master
schedule:
- cron: 0 18 * * *
jobs:
build-infraonly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to Dockerhub
run: echo ${{secrets.DOCKERHUB_PASSWORD}} | docker login -u ${{secrets.DOCKERHUB_USER}} --password-stdin
- name: Build infraonly
working-directory: ./scratch
run: docker build -t ${{secrets.DOCKERHUB_USER}}/latex:infraonly-incremental .
- name: Upload infraonly-incremental image
run: docker push ${{secrets.DOCKERHUB_USER}}/latex:infraonly-incremental
- name: Upload infraonly image
run: |
docker tag ${{secrets.DOCKERHUB_USER}}/latex:infraonly-incremental ${{secrets.DOCKERHUB_USER}}/latex:infraonly
docker push ${{secrets.DOCKERHUB_USER}}/latex:infraonly
build-incremental:
runs-on: ubuntu-latest
needs: [build-infraonly]
strategy:
max-parallel: 1
fail-fast: true
matrix:
scheme : [minimal, basic, small, context, gust, medium, tetex, full]
include:
- scheme: minimal
source: infraonly
- scheme: basic
source: minimal
- scheme: small
source: basic
- scheme: context
source: small
- scheme: gust
source: context
- scheme: medium
source: gust
- scheme: tetex
source: medium
- scheme: full
source: tetex
isLatest: true
steps:
- uses: actions/checkout@v2
- name: Login to Dockerhub
run: echo ${{secrets.DOCKERHUB_PASSWORD}} | docker login -u ${{secrets.DOCKERHUB_USER}} --password-stdin
- name: Build ${{matrix.scheme}}
working-directory: ./incrental
run: docker build -t ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}-incremental --build-arg SOURCE=${{matrix.source}} --build-arg SCHEME=${{matrix.scheme}} .
- name: Upload ${{matrix.scheme}}-incremental
run: docker push ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}-incremental
- name: Upload ${{matrix.scheme}}
run: |
docker tag ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}-incremental ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}
docker push ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}
- name: Tag as latest
if: matrix.isLatest
run: |
docker tag ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}-incremental ${{secrets.DOCKERHUB_USER}}/latex:latest
docker push ${{secrets.DOCKERHUB_USER}}/latex:latest
build-scratch:
runs-on: ubuntu-latest
needs: [build-infraonly]
strategy:
matrix:
scheme: [minimal, basic, small, context, gust, medium, tetex, full]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Login to Dockerhub
run: echo ${{secrets.DOCKERHUB_PASSWORD}} | docker login -u ${{secrets.DOCKERHUB_USER}} --password-stdin
- name: Build ${{matrix.scheme}} from scratch
working-directory: ./scratch
run: docker build -t ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}-scratch --build-arg SCHEME=${{matrix.scheme}}.
- name: Upload ${{matrix.scheme}}-scratch image
run: docker push ${{secrets.DOCKERHUB_USER}}/latex:${{matrix.scheme}}-scratch