This commit is contained in:
Patrick Lehmann
2025-01-16 21:51:02 +01:00
committed by GitHub
12 changed files with 38 additions and 36 deletions

View File

@@ -188,8 +188,8 @@ jobs:
f.write(f"pacboy_packages={' '.join(pacboyPackages)}\n") f.write(f"pacboy_packages={' '.join(pacboyPackages)}\n")
- name: '🟦 Setup MSYS2 for ${{ matrix.runtime }}' - name: '🟦 Setup MSYS2 for ${{ matrix.runtime }}'
if: matrix.system == 'msys2'
uses: msys2/setup-msys2@v2 uses: msys2/setup-msys2@v2
if: matrix.system == 'msys2'
with: with:
msystem: ${{ matrix.runtime }} msystem: ${{ matrix.runtime }}
update: true update: true
@@ -198,8 +198,8 @@ jobs:
${{ inputs.pacboy }} ${{ inputs.pacboy }}
- name: 🐍 Setup Python ${{ matrix.python }} - name: 🐍 Setup Python ${{ matrix.python }}
if: matrix.system != 'msys2'
uses: actions/setup-python@v5 uses: actions/setup-python@v5
if: matrix.system != 'msys2'
with: with:
python-version: ${{ matrix.python }} python-version: ${{ matrix.python }}

View File

@@ -47,13 +47,13 @@ jobs:
steps: steps:
- name: 🗑️ Delete package Artifacts - name: 🗑️ Delete package Artifacts
if: ${{ ! startsWith(github.ref, 'refs/tags') }}
uses: geekyeggo/delete-artifact@v5 uses: geekyeggo/delete-artifact@v5
if: ${{ ! startsWith(github.ref, 'refs/tags') }}
with: with:
name: ${{ inputs.package }} name: ${{ inputs.package }}
- name: 🗑️ Delete remaining Artifacts - name: 🗑️ Delete remaining Artifacts
if: ${{ inputs.remaining != '' }}
uses: geekyeggo/delete-artifact@v5 uses: geekyeggo/delete-artifact@v5
if: ${{ inputs.remaining != '' }}
with: with:
name: ${{ inputs.remaining }} name: ${{ inputs.remaining }}

View File

@@ -49,8 +49,8 @@ jobs:
skip-deploy: true skip-deploy: true
- name: 📤 Upload 'documentation' artifacts - name: 📤 Upload 'documentation' artifacts
if: inputs.artifact != ''
uses: pyTooling/upload-artifact@v4 uses: pyTooling/upload-artifact@v4
if: inputs.artifact != ''
with: with:
name: ${{ inputs.artifact }} name: ${{ inputs.artifact }}
working-directory: doc/_build/html working-directory: doc/_build/html

View File

@@ -175,7 +175,7 @@ jobs:
cat <<EOF >> __NoTeS__.md cat <<EOF >> __NoTeS__.md
-------- --------
Published from [${{ github.workflow }}](https://github.com/Paebbels/ghdl/actions/runs/${{ github.run_id }}) workflow triggered by @${{ github.actor }} on $(date '+%Y-%m-%d %H:%M:%S'). Published from [${{ github.workflow }}](https://github.com/Paebbels/ghdl/actions/runs/${{ github.run_id }}) workflow triggered by @${{ github.actor }} on $(date '+%Y-%m-%d %H:%M:%S %Z').
EOF EOF
printf "%s\n" "Creating release '${{ inputs.nightly_name }}' ... " printf "%s\n" "Creating release '${{ inputs.nightly_name }}' ... "
@@ -343,12 +343,14 @@ jobs:
if [[ "${asset}" == !*.zip ]]; then if [[ "${asset}" == !*.zip ]]; then
printf "%s\n" "${ANSI_LIGHT_GREEN}[ZIP]${ANSI_NOCOLOR}" printf "%s\n" "${ANSI_LIGHT_GREEN}[ZIP]${ANSI_NOCOLOR}"
asset="${asset##*!}" asset="${asset##*!}"
printf " %s\n" "Compressing artifact '${artifact}' to '${asset}' ..." printf "::group:: %s\n" "Compressing artifact '${artifact}' to '${asset}' ..."
( (
cd "${artifact}" && \ cd "${artifact}" && \
zip -r "../${asset}" * zip -r "../${asset}" *
) )
if [[ $? -eq 0 ]]; then retCode=$?
printf "::endgroup::\n"
if [[ $retCode -eq 0 ]]; then
printf " %s\n" "Compression ${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}" printf " %s\n" "Compression ${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
uploadFile="${asset}" uploadFile="${asset}"
else else
@@ -430,11 +432,11 @@ jobs:
# Add asset to JSON inventory # Add asset to JSON inventory
if [[ "${{ inputs.inventory-json }}" != "" ]]; then if [[ "${{ inputs.inventory-json }}" != "" ]]; then
if [[ "${categories}" != "${title}" ]]; then if [[ "${categories}" != "${title}" ]]; then
printf " %s\n" "adding file '${uploadFile}' with '${categories//;/ → }' to JSON inventory ..." printf " %s\n" "adding file '${uploadFile#*/}' with '${categories//;/ → }' to JSON inventory ..."
category="" category=""
jsonEntry=$(jq -c -n \ jsonEntry=$(jq -c -n \
--arg title "${title}" \ --arg title "${title}" \
--arg file "${uploadFile}" \ --arg file "${uploadFile#*/}" \
'{"file": $file, "title": $title}' \ '{"file": $file, "title": $title}' \
) )
@@ -450,7 +452,7 @@ jobs:
'$inventory * {"files": $file}' \ '$inventory * {"files": $file}' \
) )
else else
printf " %s\n" "adding file '${uploadFile}' to JSON inventory ... ${ANSI_LIGHT_YELLOW}[SKIPPED]${ANSI_NOCOLOR}" printf " %s\n" "adding file '${uploadFile#*/}' to JSON inventory ... ${ANSI_LIGHT_YELLOW}[SKIPPED]${ANSI_NOCOLOR}"
fi fi
fi fi

View File

@@ -76,7 +76,7 @@ jobs:
lfs: true lfs: true
submodules: true submodules: true
- name: Download Artifacts - name: 📥 Download Artifacts
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
with: with:
pattern: ${{ inputs.coverage_artifacts_pattern }} pattern: ${{ inputs.coverage_artifacts_pattern }}
@@ -178,9 +178,9 @@ jobs:
tree -pash report/coverage/html tree -pash report/coverage/html
- name: 📤 Upload 'Coverage SQLite Database' artifact - name: 📤 Upload 'Coverage SQLite Database' artifact
uses: pyTooling/upload-artifact@v4
if: inputs.coverage_sqlite_artifact != '' if: inputs.coverage_sqlite_artifact != ''
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.coverage_sqlite_artifact }} name: ${{ inputs.coverage_sqlite_artifact }}
path: .coverage path: .coverage
@@ -188,9 +188,9 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📤 Upload 'Coverage XML Report' artifact - name: 📤 Upload 'Coverage XML Report' artifact
uses: pyTooling/upload-artifact@v4
if: inputs.coverage_xml_artifact != '' if: inputs.coverage_xml_artifact != ''
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.coverage_xml_artifact }} name: ${{ inputs.coverage_xml_artifact }}
path: ${{ steps.getVariables.outputs.coverage_report_xml }} path: ${{ steps.getVariables.outputs.coverage_report_xml }}
@@ -198,9 +198,9 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📤 Upload 'Coverage JSON Report' artifact - name: 📤 Upload 'Coverage JSON Report' artifact
uses: pyTooling/upload-artifact@v4
if: inputs.coverage_json_artifact != '' if: inputs.coverage_json_artifact != ''
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.coverage_json_artifact }} name: ${{ inputs.coverage_json_artifact }}
path: ${{ steps.getVariables.outputs.coverage_report_json }} path: ${{ steps.getVariables.outputs.coverage_report_json }}
@@ -208,9 +208,9 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📤 Upload 'Coverage HTML Report' artifact - name: 📤 Upload 'Coverage HTML Report' artifact
uses: pyTooling/upload-artifact@v4
if: inputs.coverage_html_artifact != '' if: inputs.coverage_html_artifact != ''
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.coverage_html_artifact }} name: ${{ inputs.coverage_html_artifact }}
working-directory: ${{ steps.getVariables.outputs.coverage_report_html_directory }} working-directory: ${{ steps.getVariables.outputs.coverage_report_html_directory }}
@@ -219,18 +219,18 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📊 Publish code coverage at CodeCov - name: 📊 Publish code coverage at CodeCov
uses: codecov/codecov-action@v5
if: inputs.CodeCov == true if: inputs.CodeCov == true
continue-on-error: true continue-on-error: true
uses: codecov/codecov-action@v5
with: with:
files: ${{ steps.getVariables.outputs.coverage_report_xml }} files: ${{ steps.getVariables.outputs.coverage_report_xml }}
flags: unittests flags: unittests
env_vars: PYTHON env_vars: PYTHON
- name: 📉 Publish code coverage at Codacy - name: 📉 Publish code coverage at Codacy
uses: codacy/codacy-coverage-reporter-action@v1
if: inputs.Codacy == true if: inputs.Codacy == true
continue-on-error: true continue-on-error: true
uses: codacy/codacy-coverage-reporter-action@v1
with: with:
project-token: ${{ secrets.codacy_token }} project-token: ${{ secrets.codacy_token }}
coverage-reports: ${{ steps.getVariables.outputs.coverage_report_xml }} coverage-reports: ${{ steps.getVariables.outputs.coverage_report_xml }}

View File

@@ -65,7 +65,7 @@ jobs:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Download Artifacts - name: 📥 Download Artifacts
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
with: with:
pattern: ${{ inputs.unittest_artifacts_pattern }} pattern: ${{ inputs.unittest_artifacts_pattern }}
@@ -82,7 +82,7 @@ jobs:
- name: Rename JUnit files and move them all into 'junit/' - name: Rename JUnit files and move them all into 'junit/'
run: | run: |
mkdir -p junit mkdir -p junit
find artifacts/ -type f -path "*TestReportSummary*.xml" -exec sh -c 'cp -v $0 "junit/$(basename $(dirname $0)).$(basename $0)"' {} ';' find artifacts/ -type f -path "*.xml" -exec sh -c 'cp -v $0 "junit/$(basename $(dirname $0)).$(basename $0)"' {} ';'
tree -pash junit tree -pash junit
- name: 🔁 Merge JUnit Unit Test Summaries - name: 🔁 Merge JUnit Unit Test Summaries
@@ -100,8 +100,8 @@ jobs:
reporter: java-junit reporter: java-junit
- name: 📤 Upload merged 'JUnit Test Summary' artifact - name: 📤 Upload merged 'JUnit Test Summary' artifact
if: inputs.merged_junit_artifact != ''
uses: pyTooling/upload-artifact@v4 uses: pyTooling/upload-artifact@v4
if: inputs.merged_junit_artifact != ''
with: with:
name: ${{ inputs.merged_junit_artifact }} name: ${{ inputs.merged_junit_artifact }}
path: Unittesting.xml path: Unittesting.xml

View File

@@ -62,15 +62,15 @@ jobs:
path: public path: public
- name: 📥 Download artifacts '${{ inputs.coverage }}' from 'Coverage' job - name: 📥 Download artifacts '${{ inputs.coverage }}' from 'Coverage' job
if: ${{ inputs.coverage != '' }}
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
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
if: ${{ inputs.typing != '' }}
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
if: ${{ inputs.typing != '' }}
with: with:
name: ${{ inputs.typing }} name: ${{ inputs.typing }}
path: public/typing path: public/typing

View File

@@ -49,8 +49,8 @@ jobs:
echo "datetime=${RELEASE_DATETIME}" >> $GITHUB_OUTPUT echo "datetime=${RELEASE_DATETIME}" >> $GITHUB_OUTPUT
- name: 📑 Create Release Page - name: 📑 Create Release Page
id: createReleasePage
uses: actions/create-release@v1 uses: actions/create-release@v1
id: createReleasePage
env: env:
GITHUB_TOKEN: ${{ github.token }} GITHUB_TOKEN: ${{ github.token }}
with: with:

View File

@@ -100,15 +100,15 @@ 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
if: inputs.unittest_xml_artifact != ''
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
if: inputs.unittest_xml_artifact != ''
with: with:
name: ${{ inputs.unittest_xml_artifact }} name: ${{ inputs.unittest_xml_artifact }}
path: ${{ inputs.unittest_xml_directory }} path: ${{ inputs.unittest_xml_directory }}
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job - name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
if: inputs.coverage_json_artifact != ''
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
if: inputs.coverage_json_artifact != ''
with: with:
name: ${{ inputs.coverage_json_artifact }} name: ${{ inputs.coverage_json_artifact }}
path: ${{ inputs.coverage_report_json_directory }} path: ${{ inputs.coverage_report_json_directory }}
@@ -122,9 +122,9 @@ jobs:
sphinx-build -v -n -b html -d _build/doctrees -j $(nproc) -w _build/html.log . _build/html sphinx-build -v -n -b html -d _build/doctrees -j $(nproc) -w _build/html.log . _build/html
- name: 📤 Upload 'HTML Documentation' artifact - name: 📤 Upload 'HTML Documentation' artifact
uses: pyTooling/upload-artifact@v4
if: inputs.html_artifact != '' if: inputs.html_artifact != ''
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.html_artifact }} name: ${{ inputs.html_artifact }}
working-directory: ${{ inputs.doc_directory }}/_build/html working-directory: ${{ inputs.doc_directory }}/_build/html
@@ -157,15 +157,15 @@ 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
if: inputs.unittest_xml_artifact != ''
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
if: inputs.unittest_xml_artifact != ''
with: with:
name: ${{ inputs.unittest_xml_artifact }} name: ${{ inputs.unittest_xml_artifact }}
path: ${{ inputs.unittest_xml_directory }} path: ${{ inputs.unittest_xml_directory }}
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job - name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
if: inputs.coverage_json_artifact != ''
uses: pyTooling/download-artifact@v4 uses: pyTooling/download-artifact@v4
if: inputs.coverage_json_artifact != ''
with: with:
name: ${{ inputs.coverage_json_artifact }} name: ${{ inputs.coverage_json_artifact }}
path: ${{ inputs.coverage_report_json_directory }} path: ${{ inputs.coverage_report_json_directory }}
@@ -263,9 +263,9 @@ jobs:
done done
- name: 📤 Upload 'LaTeX Documentation' artifact - name: 📤 Upload 'LaTeX Documentation' artifact
uses: pyTooling/upload-artifact@v4
if: inputs.latex_artifact != '' if: inputs.latex_artifact != ''
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.latex_artifact }} name: ${{ inputs.latex_artifact }}
working-directory: ${{ inputs.doc_directory }}/_build/latex working-directory: ${{ inputs.doc_directory }}/_build/latex

View File

@@ -87,9 +87,9 @@ jobs:
run: ${{ inputs.commands }} run: ${{ inputs.commands }}
- name: 📤 Upload 'Static Typing Report' HTML artifact - name: 📤 Upload 'Static Typing Report' HTML artifact
uses: pyTooling/upload-artifact@v4
if: ${{ inputs.html_artifact != '' }} if: ${{ inputs.html_artifact != '' }}
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.html_artifact }} name: ${{ inputs.html_artifact }}
working-directory: ${{ inputs.html_report }} working-directory: ${{ inputs.html_report }}
@@ -98,9 +98,9 @@ jobs:
retention-days: 1 retention-days: 1
- name: 📤 Upload 'Static Typing Report' JUnit artifact - name: 📤 Upload 'Static Typing Report' JUnit artifact
uses: pyTooling/upload-artifact@v4
if: ${{ inputs.junit_artifact != '' }} if: ${{ inputs.junit_artifact != '' }}
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.junit_artifact }} name: ${{ inputs.junit_artifact }}
path: ${{ inputs.junit_report }} path: ${{ inputs.junit_report }}

View File

@@ -282,8 +282,8 @@ jobs:
# Python setup # Python setup
- name: '🟦 Setup MSYS2 for ${{ matrix.runtime }}' - name: '🟦 Setup MSYS2 for ${{ matrix.runtime }}'
if: matrix.system == 'msys2'
uses: msys2/setup-msys2@v2 uses: msys2/setup-msys2@v2
if: matrix.system == 'msys2'
with: with:
msystem: ${{ matrix.runtime }} msystem: ${{ matrix.runtime }}
update: true update: true
@@ -292,8 +292,8 @@ jobs:
${{ inputs.pacboy }} ${{ inputs.pacboy }}
- name: 🐍 Setup Python ${{ matrix.python }} - name: 🐍 Setup Python ${{ matrix.python }}
if: matrix.system != 'msys2'
uses: actions/setup-python@v5 uses: actions/setup-python@v5
if: matrix.system != 'msys2'
with: with:
python-version: ${{ matrix.python }} python-version: ${{ matrix.python }}
@@ -392,9 +392,9 @@ jobs:
# Upload artifacts # Upload artifacts
- name: 📤 Upload '${{ inputs.unittest_report_xml_filename }}' artifact - name: 📤 Upload '${{ inputs.unittest_report_xml_filename }}' artifact
uses: pyTooling/upload-artifact@v4
if: inputs.unittest_xml_artifact != '' if: inputs.unittest_xml_artifact != ''
continue-on-error: true continue-on-error: true
uses: pyTooling/upload-artifact@v4
with: with:
name: ${{ inputs.unittest_xml_artifact }}-${{ matrix.system }}-${{ matrix.runtime }}-${{ matrix.python }} name: ${{ inputs.unittest_xml_artifact }}-${{ matrix.system }}-${{ matrix.runtime }}-${{ matrix.python }}
working-directory: ${{ inputs.unittest_report_xml_directory }} working-directory: ${{ inputs.unittest_report_xml_directory }}

View File

@@ -15,5 +15,5 @@ sphinxcontrib-mermaid ~= 1.0
autoapi >= 2.0.1 autoapi >= 2.0.1
sphinx_design ~= 0.6.1 sphinx_design ~= 0.6.1
sphinx-copybutton >= 0.5.2 sphinx-copybutton >= 0.5.2
sphinx_autodoc_typehints ~= 2.5 sphinx_autodoc_typehints ~= 3.0
sphinx_reports ~= 0.7 sphinx_reports ~= 0.7