Skip to content

Pipeline

Pipeline #54

Workflow file for this run

name: Pipeline
on:
push:
workflow_dispatch:
schedule:
- cron: '0 0 * * 5'
jobs:
Params:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
with:
name: VHDLDomain
# UnitTesting:
# uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
# needs:
# - Params
# with:
# jobs: ${{ needs.Params.outputs.python_jobs }}
# artifact: ${{ fromJson(needs.Params.outputs.artifact_names).unittesting_xml }}
#
# Coverage:
# uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@dev
# needs:
# - Params
# with:
# python_version: ${{ needs.Params.outputs.python_version }}
# artifact: ${{ fromJson(needs.Params.outputs.artifact_names).codecoverage_html }}
# secrets:
# codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}
#
# StaticTypeCheck:
# uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev
# needs:
# - Params
# with:
# python_version: ${{ needs.Params.outputs.python_version }}
# requirements: '-r tests/requirements.txt'
# commands: mypy --html-report htmlmypy -p VHDLDomain
# html_artifact: ${{ fromJson(needs.Params.outputs.artifact_names).statictyping_html }}
#
# PublishTestResults:
# uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
# needs:
# - UnitTesting
Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@dev
needs:
- Params
# - Coverage
with:
python_version: ${{ needs.Params.outputs.python_version }}
artifact: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }}
Release:
uses: pyTooling/Actions/.github/workflows/Release.yml@dev
if: startsWith(github.ref, 'refs/tags')
needs:
# - UnitTesting
# - Coverage
# - StaticTypeCheck
- Package
PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev
if: startsWith(github.ref, 'refs/tags')
needs:
- Params
- Release
- Package
with:
python_version: ${{ needs.Params.outputs.python_version }}
requirements: -r dist/requirements.txt
artifact: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }}
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
# VerifyDocs:
# needs:
# - Params
# name: πŸ‘ Verify example snippets using Python ${{ needs.Params.outputs.python_version }}
# runs-on: ubuntu-latest
#
# steps:
# - name: ⏬ Checkout repository
# uses: actions/checkout@v3
#
# - name: βš™ Setup GHDL
# uses: ghdl/setup-ghdl-ci@master
#
# - name: 🐍 Setup Python
# uses: actions/setup-python@v4
# with:
# python-version: "3.10"
## python-version: ${{ needs.Params.outputs.python_version }}
#
# - name: 🐍 Install dependencies
# run: |
# pip3 install --disable-pip-version-check git+https://github.com/ghdl/ghdl.git@$(ghdl version hash)
#
# - name: βœ‚ Extract code snippet from README
# shell: python
# run: |
# from pathlib import Path
# import re
#
# ROOT = Path('.')
#
# with (ROOT / 'README.md').open('r') as rptr:
# content = rptr.read()
#
# m = re.search(r"```py(thon)?(?P<code>.*?)```", content, re.MULTILINE|re.DOTALL)
#
# if m is None:
# raise Exception("Regular expression did not find the example in the README!")
#
# with (ROOT / 'tests/docs/example.py').open('w') as wptr:
# wptr.write(m["code"])
#
## - name: Print example.py
## run: cat tests/docs/example.py
#
# - name: β˜‘ Run example snippet
# working-directory: tests/docs
# run: |
# python3 example.py
BuildTheDocs:
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev
needs:
- Params
# - VerifyDocs
with:
artifact: ${{ fromJson(needs.Params.outputs.artifact_names).documentation_html }}
PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
needs:
- Params
- BuildTheDocs
# - Coverage
# - StaticTypeCheck
with:
doc: ${{ fromJson(needs.Params.outputs.artifact_names).documentation_html }}
# coverage: ${{ fromJson(needs.Params.outputs.artifact_names).codecoverage_html }}
# typing: ${{ fromJson(needs.Params.outputs.artifact_names).statictyping_html }}
ArtifactCleanUp:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev
needs:
- Params
# - UnitTesting
# - Coverage
# - StaticTypeCheck
- BuildTheDocs
- PublishToGitHubPages
# - PublishTestResults
with:
package: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }}
remaining: |
${{ fromJson(needs.Params.outputs.artifact_names).unittesting_xml }}-*
${{ fromJson(needs.Params.outputs.artifact_names).codecoverage_html }}
${{ fromJson(needs.Params.outputs.artifact_names).statictyping_html }}
${{ fromJson(needs.Params.outputs.artifact_names).documentation_html }}