Fix LuaLaTeX documentation flow (#44) #251
This file contains hidden or 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: 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 |