Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.1.0 #9

Merged
merged 47 commits into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
bd75df5
doc: update codacy shields
umarcor Jan 16, 2022
6bba70c
ci/Params: override python_version_list, since 3.6 was deprecated in …
umarcor Jan 16, 2022
7ba44e2
Cleanup
Paebbels Jan 17, 2022
00eb497
Modeling of testsuites and testcases.
Paebbels Jan 24, 2022
105ce25
Added OSVVM test report summary.
Paebbels Jan 24, 2022
9621872
Added testcase for OSVVM's test report summary files.
Paebbels Jan 24, 2022
bc292e0
Added basic repository files.
Paebbels Jan 24, 2022
8a5f4ee
Added placeholder files for coverage and static type checking to the …
Paebbels Jan 24, 2022
220fca0
Extended GitHub workflow.
Paebbels Jan 24, 2022
81461b5
Merge branch 'dev' into 'paebbels/testcases'.
Paebbels Jan 24, 2022
a8e1166
Adjusted dependencies.
Paebbels Jan 24, 2022
3a603f6
Linked generated reports.
Paebbels Jan 24, 2022
2b0731c
Added more documentation files.
Paebbels Jan 24, 2022
0a810cb
Added documentation requirements.
Paebbels Jan 24, 2022
4f78033
Limit package lxml to just v4.6.
Paebbels Jan 31, 2022
29d59f9
Install some dependencies for MSYS2 via Pacboy.
Paebbels Jan 31, 2022
e0a0321
Add initial abstraction for testsuites and testcases (#6)
umarcor Jan 31, 2022
ba55276
Bumped dependencies.
Paebbels Mar 1, 2022
e7bd608
Added Jinja template for autoapi.
Paebbels Mar 1, 2022
aff5bee
Updated Sphinx configuration.
Paebbels Mar 1, 2022
b6a205f
Added comment to autoapi template.
Paebbels Mar 1, 2022
df8c3dc
Fixed banner file name.
Paebbels Mar 1, 2022
f10644e
Bumped coverage version to v6.3.
Paebbels Mar 1, 2022
faedc23
Added dependabot rule for GH actions. And bumped dependencies.
Paebbels Mar 3, 2022
2b8a116
Changed path to tests.
Paebbels May 22, 2022
f3c6e0b
Bumped dependencies.
Paebbels May 22, 2022
fe2abce
Changed formatting to f-string.
Paebbels May 22, 2022
e793f1e
Fixed Python module index.
Paebbels May 22, 2022
cf6ca8a
Bumped dependencies.
Paebbels Nov 6, 2022
04aa2ff
Updated pipeline.
Paebbels Nov 6, 2022
89778a0
Bumped dependencies.
Paebbels Dec 18, 2022
d05d91d
Code cleanup.
Paebbels Dec 18, 2022
b5afc5b
Enabled Windows + Python 3.11 again.
Paebbels Dec 18, 2022
68bc22f
Bumped dependencies.
Paebbels Jul 5, 2023
24bb6ef
Bumped dependencies.
Paebbels Jul 15, 2023
d7c7145
Updated pyproject file.
Paebbels Jul 29, 2023
c866a17
Fixed InterSphinx configuration.
Paebbels Aug 13, 2023
bebe5e0
Bumped dependencies.
Paebbels Aug 13, 2023
8471b4d
General updates.
Paebbels Feb 20, 2024
b84935c
Added unittest data model and tests.
Paebbels Feb 20, 2024
cab58d5
Completed porting of JUnit parsing from sphinx-reports.
Paebbels Feb 20, 2024
bf77d8e
Documentation update.
Paebbels Feb 21, 2024
a9aa250
Updated unit tests.
Paebbels Feb 21, 2024
5bc725b
Fixed timestamp formats from OSVVM files.
Paebbels Feb 21, 2024
3ecfbf6
Fixed documentation dependencies. Fixed path to XML.
Paebbels Feb 21, 2024
d6c4372
Added missing documentation pages.
Paebbels Feb 21, 2024
c09dc8e
Unit testing data model.
Paebbels Feb 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .btd.yml

This file was deleted.

30 changes: 30 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
root = true

[*]
charset = utf-8
# end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = tab
indent_size = 2
tab_width = 2


[*.py]
indent_style = tab
indent_size = 2

[*.{yml,yaml}]
indent_style = space
indent_size = 2

[*.{json,ini}]
indent_style = tab
indent_size = 2

[*.md]
trim_trailing_whitespace = false

[*.rst]
indent_style = space
indent_size = 3
27 changes: 27 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2
updates:
# Maintain Python packages
- package-ecosystem: "pip"
directory: "/"
target-branch: dev
commit-message:
prefix: "[Dependabot]"
labels:
- Dependencies
reviewers:
- Paebbels
schedule:
interval: "daily" # Checks on Monday trough Friday.

# Maintain GitHub Action runners
- package-ecosystem: "github-actions"
directory: "/"
target-branch: dev
commit-message:
prefix: "[Dependabot]"
labels:
- Dependencies
reviewers:
- Paebbels
schedule:
interval: "weekly"
7 changes: 6 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# New Features

* tbd

# Changes
Expand All @@ -9,3 +9,8 @@
# Bug Fixes

* tbd

----------
# Related PRs:

* tbd
189 changes: 167 additions & 22 deletions .github/workflows/Pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,183 @@ on:
push:
workflow_dispatch:
schedule:
- cron: '0 0 * * 5'
# Every Friday at 22:00 - rerun pipeline to check for dependency-based issues
- cron: '0 22 * * 5'

jobs:

Params:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
UnitTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r1
with:
name: pyEDAA.Reports
python_version_list: "3.8 3.9 3.10 3.11 3.12 pypy-3.8 pypy-3.9 pypy-3.10"
# disable_list: "windows:pypy-3.8 windows:pypy-3.9 windows:pypy-3.10"

BuildTheDocs:
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r0
UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r1
needs:
- Params
- UnitTestingParams
with:
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
jobs: ${{ needs.UnitTestingParams.outputs.python_jobs }}
requirements: "-r tests/unit/requirements.txt"
pacboy: "msys/git"
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}

PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r0
StaticTypeCheck:
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r1
needs:
- UnitTestingParams
with:
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
commands: |
touch pyEDAA/__init__.py
mypy --html-report htmlmypy -p pyEDAA.Reports
html_report: 'htmlmypy'
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}

DocCoverage:
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@r1
needs:
- UnitTestingParams
with:
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
directory: sphinx_reports
# fail_below: 70

Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@r1
needs:
- UnitTestingParams
- UnitTesting
with:
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}

PublishCoverageResults:
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@r1
needs:
- UnitTestingParams
- UnitTesting
with:
# coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
# coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
secrets:
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}

PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r1
needs:
- UnitTestingParams
- UnitTesting
with:
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}

IntermediateCleanUp:
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r1
needs:
- UnitTestingParams
- PublishCoverageResults
- PublishTestResults
- HTMLDocumentation
with:
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-

# VerifyDocs:
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r1
# needs:
# - UnitTestingParams
# with:
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}


HTMLDocumentation:
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r1
needs:
- Params
- BuildTheDocs
- UnitTestingParams
- PublishTestResults
- PublishCoverageResults
# - VerifyDocs
with:
doc: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-ubuntu-native-3.12
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}

# TODO: this is disabled until some package exists.
# ArtifactCleanUp:
# uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r0
# PDFDocumentation:
# uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r1
# needs:
# - Params
# - BuildTheDocs
# - PublishToGitHubPages
# - UnitTestingParams
# - HTMLDocumentation
# with:
# package: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
# remaining: |
# ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
# document: sphinx_reports
# latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
# pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}

PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r1
needs:
- UnitTestingParams
- HTMLDocumentation
# - PDFDocumentation
- PublishCoverageResults
- StaticTypeCheck
with:
doc: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
# coverage: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}

ReleasePage:
uses: pyTooling/Actions/.github/workflows/Release.yml@r1
if: startsWith(github.ref, 'refs/tags')
needs:
- Package
- PublishToGitHubPages

PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r1
if: startsWith(github.ref, 'refs/tags')
needs:
- UnitTestingParams
- ReleasePage
with:
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
requirements: -r dist/requirements.txt
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}

ArtifactCleanUp:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r1
needs:
- UnitTestingParams
- UnitTesting
- StaticTypeCheck
- HTMLDocumentation
# - PDFDocumentation
- PublishTestResults
- PublishCoverageResults
- PublishToGitHubPages
# - PublishOnPyPI
with:
package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
remaining: |
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-*
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}-*
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-*
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}-*
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}-*
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}-*
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
# ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
24 changes: 18 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ __pycache__/
.coverage
.cov
coverage.xml
/report/coverage

# mypy
/report/typing

# pytest
/report/unit

# setuptools
/build/**/*.*
Expand All @@ -15,11 +22,16 @@ coverage.xml
# Dependencies
!requirements.txt

# Sphinx documentation
/doc/_build/
/doc/_theme/
/doc/pyEDAA.Reports/**/*.*
!/doc/pyEDAA.Reports/index.rst
# Sphinx
doc/_build/
doc/pyEDAA.Reports/**/*.*
!doc/pyEDAA.Reports/index.rst

# PyCharm project
# BuildTheDocs
doc/_theme/**/*.*

# IntelliJ project files
/.idea/workspace.xml

# Git files
!.git*
6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/pyEDAA.Reports.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading