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

Add initial abstraction for testsuites and testcases #6

Merged
merged 11 commits into from
Jan 31, 2022
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/"
target-branch: dev
commit-message:
prefix: "[Dependabot]"
labels:
- Dependencies
assignees:
- Paebbels
reviewers:
- Paebbels
schedule:
interval: daily
128 changes: 116 additions & 12 deletions .github/workflows/Pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,94 @@ jobs:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
with:
name: pyEDAA.Reports
python_version_list: "3.6 3.7 3.8 3.9 3.10"

UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r0
needs:
- Params
with:
jobs: ${{ needs.Params.outputs.python_jobs }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}
pacboy: >-
python-pip:p
python-wheel:p
python-coverage:p
python-lxml:p
python-ruamel-yaml:p
python-ruamel.yaml.clib:p

Coverage:
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r0
needs:
- Params
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
secrets:
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}

StaticTypeCheck:
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r0
needs:
- Params
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
requirements: '-r tests/requirements.txt'
commands: |
cd pyEDAA
mypy --html-report ../htmlmypy -p Reports
report: 'htmlmypy'
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}

PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r0
needs:
- UnitTesting

Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@r0
needs:
- Params
- Coverage
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}

Release:
uses: pyTooling/Actions/.github/workflows/Release.yml@r0
if: startsWith(github.ref, 'refs/tags')
needs:
- UnitTesting
- Coverage
- StaticTypeCheck
- Package

PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r0
if: startsWith(github.ref, 'refs/tags')
needs:
- Params
- Release
- Package
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
requirements: -r dist/requirements.txt
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}

# VerifyDocs:
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r0
# needs:
# - Params
# with:
# python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}

BuildTheDocs:
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r0
needs:
- Params
#- VerifyDocs
with:
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}

Expand All @@ -26,17 +108,39 @@ jobs:
needs:
- Params
- BuildTheDocs
- Coverage
- StaticTypeCheck
with:
doc: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
coverage: ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
typing: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}

# TODO: this is disabled until some package exists.
# ArtifactCleanUp:
# uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r0
# needs:
# - Params
# - BuildTheDocs
# - PublishToGitHubPages
# with:
# package: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
# remaining: |
# ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
ArtifactCleanUp:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r0
needs:
- Params
- UnitTesting
- Coverage
- StaticTypeCheck
- BuildTheDocs
- PublishToGitHubPages
- PublishTestResults
with:
package: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
remaining: |
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.7
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.8
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.9
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.10
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.7
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.8
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.9
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.10
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-msys2-3.9
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.7
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.8
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.9
${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.10
${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
2 changes: 2 additions & 0 deletions dist/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
wheel
twine
Loading