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.5.0 #54

Merged
merged 43 commits into from
Nov 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8c790f2
Bumped copyright year.
Paebbels Jul 7, 2023
236b2c7
Bumped dependencies.
Paebbels Jul 15, 2023
e69d6bf
Added AddFileSet and AddFileSets to FileSet.
Paebbels Jul 29, 2023
f72bc99
Added more testcases.
Paebbels Jul 29, 2023
be640f3
Use meta-class ExtendedType for Attribute class.
Paebbels Jul 29, 2023
b31f5e2
Added assertions.
Paebbels Jul 29, 2023
38fbd4a
Updated pyproject.
Paebbels Jul 29, 2023
2e3526d
Add SystemRDL file type
Jun 18, 2023
a55ef62
Update pyEDAA/ProjectModel/__init__.py
RasmusGOlsen Jun 18, 2023
eacd482
Update pyEDAA/ProjectModel/__init__.py
RasmusGOlsen Jun 18, 2023
27377f2
Update pyEDAA/ProjectModel/__init__.py
RasmusGOlsen Jun 18, 2023
18f925e
Update Design and FileSet classes
Jun 18, 2023
1824596
Update requirements
Jul 30, 2023
cffba84
Updated coding style.
Paebbels Jul 30, 2023
d963d2a
Update requirements.txt
Paebbels Jul 30, 2023
6bf6d06
Add SystemRDL file type
Paebbels Jul 30, 2023
2040977
Documented dependency to pySystemRDLModel.
Paebbels Jul 30, 2023
a8190bd
Fixed InterSphinx configuration.
Paebbels Aug 13, 2023
d31a552
Bumped dependencies.
Paebbels Aug 13, 2023
af99dd9
Check for duplicates.
Paebbels Aug 13, 2023
0860fd0
Improved type hints.
Paebbels Aug 13, 2023
4d24e04
Marked mixin-classes as mixin.
Paebbels Aug 13, 2023
a3b0fcc
Changed behavior of __len__ and added multiple ***Count properties.
Paebbels Aug 13, 2023
3b64c32
Adjusted code to the updated pySVModel behavior for VerilogVersion vs…
Paebbels Aug 13, 2023
0544e19
Added missing code for latest SystemRDL additions.
Paebbels Aug 13, 2023
06fe732
Added missing type hint.
Paebbels Aug 13, 2023
f88a638
Added constraints for package dependencies.
Paebbels Aug 21, 2023
644a1d3
Added unit tests for file duplicates.
Paebbels Aug 21, 2023
51ffd20
Improved doc-string for attribute handling on FileSet.
Paebbels Aug 21, 2023
bd45b06
Testing attributes in FileSet.
Paebbels Aug 21, 2023
36fff0e
Added __delitem__ on FileSet.
Paebbels Aug 21, 2023
c61f44d
Improved Attribute testcases on FileSets.
Paebbels Aug 21, 2023
2655010
Reworked attributes also in other classes.
Paebbels Aug 24, 2023
3d65107
Added more test cases.
Paebbels Aug 24, 2023
5c1eb77
Bumped dependencies.
Paebbels May 6, 2024
6b27f24
General code updates.
Paebbels Oct 27, 2024
297bf1b
Pipeline update.
Paebbels Oct 27, 2024
3eff1ea
Bumped dependencies.
Paebbels Nov 3, 2024
5abd806
Use new pipeline templates.
Paebbels Nov 3, 2024
1fbe828
Bumped dependencies.
Paebbels Nov 3, 2024
4b89843
Fixed missing import and paths.
Paebbels Nov 3, 2024
22123b9
Fixed setup.py.
Paebbels Nov 3, 2024
161438d
Disabled Application Testing.
Paebbels Nov 3, 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
18 changes: 16 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,30 @@
# New Features


* tbd
* tbd

# Changes

* tbd
* tbd

# Bug Fixes

* tbd
* tbd

# Documentation

* tbd
* tbd

# Unit Tests

* tbd
* tbd

----------
# Related PRs:
# Related Issues and Pull-Requests

* tbd
* tbd
225 changes: 157 additions & 68 deletions .github/workflows/Pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,122 +4,211 @@ 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:
UnitTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
with:
name: pyEDAA.ProjectModel
# python_version_list: "3.9 3.10 3.11 3.12 pypy-3.9 pypy-3.10"
disable_list: "mingw64:* ucrt64:*"

Params:
AppTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
with:
name: pyEDAA.ProjectModel
python_version_list: "" # use latest Python version
system_list: "ubuntu macos macos-arm"
# include_list:
# exclude_list:
# disable_list: "windows:pypy-3.8 windows:pypy-3.9 windows:pypy-3.10"

UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
needs:
- Params
- UnitTestingParams
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 }}
jobs: ${{ needs.UnitTestingParams.outputs.python_jobs }}
requirements: "-r tests/unit/requirements.txt"
# pacboy: "msys/git python-lxml:p"
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}

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

PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
DocCoverage:
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev
needs:
- UnitTesting
- UnitTestingParams
with:
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
directory: pyEDAA/ProjectModel
# fail_below: 70

ConfigParams:
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@dev
needs:
- DocCoverage

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

Release:
uses: pyTooling/Actions/.github/workflows/Release.yml@dev
if: startsWith(github.ref, 'refs/tags')
# AppTesting:
# uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@dev
# needs:
# - AppTestingParams
# - UnitTestingParams
# - Package
# with:
# jobs: ${{ needs.AppTestingParams.outputs.python_jobs }}
# wheel: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
# apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}

PublishCoverageResults:
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev
needs:
- UnitTestingParams
- UnitTesting
- Coverage
- StaticTypeCheck
- Package
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 }}

PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev
if: startsWith(github.ref, 'refs/tags')
PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
needs:
- Params
- Release
- Package
- UnitTestingParams
- UnitTesting
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 }}
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}

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

VerifyDocs:
uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev
Documentation:
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@dev
needs:
- Params
- UnitTestingParams
- ConfigParams
- PublishTestResults
- PublishCoverageResults
# - VerifyDocs
with:
python_version: ${{ needs.Params.outputs.python_version }}
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
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 }}

BuildTheDocs:
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev
IntermediateCleanUp:
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@dev
needs:
- Params
- VerifyDocs
- UnitTestingParams
- PublishCoverageResults
- PublishTestResults
- Documentation
with:
artifact: ${{ fromJson(needs.Params.outputs.artifact_names).documentation_html }}
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-

# PDFDocumentation:
# uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@dev
# needs:
# - UnitTestingParams
# - Documentation
# with:
# document: pyEDAA.ProjectModel
# 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@dev
needs:
- Params
- BuildTheDocs
- Coverage
- UnitTestingParams
- Documentation
# - PDFDocumentation
- PublishCoverageResults
- 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 }}
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@dev
if: startsWith(github.ref, 'refs/tags')
needs:
- Package
# - AppTesting
- PublishToGitHubPages

PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev
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@dev
needs:
- Params
- UnitTestingParams
- UnitTesting
- Coverage
- StaticTypeCheck
- BuildTheDocs
- PublishToGitHubPages
- Documentation
# - PDFDocumentation
- PublishTestResults
- PublishCoverageResults
- PublishToGitHubPages
# - PublishOnPyPI
- IntermediateCleanUp
with:
package: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }}
package: ${{ fromJson(needs.UnitTestingParams.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 }}
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}-*
${{ 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).apptesting_xml }}-*
# ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
7 changes: 5 additions & 2 deletions .idea/pyEDAA.ProjectModel.iml

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

4 changes: 2 additions & 2 deletions dist/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
wheel>=0.38.1
twine
wheel ~= 0.44
twine ~= 5.1
Loading
Loading