Skip to content

ApplicationTesting: download artifacts the application tests read - #296

Merged
Paebbels merged 2 commits into
devfrom
claude/apptesting-artifacts
Oct 9, 2026
Merged

Paebbels merged 2 commits into
devfrom
claude/apptesting-artifacts

Conversation

@pytooling-claude

@pytooling-claude pytooling-claude Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

New Features

  • ApplicationTesting.yml:
    • New input artifacts_pattern: a glob of artifact names, e.g. 'Example-*'. Empty by default: no download, so
      every existing pipeline is unchanged. Named like unittest_artifacts_pattern (PublishTestResults.yml) and
      coverage_artifacts_pattern (PublishCoverageResults.yml).
    • New input artifacts_directory: the directory the artifacts are downloaded into, default 'artifacts'. Each
      artifact is extracted into a subdirectory named after it (pyTooling/download-artifact with pattern, without
      merge-multiple).
    • The download runs after the wheel is installed, before the tests, on every system of the matrix.

Documentation

  • Job Templates › ApplicationTesting: both inputs in the parameter summary and as sections; the job's steps name the
    download.

Unit Tests

  • tests/app/AppTest.py, new class DownloadedArtifacts: reads the example report downloaded into
    artifacts/Example-Report/; skips where the calling pipeline downloads no artifacts.

GitHub Pipeline

  • _Checking_JobTemplates.yml: new job ExampleReport uploads an example report as artifact Example-Report;
    AppTesting waits for it and downloads Example-*.

Changes after opening

  • Review: the input download_artifacts is renamed to artifacts_pattern, like the artifact patterns of the other
    job templates (2aab891).

Related Issues and Pull-Requests

  • Requested by Patrick for pyEDAA.Reports: the example jobs' reports (JUnit XML, Cobertura, gcov JSON, GHDL, ...) are
    handed to the application tests, which read them with the installed package's CLI - instead of copies committed
    under tests/data/.
  • CompletePipeline.yml doesn't forward the new inputs; pipelines with example jobs wire their jobs by hand.

…ownload_artifacts')

New inputs 'download_artifacts' - a glob of artifact names, empty by default - and 'artifacts_directory' -
'artifacts' by default. After the wheel is installed, the matching artifacts are downloaded, each into a
subdirectory named after the artifact, so application tests can read what other jobs of the pipeline wrote, e.g.
the reports of example jobs.

'_Checking_JobTemplates.yml' uploads an example report from a new job 'ExampleReport' and lets 'AppTesting'
download 'Example-*'; a new app test reads it, and skips where no artifacts were downloaded.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Comment thread .github/workflows/ApplicationTesting.yml Outdated
…ttern'

Like 'unittest_artifacts_pattern' (PublishTestResults) and 'coverage_artifacts_pattern' (PublishCoverageResults).

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@Paebbels
Paebbels merged commit 7f162a7 into dev Oct 9, 2026
53 of 72 checks passed
@Paebbels
Paebbels deleted the claude/apptesting-artifacts branch October 9, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants