Updated gitHeadLocal.gin for release v1.6.0 #112
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Compile Latex and Release PDF | |
on: | |
push: | |
tags: | |
- 'v*' | |
branches: | |
- '*' | |
jobs: | |
workflow-setup: | |
name: Workflow Setup | |
runs-on: ubuntu-24.04 | |
outputs: | |
runner: ${{ steps.texlive_runner.outputs.runner }} | |
prefix: ${{ steps.doc_prefix.outputs.prefix }} | |
prefixwithref: ${{ steps.doc_prefix.outputs.prefixwithref }} | |
pdf: ${{ steps.doc_prefix.outputs.pdf }} | |
tex: ${{ steps.doc_prefix.outputs.tex }} | |
steps: | |
- name: Get TeXLive Runner | |
id: texlive_runner | |
run: | | |
if ! [ -z "$GH_TOKEN" ]; then | |
runners=$(gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /orgs/feelpp/actions/runners) | |
texlive=$(echo $runners | jq --arg label "self-texlive" '[.runners[] | any(.labels[]; .name == $label) and .status == "online"] | any') | |
if [ "$texlive" = "false" ]; then | |
echo "runner=ubuntu-latest" >> "$GITHUB_OUTPUT" | |
else | |
echo "runner=self-texlive" >> "$GITHUB_OUTPUT" | |
fi | |
else | |
echo "runner=ubuntu-latest" >> "$GITHUB_OUTPUT" | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.TOKEN_RUNNER }} | |
- name: Get Document Prefix | |
id: doc_prefix | |
run: | | |
prefix=$(echo "${{ github.repository }}" | cut -d'/' -f2) | |
echo "prefix=$prefix" >> "$GITHUB_OUTPUT" | |
prefixwithref=$(echo "$prefix")-${{ github.ref_name }} | |
echo "prefixwithref=$prefixwithref" >> "$GITHUB_OUTPUT" | |
echo "pdf=$prefixwithref.pdf" >> "$GITHUB_OUTPUT" | |
echo "tex=$prefix.tex" >> "$GITHUB_OUTPUT" | |
- | |
name: Show Outputs | |
run: | | |
echo "runner=${{ steps.texlive_runner.outputs.runner }}" | |
echo "prefix=${{ steps.doc_prefix.outputs.prefix }}" | |
echo "prefixwithref=${{ steps.doc_prefix.outputs.prefixwithref }}" | |
echo "pdf=${{ steps.doc_prefix.outputs.pdf }}" | |
echo "tex=${{ steps.doc_prefix.outputs.tex }}" | |
build_latex: | |
needs: workflow-setup | |
runs-on: ${{ needs.workflow-setup.outputs.runner }} | |
name: Build LaTeX Artifact | |
env: | |
VERSION: ${{ github.ref_name }} | |
steps: | |
- name: Set up Git repository | |
uses: actions/checkout@v4 | |
with: | |
clean: true | |
- name: Install hooks | |
run: | | |
sh ./setup-hooks.sh | |
git checkout ${{ github.ref }} # checkout the branch or tag to update gitinfo2 | |
- name: Compile LaTeX document | |
uses: xu-cheng/latex-action@v3 | |
if: ${{ needs.workflow-setup.outputs.runner == 'ubuntu-latest' }} | |
with: | |
root_file: ${{ needs.workflow-setup.outputs.tex }} | |
latexmk_shell_escape: true | |
post_compile: "latexmk -c; rm -rf _minted*" | |
- name: Compile LaTeX document | |
if: ${{ needs.workflow-setup.outputs.runner == 'self-texlive' }} | |
run: | | |
latexmk -shell-escape -pdf -file-line-error -halt-on-error -interaction=nonstopmode ${{ needs.workflow-setup.outputs.tex }} | |
- name: Rename PDF | |
run: mv ${{ needs.workflow-setup.outputs.prefix }}.pdf ${{ needs.workflow-setup.outputs.pdf }} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ needs.workflow-setup.outputs.prefixwithref }} | |
path: | | |
./*.tex | |
./*.bib | |
./*.gin | |
./*.bbl | |
./${{ needs.workflow-setup.outputs.pdf }} | |
./README.adoc | |
./img-* | |
./release | |
./setup-hooks.sh | |
!./.git* | |
!./.github* | |
!./.vscode* | |
!./.idea* | |
!./.DS_Store* | |
!./.gitignore* | |
check: | |
needs: [build_latex,workflow-setup] | |
runs-on: ${{ needs.workflow-setup.outputs.runner }} | |
name: Check LaTeX Artifact | |
steps: | |
- | |
name: Download Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ${{ needs.workflow-setup.outputs.prefixwithref }} | |
path: ${{ github.workspace }}/artifact | |
- | |
name: List Artifact | |
run: ls -R ${{ github.workspace }} | |
- | |
name: Check compilation of LaTeX document from artifact | |
if: ${{ needs.workflow-setup.outputs.runner == 'ubuntu-latest' }} | |
uses: xu-cheng/latex-action@v3 | |
with: | |
root_file: ${{ needs.workflow-setup.outputs.tex }} | |
latexmk_shell_escape: true | |
post_compile: "latexmk -c; rm -rf _minted*" | |
working_directory: ${{ github.workspace }}/artifact | |
- | |
name: Check compilation of LaTeX document from artifact | |
if: ${{ needs.workflow-setup.outputs.runner == 'self-texlive' }} | |
run: | | |
latexmk -shell-escape -pdf -file-line-error -halt-on-error -interaction=nonstopmode ${{ needs.workflow-setup.outputs.tex }} | |
working-directory: ${{ github.workspace }}/artifact | |
release: | |
needs: [workflow-setup,build_latex, check] | |
runs-on: ${{ needs.workflow-setup.outputs.runner }} | |
name: Create Release | |
if: startsWith(github.ref, 'refs/tags/v') | |
steps: | |
- name: Download Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: ${{ needs.workflow-setup.outputs.prefixwithref }} | |
path: ${{ github.workspace }}/artifact | |
- name: Archive Article | |
run: | | |
temp_dir=$(mktemp -d) | |
tar -czvf "${temp_dir}/${{ needs.workflow-setup.outputs.prefixwithref }}.tar.gz" -C artifact ./ | |
mv "${temp_dir}/${{ needs.workflow-setup.outputs.prefixwithref }}.tar.gz" ./ | |
rm -rf "$temp_dir" | |
- name: Create Release | |
id: create_release | |
uses: softprops/action-gh-release@v2 | |
with: | |
draft: false | |
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') || contains(github.ref, 'preview') }} | |
name: Release ${{ github.ref_name }} | |
generate_release_notes: true | |
tag_name: ${{ github.ref }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
files: | | |
artifact/${{ needs.workflow-setup.outputs.prefixwithref }}.pdf | |
${{ needs.workflow-setup.outputs.prefixwithref }}.tar.gz |