Skip to content

Preparation of new development cycle #62

Preparation of new development cycle

Preparation of new development cycle #62

name: Build
on:
pull_request:
push:
branches:
main
concurrency:
group: "${{ github.workflow }}-${{ github.head_ref || github.ref }}"
cancel-in-progress: true
jobs:
ctan:
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v4
- name: release.sh
# We need java, pandoc, and more, which is not provided directly by the image
uses: dante-ev/latex-action@edge
with:
entrypoint: ./release.sh
- uses: actions/upload-artifact@v4
with:
name: ctan
path: plantuml.tar.gz
build_and_ghpages:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Cache PlantUML jar
id: cache-plantuml
uses: actions/cache@v4
with:
path: /tmp/plantuml
key: plantuml-asl-1.2024.6.jar
- name: wget PlantUML jar
if: steps.cache-plantuml.outputs.cache-hit != 'true'
run: |
mkdir /tmp/plantuml
cd /tmp/plantuml
wget https://github.com/plantuml/plantuml/releases/download/v1.2024.6/plantuml-asl-1.2024.6.jar
- name: Set PLANTUML_JAR
run: echo "PLANTUML_JAR=/tmp/plantuml/plantuml-asl-1.2024.6.jar" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: graphviz inkscape
version: 1.0
execute_install_scripts: true
- run: dpkg -L inkscape
- run: which inkscape
- name: Install TeX Live
uses: zauguin/install-texlive@v3
with:
package_file: tl_packages
- name: example-minimal
run: lualatex -shell-escape example-minimal.tex
- name: example-class-relations--latex
run: lualatex -shell-escape example-class-relations--latex
- name: example-class-relations--svg
run: lualatex -shell-escape example-class-relations--svg
- name: example-component-diagram
run: lualatex -shell-escape example-component-diagram
- name: example-multiple-diagrams-svg
run: lualatex -shell-escape example-multiple-diagrams-svg
- name: Gather build artifacts
run: |
mkdir build
mv example-*.pdf build/
mv example-*.png build/
cp -r README.md .github/_config.yml build/
- name: Publish to GitHub pages
if: github.ref == 'refs/heads/main'
uses: crazy-max/ghaction-github-pages@v4
with:
target_branch: gh-pages
build_dir: build/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/upload-artifact@v4
if: github.ref != 'refs/heads/main'
with:
name: gh-pages
path: build/