Compare commits

..

44 Commits

Author SHA1 Message Date
Patrick Lehmann
d6342484cd v5.4.0 2025-08-29 22:14:18 +02:00
Patrick Lehmann
ba3d82668e Allow configuration of JUnit dialects. 2025-08-29 21:57:36 +02:00
Patrick Lehmann
4b0b103c5f v5.3.0 2025-08-29 07:49:24 +02:00
Patrick Lehmann
ba6f55dd57 Support cross-repository pull request runs from forks. 2025-08-28 22:36:35 +02:00
Patrick Lehmann
d48de1d02d v5.2.0 2025-08-17 13:21:18 +02:00
Patrick Lehmann
744f08b9bf Tag release only if not a scheduled CI run. 2025-08-17 10:44:31 +02:00
Patrick Lehmann
fb546453ae Bumped dependencies. 2025-08-13 01:09:26 +02:00
Patrick Lehmann
1a3ba03626 Check pytest outcome. 2025-07-27 22:32:42 +02:00
Patrick Lehmann
4d2d4c47fc Upload merged unit tests as artifact even if some test cases failed. 2025-07-16 08:26:01 +02:00
Patrick Lehmann
962827936c Build Sphinx documentation, even if some testcases have failed. 2025-07-15 22:35:13 +02:00
Patrick Lehmann
2307b526df v5.1.0 2025-06-20 02:09:09 +02:00
Patrick Lehmann
2ee14e88a2 v5.0.0 2025-06-16 15:14:28 +02:00
Patrick Lehmann
33edd82e6f v4.3.0 2025-04-18 10:39:54 +02:00
Patrick Lehmann
42e17fae05 v4.2.2 2025-03-07 21:12:53 +01:00
Patrick Lehmann
c81d139080 v4.2.1 2025-03-02 15:55:14 +01:00
Patrick Lehmann
78fdb584aa v4.2.0 2025-02-28 22:59:27 +01:00
Patrick Lehmann
679ec24c80 v4.1.0 2025-01-16 21:50:03 +01:00
Patrick Lehmann
b1e4cb961f v4.0.1 2025-01-14 21:16:37 +01:00
Patrick Lehmann
5d8a608893 v4.0.0 2025-01-14 17:03:38 +01:00
Patrick Lehmann
9ceefdbf5d v3.1.1 2024-12-08 23:44:56 +01:00
Patrick Lehmann
fdee9e011f v3.1.0 2024-12-08 21:27:59 +01:00
Patrick Lehmann
9e0b1c69f1 v3.0.0 2024-12-08 09:43:32 +01:00
Patrick Lehmann
9338fbd106 v2.0.1 2024-11-10 21:15:14 +01:00
Patrick Lehmann
bef77effcb v2.1.0 2024-11-10 19:03:51 +01:00
Patrick Lehmann
e7e95b446d v2.0.0 2024-11-10 11:18:28 +01:00
Patrick Lehmann
bf6ba9ba19 v1.1.0 2024-09-27 21:36:25 +02:00
Patrick Lehmann
5dc19a5d65 Merge branch 'cherry-picking' 2024-08-06 10:12:18 +02:00
Patrick Lehmann
188feb556b Fixed next expected parameter set. 2024-08-06 10:11:02 +02:00
Patrick Lehmann
d58db55086 Improved actual vs. expected prints. 2024-08-06 10:05:14 +02:00
Patrick Lehmann
ee9a3fbdcd Remove macOS with Python 3.8, 3.9 from expected list. 2024-08-06 09:54:41 +02:00
Patrick Lehmann
8dfc484c42 Merge branch 'cherry-picking' 2024-08-06 09:44:19 +02:00
Patrick Lehmann
960b7089e7 Fixed import problem.
(cherry picked from commit 33b99a3b4e)
2024-08-06 09:44:05 +02:00
Patrick Lehmann
706ef39595 Merge branch 'fix-releaser' 2024-08-06 09:34:17 +02:00
Patrick Lehmann
04881fc4ca fix(releaser): Use '--break-system-packages' only for Ubuntu 24.04.
(cherry picked from commit e444e57112)
2024-08-06 09:33:12 +02:00
Patrick Lehmann
0495bfb18c fix(releaser): fix failure to install PyGithub (#81) 2024-07-30 07:32:15 +02:00
Silverlan
7879c05ab7 fix(releaser): fix failure to install PyGithub
This fixes the error message:
× This environment is externally managed
2024-05-28 17:39:29 +02:00
Patrick Lehmann
e9d0dc3dba v1.0.5 2024-04-24 23:06:13 +02:00
Patrick Lehmann
ae32d20719 Merge branch 'dev' 2024-04-24 00:41:32 +02:00
Patrick Lehmann
87fa2b693a v1.0.3 2024-04-24 00:32:05 +02:00
Patrick Lehmann
6d039bba90 v1.0.2 2024-04-23 23:56:28 +02:00
Patrick Lehmann
3b95a36955 Upgrade with-post-step action to run using the Node.js 20.x runtime 2024-03-27 18:17:23 +01:00
Erich Soares Machado
583eed8c84 Upgrade with-post-step action to run using the Node.js 20.x runtime 2024-03-27 10:48:02 -04:00
Patrick Lehmann
60281e01e2 v1.0.1 2024-02-01 00:22:26 +01:00
Patrick Lehmann
66572dca45 v1.0.0 2024-01-19 01:11:59 +01:00
30 changed files with 201 additions and 151 deletions

View File

@@ -86,10 +86,10 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 📥 Download artifacts '${{ inputs.wheel }}' from 'Package' job - name: 📥 Download artifacts '${{ inputs.wheel }}' from 'Package' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
with: with:
name: ${{ inputs.wheel }} name: ${{ inputs.wheel }}
path: install path: install

View File

@@ -41,7 +41,7 @@ jobs:
run: printf "::warning title=%s::%s\n" "Deprecated" "'BuildTheDocs.yml' is not maintained anymore. Please switch to 'SphinxDocumentation.yml', 'LaTeXDocumentation.yml' and 'ExtractConfiguration.yml'." run: printf "::warning title=%s::%s\n" "Deprecated" "'BuildTheDocs.yml' is not maintained anymore. Please switch to 'SphinxDocumentation.yml', 'LaTeXDocumentation.yml' and 'ExtractConfiguration.yml'."
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 🛳️ Build documentation - name: 🛳️ Build documentation
uses: buildthedocs/btd@v0 uses: buildthedocs/btd@v0

View File

@@ -50,7 +50,7 @@ jobs:
runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}" runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}"
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 🐍 Setup Python ${{ inputs.python_version }} - name: 🐍 Setup Python ${{ inputs.python_version }}
uses: actions/setup-python@v5 uses: actions/setup-python@v5

View File

@@ -33,11 +33,6 @@ on:
description: 'Name of the tool''s package.' description: 'Name of the tool''s package.'
required: true required: true
type: string type: string
documentation:
description: 'Name of documentation document.'
required: false
default: ''
type: string
unittest_python_version: unittest_python_version:
description: 'Python version.' description: 'Python version.'
required: false required: false
@@ -131,16 +126,16 @@ on:
jobs: jobs:
Prepare: Prepare:
uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@dev uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@main
ConfigParams: ConfigParams:
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@dev uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@main
with: with:
package_namespace: ${{ inputs.package_namespace }} package_namespace: ${{ inputs.package_namespace }}
package_name: ${{ inputs.package_name }} package_name: ${{ inputs.package_name }}
UnitTestingParams: UnitTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
package_namespace: ${{ inputs.package_namespace }} package_namespace: ${{ inputs.package_namespace }}
package_name: ${{ inputs.package_name }} package_name: ${{ inputs.package_name }}
@@ -152,7 +147,7 @@ jobs:
disable_list: ${{ inputs.unittest_disable_list }} disable_list: ${{ inputs.unittest_disable_list }}
# AppTestingParams: # AppTestingParams:
# uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev # uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
# with: # with:
# package_namespace: ${{ inputs.package_namespace }} # package_namespace: ${{ inputs.package_namespace }}
# package_name: ${{ inputs.package_name }} # package_name: ${{ inputs.package_name }}
@@ -164,7 +159,7 @@ jobs:
# disable_list: ${{ inputs.apptest_disable_list }} # disable_list: ${{ inputs.apptest_disable_list }}
InstallParams: InstallParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
package_namespace: ${{ inputs.package_namespace }} package_namespace: ${{ inputs.package_namespace }}
package_name: ${{ inputs.package_name }} package_name: ${{ inputs.package_name }}
@@ -176,7 +171,7 @@ jobs:
disable_list: ${{ inputs.unittest_disable_list }} disable_list: ${{ inputs.unittest_disable_list }}
UnitTesting: UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -191,7 +186,7 @@ jobs:
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }} coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
StaticTypeCheck: StaticTypeCheck:
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -204,7 +199,7 @@ jobs:
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
DocCoverage: DocCoverage:
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -213,7 +208,7 @@ jobs:
directory: ${{ needs.ConfigParams.outputs.package_directory }} directory: ${{ needs.ConfigParams.outputs.package_directory }}
Package: Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@dev uses: pyTooling/Actions/.github/workflows/Package.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
# - UnitTesting # - UnitTesting
@@ -222,7 +217,7 @@ jobs:
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
Install: Install:
uses: pyTooling/Actions/.github/workflows/InstallPackage.yml@dev uses: pyTooling/Actions/.github/workflows/InstallPackage.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -234,7 +229,7 @@ jobs:
package_name: ${{ needs.ConfigParams.outputs.package_fullname }} package_name: ${{ needs.ConfigParams.outputs.package_fullname }}
# AppTesting: # AppTesting:
# uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@dev # uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@main
# needs: # needs:
# - AppTestingParams # - AppTestingParams
# - UnitTestingParams # - UnitTestingParams
@@ -245,11 +240,12 @@ jobs:
# apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }} # apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}
PublishCoverageResults: PublishCoverageResults:
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
- UnitTesting - UnitTesting
if: success() || failure()
with: with:
# coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }} # coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
# coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }} # coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
@@ -267,11 +263,12 @@ jobs:
CODACY_TOKEN: ${{ secrets.CODACY_TOKEN }} CODACY_TOKEN: ${{ secrets.CODACY_TOKEN }}
PublishTestResults: PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
- UnitTesting - UnitTesting
if: success() || failure()
with: with:
testsuite-summary-name: ${{ needs.ConfigParams.outputs.package_fullname }} testsuite-summary-name: ${{ needs.ConfigParams.outputs.package_fullname }}
merged_junit_filename: ${{ needs.ConfigParams.outputs.unittest_merged_report_xml_filename }} merged_junit_filename: ${{ needs.ConfigParams.outputs.unittest_merged_report_xml_filename }}
@@ -282,20 +279,21 @@ jobs:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# VerifyDocs: # VerifyDocs:
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev # uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@main
# needs: # needs:
# - UnitTestingParams # - UnitTestingParams
# with: # with:
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }} # python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
Documentation: Documentation:
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@dev uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
- PublishTestResults - PublishTestResults
- PublishCoverageResults - PublishCoverageResults
# - VerifyDocs # - VerifyDocs
if: success() || failure()
with: with:
python_version: ${{ needs.UnitTestingParams.outputs.python_version }} python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }} coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
@@ -305,28 +303,28 @@ jobs:
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }} latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
IntermediateCleanUp: IntermediateCleanUp:
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@dev uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- PublishCoverageResults - PublishCoverageResults
- PublishTestResults - PublishTestResults
if: inputs.cleanup == 'true' if: ( success() || failure() ) && inputs.cleanup == 'true'
with: with:
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}- sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}- xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
PDFDocumentation: # PDFDocumentation:
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@latex # uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@main
needs: # needs:
- UnitTestingParams # - UnitTestingParams
- Documentation # - Documentation
with: # with:
document: ${{ inputs.documentation }} # document: pyEDAA.ProjectModel
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }} # latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }} # pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
PublishToGitHubPages: PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- Documentation - Documentation
@@ -339,7 +337,7 @@ jobs:
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
TriggerTaggedRelease: TriggerTaggedRelease:
uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@dev uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@main
needs: needs:
- Prepare - Prepare
- UnitTesting - UnitTesting
@@ -348,7 +346,7 @@ jobs:
# - StaticTypeCheck # - StaticTypeCheck
- Package - Package
- PublishToGitHubPages - PublishToGitHubPages
if: needs.Prepare.outputs.is_release_commit if: needs.Prepare.outputs.is_release_commit && github.event_name != 'schedule'
permissions: permissions:
contents: write # required for create tag contents: write # required for create tag
actions: write # required for trigger workflow actions: write # required for trigger workflow
@@ -358,7 +356,7 @@ jobs:
secrets: inherit secrets: inherit
ReleasePage: ReleasePage:
uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@dev uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@main
needs: needs:
- Prepare - Prepare
- UnitTesting - UnitTesting
@@ -376,7 +374,7 @@ jobs:
secrets: inherit secrets: inherit
PublishOnPyPI: PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@main
needs: needs:
- Prepare - Prepare
- UnitTestingParams - UnitTestingParams
@@ -391,13 +389,13 @@ jobs:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
ArtifactCleanUp: ArtifactCleanUp:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- UnitTesting - UnitTesting
- StaticTypeCheck - StaticTypeCheck
- Documentation - Documentation
- PDFDocumentation # - PDFDocumentation
- PublishTestResults - PublishTestResults
- PublishCoverageResults - PublishCoverageResults
- PublishToGitHubPages - PublishToGitHubPages

View File

@@ -75,7 +75,7 @@ jobs:
run: printf "::warning title=%s::%s\n" "Deprecated" "'CoverageCollection.yml' is not maintained anymore. Please switch to 'UnitTesting.yml', 'PublishCoverageResults.yml' and 'PublishTestResults.yml'." run: printf "::warning title=%s::%s\n" "Deprecated" "'CoverageCollection.yml' is not maintained anymore. Please switch to 'UnitTesting.yml', 'PublishCoverageResults.yml' and 'PublishTestResults.yml'."
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
lfs: true lfs: true
submodules: true submodules: true

View File

@@ -123,7 +123,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 🐍 Setup Python ${{ inputs.python_version }} - name: 🐍 Setup Python ${{ inputs.python_version }}
uses: actions/setup-python@v5 uses: actions/setup-python@v5

View File

@@ -53,7 +53,7 @@ jobs:
steps: steps:
- name: 📥 Download artifacts '${{ inputs.wheel }}' from 'Package' job - name: 📥 Download artifacts '${{ inputs.wheel }}' from 'Package' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
with: with:
name: ${{ inputs.wheel }} name: ${{ inputs.wheel }}
path: install path: install

View File

@@ -43,37 +43,33 @@ on:
required: false required: false
default: '' default: ''
type: string type: string
miktex_image:
description: 'Name of the MikTeX image.'
required: false
default: 'pytooling/miktex:latest'
type: string
jobs: jobs:
PDFDocumentation: PDFDocumentation:
name: 📓 Converting LaTeX Documentation to PDF name: 📓 Converting LaTeX Documentation to PDF
runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}" runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}"
container:
image: ${{ inputs.miktex_image }}
steps: steps:
- name: 📥 Download artifacts '${{ inputs.latex_artifact }}' from 'SphinxDocumentation' job - name: 📥 Download artifacts '${{ inputs.latex_artifact }}' from 'SphinxDocumentation' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
with: with:
name: ${{ inputs.latex_artifact }} name: ${{ inputs.latex_artifact }}
path: latex path: latex
- name: Version check - name: Debug
run: | run: |
echo "which pdflatex: $(which pdflatex)" tree -pash .
echo ""
pdflatex --version
- name: Version check - name: Build LaTeX document using 'pytooling/miktex:sphinx'
run: | uses: addnab/docker-run-action@v3
cd latex with:
ls -lAh *.tex image: pytooling/miktex:sphinx
latexmk ${{ inputs.document }}.tex options: -v ${{ github.workspace }}/latex:/latex --workdir /latex
run: |
which pdflatex
pwd
ls -lAh
latexmk -xelatex ${{ inputs.document }}.tex
- name: 📤 Upload 'PDF Documentation' artifact - name: 📤 Upload 'PDF Documentation' artifact
uses: pyTooling/upload-artifact@v4 uses: pyTooling/upload-artifact@v4

View File

@@ -101,7 +101,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
# The command 'git describe' (used for version) needs the history. # The command 'git describe' (used for version) needs the history.
fetch-depth: 0 fetch-depth: 0

View File

@@ -53,7 +53,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
lfs: true lfs: true
submodules: true submodules: true

View File

@@ -103,11 +103,11 @@ jobs:
version: ${{ steps.Classify.outputs.version || steps.FindPullRequest.outputs.pr_version }} version: ${{ steps.Classify.outputs.version || steps.FindPullRequest.outputs.pr_version }}
# release_version: ${{ steps.FindPullRequest.outputs.release_version }} # release_version: ${{ steps.FindPullRequest.outputs.release_version }}
pr_title: ${{ steps.FindPullRequest.outputs.pr_title }} pr_title: ${{ steps.FindPullRequest.outputs.pr_title }}
pr_number: ${{ steps.FindPullRequest.outputs.pr_number }} pr_number: ${{ steps.Classify.outputs.pr_number || steps.FindPullRequest.outputs.pr_number }}
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
# The command 'git describe' (used for version) needs the history. # The command 'git describe' (used for version) needs the history.
fetch-depth: 0 fetch-depth: 0
@@ -144,6 +144,7 @@ jobs:
ref_kind="unknown" ref_kind="unknown"
branch="" branch=""
tag="" tag=""
pr_number=""
version="" version=""
if [[ "${ref:0:11}" == "refs/heads/" ]]; then if [[ "${ref:0:11}" == "refs/heads/" ]]; then
@@ -225,6 +226,13 @@ jobs:
printf "::error title=RexExpCheck::Tag name '%s' doesn't conform to regexp '%s' nor '%s'.\n" "${tag}" "${NIGHTLY_TAG_PATTERN}" "${RELEASE_TAG_PATTERN}" printf "::error title=RexExpCheck::Tag name '%s' doesn't conform to regexp '%s' nor '%s'.\n" "${tag}" "${NIGHTLY_TAG_PATTERN}" "${RELEASE_TAG_PATTERN}"
exit 1 exit 1
fi fi
elif [[ "${ref:0:10}" == "refs/pull/" ]]; then
ref_kind="pullrequest"
pr_number=${ref:11}
pr_number=${pr_number%%/*}
printf "Pull Request check:\n"
printf " Number: %s\n" "${pr_number}"
else else
printf "${ANSI_LIGHT_RED}Unknown Git reference '%s'.${ANSI_NOCOLOR}\n" "${{ github.ref }}" printf "${ANSI_LIGHT_RED}Unknown Git reference '%s'.${ANSI_NOCOLOR}\n" "${{ github.ref }}"
printf "::error title=Classify Commit::Unknown Git reference '%s'.\n" "${{ github.ref }}" printf "::error title=Classify Commit::Unknown Git reference '%s'.\n" "${{ github.ref }}"
@@ -243,6 +251,7 @@ jobs:
ref_kind=${ref_kind} ref_kind=${ref_kind}
branch=${branch} branch=${branch}
tag=${tag} tag=${tag}
pr_number=${pr_number}
version=${version} version=${version}
EOF EOF
@@ -327,8 +336,10 @@ jobs:
printf "ref_kind: %s\n" "${{ steps.Classify.outputs.ref_kind }}" printf "ref_kind: %s\n" "${{ steps.Classify.outputs.ref_kind }}"
printf "branch: %s\n" "${{ steps.Classify.outputs.branch }}" printf "branch: %s\n" "${{ steps.Classify.outputs.branch }}"
printf "tag: %s\n" "${{ steps.Classify.outputs.tag }}" printf "tag: %s\n" "${{ steps.Classify.outputs.tag }}"
printf "version from tag: %s\n" "${{ steps.Classify.outputs.version }}"
printf "version from pr: %s\n" "${{ steps.FindPullRequest.outputs.pr_version }}"
printf "version: %s\n" "${{ steps.Classify.outputs.version || steps.FindPullRequest.outputs.pr_version }}" printf "version: %s\n" "${{ steps.Classify.outputs.version || steps.FindPullRequest.outputs.pr_version }}"
printf " from tag: %s\n" "${{ steps.Classify.outputs.version }}"
printf " from pr: %s\n" "${{ steps.FindPullRequest.outputs.pr_version }}"
printf "pr title: %s\n" "${{ steps.FindPullRequest.outputs.pr_title }}" printf "pr title: %s\n" "${{ steps.FindPullRequest.outputs.pr_title }}"
printf "pr number: %s\n" "${{ steps.FindPullRequest.outputs.pr_number }}" printf "pr number: %s\n" "${{ steps.Classify.outputs.pr_number || steps.FindPullRequest.outputs.pr_number }}"
printf " from merge: %s\n" "${{ steps.Classify.outputs.pr_number }}"
printf " from pr: %s\n" "${{ steps.FindPullRequest.outputs.pr_number }}"

View File

@@ -109,13 +109,13 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
lfs: true lfs: true
submodules: true submodules: true
- name: 📥 Download Artifacts - name: 📥 Download Artifacts
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
with: with:
pattern: ${{ inputs.coverage_artifacts_pattern }} pattern: ${{ inputs.coverage_artifacts_pattern }}
path: artifacts path: artifacts

View File

@@ -56,7 +56,7 @@ jobs:
steps: steps:
- name: 📥 Download artifacts '${{ inputs.artifact }}' from 'Package' job - name: 📥 Download artifacts '${{ inputs.artifact }}' from 'Package' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
with: with:
name: ${{ inputs.artifact }} name: ${{ inputs.artifact }}
path: dist path: dist

View File

@@ -133,7 +133,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
# The command 'git describe' (used for version) needs the history. # The command 'git describe' (used for version) needs the history.
fetch-depth: 0 fetch-depth: 0

View File

@@ -44,6 +44,16 @@ on:
required: false required: false
default: '' default: ''
type: string type: string
merge-input-dialect:
description: 'JUnit dialect used to load and parse inputs for merging.'
required: false
default: 'pyTest-JUnit'
type: string
merge-output-dialect:
description: 'JUnit dialect used for writing the merged report.'
required: false
default: 'pyTest-JUnit'
type: string
additional_merge_args: additional_merge_args:
description: 'Additional merging arguments.' description: 'Additional merging arguments.'
required: false required: false
@@ -92,10 +102,10 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 📥 Download Artifacts - name: 📥 Download Artifacts
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
with: with:
pattern: ${{ inputs.unittest_artifacts_pattern }} pattern: ${{ inputs.unittest_artifacts_pattern }}
path: artifacts path: artifacts
@@ -116,13 +126,18 @@ jobs:
- name: 🔁 Merge JUnit Unit Test Summaries - name: 🔁 Merge JUnit Unit Test Summaries
run: | run: |
pyedaa-reports -v unittest "--name=${{ inputs.testsuite-summary-name }}" "--merge=pyTest-JUnit:junit/*.xml" ${{ inputs.additional_merge_args }} "--output=pyTest-JUnit:${{ inputs.merged_junit_filename }}" if [[ -n "${{ inputs.testsuite-summary-name }}" ]]; then
name="\"--name=${{ inputs.testsuite-summary-name }}\""
fi
pyedaa-reports -v unittest $name "--merge=${{ inputs.merge-input-dialect }}:junit/*.xml" ${{ inputs.additional_merge_args }} "--output=${{ inputs.merge-output-dialect }}:${{ inputs.merged_junit_filename }}"
printf "%s\n" "cat ${{ inputs.merged_junit_filename }}" printf "%s\n" "cat ${{ inputs.merged_junit_filename }}"
cat ${{ inputs.merged_junit_filename }} cat ${{ inputs.merged_junit_filename }}
- name: 📊 Publish Unit Test Results - name: 📊 Publish Unit Test Results
uses: dorny/test-reporter@v2 uses: dorny/test-reporter@v2
id: test-reporter
if: ( inputs.dorny == 'true' || inputs.publish == 'true' ) && inputs.report_title != '' if: ( inputs.dorny == 'true' || inputs.publish == 'true' ) && inputs.report_title != ''
continue-on-error: true
with: with:
name: ${{ inputs.report_title }} name: ${{ inputs.report_title }}
path: ${{ inputs.merged_junit_filename }} path: ${{ inputs.merged_junit_filename }}
@@ -140,14 +155,6 @@ jobs:
flags: ${{ inputs.codecov_flags }} flags: ${{ inputs.codecov_flags }}
fail_ci_if_error: true fail_ci_if_error: true
- name: Generate error messages
run: |
if [[ "${{ steps.codecov.outcome }}" == "failure" ]]; then
printf "::error title=%s::%s\n" "Publish Unit Test Results / Codecov" "Failed to publish unittest results."
else
printf "Codecov: No errors to report.\n"
fi
- name: 📤 Upload merged 'JUnit Test Summary' artifact - name: 📤 Upload merged 'JUnit Test Summary' artifact
uses: pyTooling/upload-artifact@v4 uses: pyTooling/upload-artifact@v4
if: inputs.merged_junit_artifact != '' if: inputs.merged_junit_artifact != ''
@@ -157,3 +164,24 @@ jobs:
if-no-files-found: error if-no-files-found: error
retention-days: 1 retention-days: 1
investigate: true investigate: true
- name: Generate error messages
run: |
exitCode=0
if [[ "${{ steps.test-reporter.outcome }}" == "failure" ]]; then
printf "❌ Dorney/Test-Reporter: %s\n" "Failed to publish unittest results."
printf "::error title=%s::%s\n" "Dorney/Test-Reporter" "Failed to publish unittest results."
exitCode=1
else
printf "✅ Dorney/Test-Reporter: No errors to report.\n"
fi
if [[ "${{ steps.codecov.outcome }}" == "failure" ]]; then
printf "❌ CodeCov: %s\n" "Failed to publish unittest and code coverage results."
printf "::error title=%s::%s\n" "CodeCov" "Failed to publish unittest and code coverage results."
exitCode=1
else
printf "✅ CodeCov: No errors to report.\n"
fi
exit $exitCode

View File

@@ -53,23 +53,23 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 📥 Download artifacts '${{ inputs.doc }}' from 'SphinxDocumentation' job - name: 📥 Download artifacts '${{ inputs.doc }}' from 'SphinxDocumentation' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
with: with:
name: ${{ inputs.doc }} name: ${{ inputs.doc }}
path: public path: public
- name: 📥 Download artifacts '${{ inputs.coverage }}' from 'Coverage' job - name: 📥 Download artifacts '${{ inputs.coverage }}' from 'Coverage' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
if: ${{ inputs.coverage != '' }} if: ${{ inputs.coverage != '' }}
with: with:
name: ${{ inputs.coverage }} name: ${{ inputs.coverage }}
path: public/coverage path: public/coverage
- name: 📥 Download artifacts '${{ inputs.typing }}' from 'StaticTypeCheck' job - name: 📥 Download artifacts '${{ inputs.typing }}' from 'StaticTypeCheck' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
if: ${{ inputs.typing != '' }} if: ${{ inputs.typing != '' }}
with: with:
name: ${{ inputs.typing }} name: ${{ inputs.typing }}

View File

@@ -81,7 +81,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
lfs: true lfs: true
submodules: true submodules: true
@@ -100,7 +100,7 @@ jobs:
python -m pip install --disable-pip-version-check ${{ inputs.requirements }} python -m pip install --disable-pip-version-check ${{ inputs.requirements }}
- name: 📥 Download artifacts '${{ inputs.unittest_xml_artifact }}' from 'Unittesting' job - name: 📥 Download artifacts '${{ inputs.unittest_xml_artifact }}' from 'Unittesting' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
if: inputs.unittest_xml_artifact != '' if: inputs.unittest_xml_artifact != ''
with: with:
name: ${{ inputs.unittest_xml_artifact }} name: ${{ inputs.unittest_xml_artifact }}
@@ -108,7 +108,7 @@ jobs:
investigate: true investigate: true
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job - name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
if: inputs.coverage_json_artifact != '' if: inputs.coverage_json_artifact != ''
with: with:
name: ${{ inputs.coverage_json_artifact }} name: ${{ inputs.coverage_json_artifact }}
@@ -140,7 +140,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
lfs: true lfs: true
submodules: true submodules: true
@@ -159,7 +159,7 @@ jobs:
python -m pip install --disable-pip-version-check ${{ inputs.requirements }} python -m pip install --disable-pip-version-check ${{ inputs.requirements }}
- name: 📥 Download artifacts '${{ inputs.unittest_xml_artifact }}' from 'Unittesting' job - name: 📥 Download artifacts '${{ inputs.unittest_xml_artifact }}' from 'Unittesting' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
if: inputs.unittest_xml_artifact != '' if: inputs.unittest_xml_artifact != ''
with: with:
name: ${{ inputs.unittest_xml_artifact }} name: ${{ inputs.unittest_xml_artifact }}
@@ -167,7 +167,7 @@ jobs:
investigate: true investigate: true
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job - name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v5
if: inputs.coverage_json_artifact != '' if: inputs.coverage_json_artifact != ''
with: with:
name: ${{ inputs.coverage_json_artifact }} name: ${{ inputs.coverage_json_artifact }}

View File

@@ -72,7 +72,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 🐍 Setup Python ${{ inputs.python_version }} - name: 🐍 Setup Python ${{ inputs.python_version }}
uses: actions/setup-python@v5 uses: actions/setup-python@v5

View File

@@ -3,7 +3,7 @@
# Unai Martinez-Corral # # Unai Martinez-Corral #
# # # #
# ==================================================================================================================== # # ==================================================================================================================== #
# Copyright 2020-2024 The pyTooling Authors # # Copyright 2020-2025 The pyTooling Authors #
# # # #
# Licensed under the Apache License, Version 2.0 (the "License"); # # Licensed under the Apache License, Version 2.0 (the "License"); #
# you may not use this file except in compliance with the License. # # you may not use this file except in compliance with the License. #
@@ -45,7 +45,7 @@ jobs:
env: env:
DOCKER_BUILDKIT: 1 DOCKER_BUILDKIT: 1
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- name: Build container image - name: Build container image
run: docker build -t ghcr.io/pytooling/releaser -f releaser/Dockerfile releaser run: docker build -t ghcr.io/pytooling/releaser -f releaser/Dockerfile releaser
@@ -62,7 +62,7 @@ jobs:
Composite: Composite:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- run: printf "%s\n" "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt - run: printf "%s\n" "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt
@@ -122,7 +122,7 @@ jobs:
- Composite - Composite
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- run: printf "%s\n" "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt - run: printf "%s\n" "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt

View File

@@ -161,7 +161,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
lfs: true lfs: true
submodules: true submodules: true
@@ -342,6 +342,7 @@ jobs:
# Run pytests # Run pytests
- name: ✅ Run unit tests (Ubuntu/macOS) - name: ✅ Run unit tests (Ubuntu/macOS)
id: pytest_bash
if: matrix.system != 'windows' if: matrix.system != 'windows'
continue-on-error: true continue-on-error: true
run: | run: |
@@ -359,6 +360,7 @@ jobs:
fi fi
- name: ✅ Run unit tests (Windows) - name: ✅ Run unit tests (Windows)
id: pytest_posh
if: matrix.system == 'windows' if: matrix.system == 'windows'
continue-on-error: true continue-on-error: true
run: | run: |
@@ -376,16 +378,19 @@ jobs:
} }
- name: Convert coverage to XML format (Cobertura) - name: Convert coverage to XML format (Cobertura)
id: convert_xml
if: inputs.coverage_xml_artifact != '' if: inputs.coverage_xml_artifact != ''
continue-on-error: true continue-on-error: true
run: coverage xml --data-file=.coverage run: coverage xml --data-file=.coverage
- name: Convert coverage to JSON format - name: Convert coverage to JSON format
id: convert_json
if: inputs.coverage_json_artifact != '' if: inputs.coverage_json_artifact != ''
continue-on-error: true continue-on-error: true
run: coverage json --data-file=.coverage run: coverage json --data-file=.coverage
- name: Convert coverage to HTML format - name: Convert coverage to HTML format
id: convert_html
if: inputs.coverage_html_artifact != '' if: inputs.coverage_html_artifact != ''
continue-on-error: true continue-on-error: true
run: | run: |
@@ -427,7 +432,7 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📤 Upload 'Coverage XML Report' artifact - name: 📤 Upload 'Coverage XML Report' artifact
if: inputs.coverage_xml_artifact != '' if: inputs.coverage_xml_artifact != '' && steps.convert_xml.outcome == 'success'
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4 uses: pyTooling/upload-artifact@v4
with: with:
@@ -437,7 +442,7 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📤 Upload 'Coverage JSON Report' artifact - name: 📤 Upload 'Coverage JSON Report' artifact
if: inputs.coverage_json_artifact != '' if: inputs.coverage_json_artifact != '' && steps.convert_json.outcome == 'success'
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4 uses: pyTooling/upload-artifact@v4
with: with:
@@ -447,7 +452,7 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📤 Upload 'Coverage HTML Report' artifact - name: 📤 Upload 'Coverage HTML Report' artifact
if: inputs.coverage_html_artifact != '' if: inputs.coverage_html_artifact != '' && steps.convert_html.outcome == 'success'
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4 uses: pyTooling/upload-artifact@v4
with: with:
@@ -456,3 +461,17 @@ jobs:
path: '*' path: '*'
if-no-files-found: error if-no-files-found: error
retention-days: 1 retention-days: 1
- name: Generate error messages
shell: bash
run: |
exitCode=0
if [[ "${{ steps.pytest_bash.outcome }}" == "failure" || "${{ steps.pytest_posh.outcome }}" == "failure" ]]; then
printf "❌ pytest: %s\n" "Error in pytest execution."
printf "::error title=%s::%s\n" "pytest" "Error in pytest execution."
exitCode=1
else
printf "✅ pytest: No errors.\n"
fi
exit $exitCode

View File

@@ -44,7 +44,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: 🐍 Setup Python - name: 🐍 Setup Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5

View File

@@ -6,7 +6,7 @@ on:
jobs: jobs:
Params: Params:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
python_version_list: "3.12 3.13" python_version_list: "3.12 3.13"
@@ -50,7 +50,7 @@ jobs:
retention-days: 1 retention-days: 1
ArtifactCleanUp: ArtifactCleanUp:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@main
needs: needs:
- Params - Params
- Testing - Testing

View File

@@ -6,35 +6,35 @@ on:
jobs: jobs:
Prepare: Prepare:
uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@dev uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@main
ConfigParams: ConfigParams:
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@dev uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@main
with: with:
package_name: pyDummy package_name: pyDummy
InstallParams: InstallParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
package_name: pyDummy package_name: pyDummy
python_version_list: '' python_version_list: ''
UnitTestingParams: UnitTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: pyDummy name: pyDummy
python_version_list: "3.9 3.10 3.11 3.12 3.13 pypy-3.9 pypy-3.10" python_version_list: "3.9 3.10 3.11 3.12 3.13 pypy-3.9 pypy-3.10"
# disable_list: "windows:pypy-3.10" # disable_list: "windows:pypy-3.10"
PlatformTestingParams: PlatformTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Platform name: Platform
python_version_list: "" python_version_list: ""
system_list: "ubuntu windows macos mingw64 clang64 ucrt64" system_list: "ubuntu windows macos mingw64 clang64 ucrt64"
UnitTesting: UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -51,7 +51,7 @@ jobs:
# coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }} # coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
PlatformTesting: PlatformTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@main
needs: needs:
- ConfigParams - ConfigParams
- PlatformTestingParams - PlatformTestingParams
@@ -70,7 +70,7 @@ jobs:
coverage_html_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_html }} coverage_html_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_html }}
StaticTypeCheck: StaticTypeCheck:
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -83,7 +83,7 @@ jobs:
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
DocCoverage: DocCoverage:
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -93,7 +93,7 @@ jobs:
# fail_below: 70 # fail_below: 70
Package: Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@dev uses: pyTooling/Actions/.github/workflows/Package.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
# - UnitTesting # - UnitTesting
@@ -103,7 +103,7 @@ jobs:
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
Install: Install:
uses: pyTooling/Actions/.github/workflows/InstallPackage.yml@dev uses: pyTooling/Actions/.github/workflows/InstallPackage.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -115,7 +115,7 @@ jobs:
package_name: ${{ needs.ConfigParams.outputs.package_fullname }} package_name: ${{ needs.ConfigParams.outputs.package_fullname }}
PublishCoverageResults: PublishCoverageResults:
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -136,7 +136,7 @@ jobs:
secrets: inherit secrets: inherit
PublishTestResults: PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -151,14 +151,14 @@ jobs:
secrets: inherit secrets: inherit
# VerifyDocs: # VerifyDocs:
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev # uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@main
# needs: # needs:
# - UnitTestingParams # - UnitTestingParams
# with: # with:
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }} # python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
Documentation: Documentation:
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@dev uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@main
needs: needs:
- ConfigParams - ConfigParams
- UnitTestingParams - UnitTestingParams
@@ -174,7 +174,7 @@ jobs:
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }} latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
IntermediateCleanUp: IntermediateCleanUp:
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@dev uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- PublishCoverageResults - PublishCoverageResults
@@ -184,7 +184,7 @@ jobs:
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}- xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
PDFDocumentation: PDFDocumentation:
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@dev uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- Documentation - Documentation
@@ -194,7 +194,7 @@ jobs:
pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }} pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
PublishToGitHubPages: PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- Documentation - Documentation
@@ -207,7 +207,7 @@ jobs:
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
TriggerTaggedRelease: TriggerTaggedRelease:
uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@dev uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@main
needs: needs:
- Prepare - Prepare
- UnitTesting - UnitTesting
@@ -225,7 +225,7 @@ jobs:
secrets: inherit secrets: inherit
ReleasePage: ReleasePage:
uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@dev uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@main
needs: needs:
- Prepare - Prepare
- UnitTesting - UnitTesting
@@ -243,7 +243,7 @@ jobs:
secrets: inherit secrets: inherit
PublishOnPyPI: PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- ReleasePage - ReleasePage
@@ -256,7 +256,7 @@ jobs:
secrets: inherit secrets: inherit
ArtifactCleanUp: ArtifactCleanUp:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@main
needs: needs:
- UnitTestingParams - UnitTestingParams
- PlatformTestingParams - PlatformTestingParams

View File

@@ -6,11 +6,10 @@ on:
jobs: jobs:
NamespacePackage: NamespacePackage:
uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@latex uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@main
with: with:
package_namespace: pyExamples package_namespace: pyExamples
package_name: Extensions package_name: Extensions
documentation: Actions
codecov: true codecov: true
codacy: true codacy: true
dorny: true dorny: true

View File

@@ -42,7 +42,7 @@ jobs:
retention-days: 1 retention-days: 1
NightlyPage: NightlyPage:
uses: ./.github/workflows/NightlyRelease.yml uses: pyTooling/Actions/.github/workflows/NightlyRelease.yml@main
needs: needs:
- Build - Build
permissions: permissions:

View File

@@ -6,24 +6,24 @@ on:
jobs: jobs:
Params_Default: Params_Default:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
Params_PythonVersions: Params_PythonVersions:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
python_version_list: "3.11 3.12 pypy-3.9 pypy-3.10" python_version_list: "3.11 3.12 pypy-3.9 pypy-3.10"
Params_Systems: Params_Systems:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
system_list: "windows mingw32 mingw64" system_list: "windows mingw32 mingw64"
Params_Include: Params_Include:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
python_version_list: "3.11" python_version_list: "3.11"
@@ -31,7 +31,7 @@ jobs:
include_list: "ubuntu:3.12 ubuntu:3.13" include_list: "ubuntu:3.12 ubuntu:3.13"
Params_Exclude: Params_Exclude:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
python_version_list: "3.12" python_version_list: "3.12"
@@ -39,7 +39,7 @@ jobs:
exclude_list: "windows:3.12 windows:3.13" exclude_list: "windows:3.12 windows:3.13"
Params_Disable: Params_Disable:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
python_version_list: "3.12" python_version_list: "3.12"
@@ -47,7 +47,7 @@ jobs:
disable_list: "windows:3.12 windows:3.13" disable_list: "windows:3.12 windows:3.13"
Params_All: Params_All:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
with: with:
name: Example name: Example
python_version_list: "3.12 3.13" python_version_list: "3.12 3.13"

View File

@@ -6,14 +6,13 @@ on:
jobs: jobs:
SimplePackage: SimplePackage:
uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@latex uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@main
with: with:
package_name: pyDummy package_name: pyDummy
documentation: Actions codecov: true
codecov: true codacy: true
codacy: true dorny: true
dorny: true cleanup: false
cleanup: false
secrets: secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -85,7 +85,7 @@ The following block shows a minimal YAML workflow file:
steps: steps:
# Clone repository # Clone repository
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# Build your application, tool, artifacts, etc. # Build your application, tool, artifacts, etc.
- name: Build - name: Build

View File

@@ -79,7 +79,7 @@ jobs:
steps: steps:
# Clone repository # Clone repository
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# Build your application, tool, artifacts, etc. # Build your application, tool, artifacts, etc.
- name: Build - name: Build

View File

@@ -1,13 +1,13 @@
-r ../requirements.txt -r ../requirements.txt
# Coverage collection # Coverage collection
Coverage ~= 7.9 Coverage ~= 7.10
# Test Runner # Test Runner
pytest ~= 8.4 pytest ~= 8.4
pytest-cov ~= 6.2 pytest-cov ~= 6.2
# Static Type Checking # Static Type Checking
mypy ~= 1.16 mypy ~= 1.17
typing_extensions ~= 4.14 typing_extensions ~= 4.14
lxml ~= 5.4 lxml ~= 6.0