Skip to content

Fix LuaLaTeX documentation flow #248

Fix LuaLaTeX documentation flow

Fix LuaLaTeX documentation flow #248

Workflow file for this run

name: Verify PoC and Generate Documentation
on:
push:
pull_request:
workflow_dispatch:
permissions:
actions: write
contents: write
pages: write
id-token: write
jobs:
Prepare:
uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@r7
with:
main_branch: 'main'
release_branch: 'main'
Simulate:
uses: ./.github/workflows/Simulate.yml
strategy:
fail-fast: false
matrix:
include:
- {ubuntu-version: 'ubuntu-26.04', simulator: 'nvc', backend: '', version: 'latest', can-fail: false}
- {ubuntu-version: 'ubuntu-26.04', simulator: 'ghdl', backend: 'mcode', version: 'nightly', can-fail: false}
- {ubuntu-version: 'ubuntu-26.04', simulator: 'ghdl', backend: 'llvm', version: 'nightly', can-fail: false}
with:
ubuntu-version: ${{ matrix.ubuntu-version }}
simulator: ${{ matrix.simulator }}
ghdl-version: ${{ matrix.version }}
ghdl-backend: ${{ matrix.backend }}
nvc-version: ${{ matrix.version }}
can-fail: ${{ matrix.can-fail }}
PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r7
needs:
- Simulate
# if: success() || failure()
with:
unittest_artifacts_pattern: 'SimPoC-Report-XML-*'
testsuite-summary-name: 'The PoC Library'
merge-input-dialect: 'Any-JUnit'
merged_junit_filename: 'unittest.xml'
merged_junit_artifact: 'PoC-Report-XML'
dorny: ${{ inputs.dorny }}
# codecov: ${{ inputs.codecov }}
# secrets:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
IntermediateCleanUp:
name: 🗑️ Intermediate Artifact Cleanup
runs-on: 'ubuntu-26.04'
needs:
- Simulate
- PublishTestResults
# if: success() || failure()
steps:
- name: 🗑️ Delete YAML artifacts from matrix jobs
uses: geekyeggo/delete-artifact@v6
continue-on-error: true
with:
name: |
OSVVM-Report-YAML-*
PoC-Report-YAML-*
- name: 🗑️ Delete JUnit XML artifacts from matrix jobs
uses: geekyeggo/delete-artifact@v6
continue-on-error: true
with:
name: |
OSVVM-Report-XML-*
PoC-Report-XML-*
# IntermediateCleanUp:
# uses: pyTooling/Actions/.github/workflows/CleanupArtifacts.yml@r7
# needs:
# - PublishCoverageResults
# - PublishPytestResults
# with:
# others: |
# pyGHDL-Coverage-SQLite-*
# pyGHDL-Unittest-XML-*
Documentation:
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r7
needs:
- PublishTestResults
# if: success() || failure()
with:
requirements: '-r docs/requirements.txt'
doc_directory: 'docs'
unittest_xml_artifact: 'PoC-Report-XML'
html_artifact: 'PoC-HTML'
latex_artifact: 'PoC-LaTeX'
Test:
runs-on: 'ubuntu-26.04'
needs:
- Simulate
- PublishTestResults
- Documentation
# if: success() || failure()
steps:
- run: |
printf "Simulate: '%s'\n" "${{ needs.Simulate.result }}"
printf "PublishTestResults: '%s'\n" "${{ needs.PublishTestResults.result }}"
printf "Documentation: '%s'\n" "${{ needs.Documentation.result }}"
PDFDocumentation:
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r7
needs:
- Documentation
if: (success() || failure()) && needs.Documentation.result == 'success'
with:
document: 'PoC'
latex_artifact: 'PoC-LaTeX'
pdf_artifact: 'PoC-PDF'
can-fail: 'true'
# TODO: only when on master branch
PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r7
needs:
- Documentation
- Simulate
# if: (success() || failure()) && needs.Documentation.result == 'success'
with:
doc: 'PoC-HTML'
# coverage: 'PoC-Coverage-HTML'
AutoTag:
uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@r7
needs:
- Prepare
- PublishToGitHubPages
if: needs.Prepare.outputs.is_release_commit == 'true' && github.event_name != 'schedule'
permissions:
contents: write # required for create tag
actions: write # required for trigger workflow
with:
version: ${{ needs.Prepare.outputs.version }}
auto_tag: ${{ needs.Prepare.outputs.is_release_commit }}
Release:
uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@r7
needs:
- Prepare
- PublishToGitHubPages
if: needs.Prepare.outputs.is_release_tag == 'true'
permissions:
contents: write
actions: write
with:
prerelease: true
replacements: |
poc=${{ needs.Prepare.outputs.version }}
tag: ${{ needs.Prepare.outputs.version }}
description: |
# The PoC-Library %poc%
inventory-json: "inventory.json"
inventory-version: ${{ needs.Prepare.outputs.version }}
assets: |
secrets: inherit