test export of sample draw.io image for documentation #151
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: | |
| jobs: | |
| Prepare: | |
| uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@r6 | |
| with: | |
| main_branch: 'master' | |
| release_branch: 'master' | |
| Simulate: | |
| uses: ./.github/workflows/Simulate.yml | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - { simulator: 'nvc', backend: '', version: 'latest', can-fail: false } | |
| - { simulator: 'ghdl', backend: 'mcode', version: 'latest', can-fail: false } | |
| - { simulator: 'ghdl', backend: 'llvm', version: 'latest', can-fail: false } | |
| with: | |
| simulator: ${{ matrix.simulator }} | |
| ghdl-version: ${{ matrix.version }} | |
| ghdl-backend: ${{ matrix.backend }} | |
| nvc-version: ${{ matrix.version }} | |
| can-fail: ${{ matrix.can-fail }} | |
| ExportDrawio: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Make script executable | |
| run: chmod +x ./tools/GitLab-CI/export-drawio.sh | |
| - name: Run draw.io export in container | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: rlespinasse/drawio-export:latest | |
| options: -v ${{ github.workspace }}:/data | |
| run: | | |
| cd /data | |
| ./tools/GitLab-CI/export-drawio.sh test.drawio | |
| - name: Upload PNG artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: drawio-png | |
| path: | | |
| *.png | |
| PublishTestResults: | |
| uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r6 | |
| needs: | |
| - Simulate | |
| # if: success() || failure() | |
| with: | |
| unittest_artifacts_pattern: 'PoC-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-24.04' | |
| needs: | |
| - Simulate | |
| - PublishTestResults | |
| # if: success() || failure() | |
| steps: | |
| - name: 🗑️ Delete YAML artifacts from matrix jobs | |
| uses: geekyeggo/delete-artifact@v5 | |
| continue-on-error: true | |
| with: | |
| name: | | |
| OSVVM-Report-YAML-* | |
| PoC-Report-YAML-* | |
| - name: 🗑️ Delete JUnit XML artifacts from matrix jobs | |
| uses: geekyeggo/delete-artifact@v5 | |
| continue-on-error: true | |
| with: | |
| name: | | |
| OSVVM-Report-XML-* | |
| PoC-Report-XML-* | |
| Documentation: | |
| uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r6 | |
| 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-24.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@dev | |
| needs: | |
| - Documentation | |
| if: (success() || failure()) && needs.Documentation.result == 'success' | |
| with: | |
| document: 'The PoC-Library' | |
| latex_artifact: 'PoC-LaTeX' | |
| pdf_artifact: 'PoC-PDF' | |
| can-fail: 'true' | |
| PublishToGitHubPages: | |
| uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r6 | |
| 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@r6 | |
| 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@r6 | |
| needs: | |
| - 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 |