Documented IntermediateCleanup and ArtifactCleanup.

This commit is contained in:
Patrick Lehmann
2025-09-07 08:19:12 +02:00
parent ee869dead5
commit d005debf69
5 changed files with 248 additions and 29 deletions

View File

@@ -245,7 +245,18 @@ It can be used for simple Python packages as well as namespace packages.
* :ref:`pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml <JOBTMPL/PublishToGitHubPages>`
* :ref:`pyTooling/Actions/.github/workflows/PublishOnPyPI.yml <JOBTMPL/PublishOnPyPI>`
* :ref:`pyTooling/Actions/.github/workflows/TagReleaseCommit.yml <JOBTMPL/TagReleaseCommit>`
* :gh:`actions/github-script`
* :ref:`pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml <JOBTMPL/PublishReleaseNotes>`
* :gh:`actions/checkout`
* ``gh`` (GitHub command line interface)
* ``jq`` (JSON processing)
* apt
zstd
* :ref:`pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml <JOBTMPL/IntermediateCleanUp>`
* :gh:`geekyeggo/delete-artifact`

View File

@@ -3,18 +3,29 @@
ArtifactCleanUp
###############
This job removes artifacts used to exchange data from job to job.
This job removes artifacts which were used to exchange data from job to job.
**Behavior:**
.. topic:: Features
* Delete artifacts from pipeline.
.. topic:: Behavior
1. Delete the package artifact if the current pipeline run was not a tagged run.
2. Delete all remaining artifacts if given as a parameter.
**Dependencies:**
.. topic:: Job Execution
.. image:: ../../_static/pyTooling-Actions-ArtifactCleanup.png
:width: 350px
.. topic:: Dependencies
* :gh:`geekyeggo/delete-artifact`
.. _JOBTMPL/ArtifactCleanup/Instantiation:
Instantiation
*************
@@ -52,39 +63,106 @@ Complex Example
${{ fromJson(needs.Params.outputs.artifact_names).unittesting_xml }}-*
Parameters
**********
.. seealso::
:ref:`JOBTMPL/IntermediateCleanUp`
``IntermediateCleanUp`` is used to remove intermediate artifacts like unit test artifacts for each job variant
after test results have been merged into a single file.
.. _JOBTMPL/ArtifactCleanup/Parameters:
Parameter Summary
*****************
.. rubric:: Goto :ref:`input parameters <JOBTMPL/ArtifactCleanup/Inputs>`
+---------------------------------------------------------------------+----------+----------+---------------------------------------------------+
| Parameter Name | Required | Type | Default |
+=====================================================================+==========+==========+===================================================+
| :ref:`JOBTMPL/ArtifactCleanup/Input/ubuntu_image_version` | no | string | ``'24.04'`` |
+---------------------------------------------------------------------+----------+----------+---------------------------------------------------+
| :ref:`JOBTMPL/ArtifactCleanup/Input/package` | yes | string | — — — — |
+---------------------------------------------------------------------+----------+----------+---------------------------------------------------+
| :ref:`JOBTMPL/ArtifactCleanup/Input/remaining` | no | string | ``''`` |
+---------------------------------------------------------------------+----------+----------+---------------------------------------------------+
.. rubric:: Goto :ref:`secrets <JOBTMPL/ArtifactCleanup/Secrets>`
This job template needs no secrets.
.. rubric:: Goto :ref:`output parameters <JOBTMPL/ArtifactCleanup/Outputs>`
This job template has no output parameters.
.. _JOBTMPL/ArtifactCleanup/Inputs:
Input Parameters
****************
.. _JOBTMPL/ArtifactCleanup/Input/ubuntu_image_version:
ubuntu_image_version
====================
:Type: string
:Required: no
:Default Value: ``'24.04'``
:Possible Values: See `actions/runner-images - Available Images <https://github.com/actions/runner-images?tab=readme-ov-file#available-images>`__
for available Ubuntu image versions.
:Description: Version of the Ubuntu image used to run this job.
.. note::
Unfortunately, GitHub Actions has only a `limited set of functions <https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#functions>`__,
thus, the usual Ubuntu image name like ``'ubuntu-24.04'`` can't be split into image name and image
version.
.. _JOBTMPL/ArtifactCleanup/Input/package:
package
=======
+----------------+----------+----------+----------+
| Parameter Name | Required | Type | Default |
+================+==========+==========+==========+
| package | yes | string | — — — — |
+----------------+----------+----------+----------+
:Type: string
:Required: yes
:Default Value: — — — —
:Possible Values: Multi-line string accepting any valid artifact name per line.
:Description: Artifacts to be removed on not tagged runs.
Artifacts to be removed on not tagged runs.
.. _JOBTMPL/ArtifactCleanup/Input/remaining:
remaining
=========
+----------------+----------+----------+----------+
| Parameter Name | Required | Type | Default |
+================+==========+==========+==========+
| remaining | optional | string | ``""`` |
+----------------+----------+----------+----------+
:Type: string
:Required: no
:Default Value: ``''``
:Possible Values: Multi-line string accepting any valid artifact name per line.
:Description: Versi
Artifacts to be removed unconditionally.
.. _JOBTMPL/ArtifactCleanup/Secrets:
Secrets
*******
This job template needs no secrets.
Results
.. _JOBTMPL/ArtifactCleanup/Outputs:
Outputs
*******
This job template has no output parameters.
.. _JOBTMPL/ArtifactCleanup/Optimizations:
Optimizations
*************
This template offers no optimizations (reduced job runtime).

View File

@@ -3,20 +3,150 @@
IntermediateCleanUp
###################
.. todo:: IntermediateCleanUp:Needs documentation.
The ``IntermediateCleanUp`` job template is used to remove intermediate artifacts like unit test artifacts for each job
variant after test results have been merged into a single file.
**Behavior:**
.. topic:: Features
.. todo:: IntermediateCleanUp:Behavior needs documentation.
* Delete artifacts from pipeline.
**Dependencies:**
.. topic:: Behavior
1. Delete all SQLite code coverage artifacts if given as a parameter.
2. Delete all JUnit XML report artifacts if given as a parameter.
.. topic:: Job Execution
.. image:: ../../_static/pyTooling-Actions-IntermediateCleanUp.png
:width: 400px
.. topic:: Dependencies
* :gh:`geekyeggo/delete-artifact`
.. _JOBTMPL/IntermediateCleanUp/Instantiation:
Instantiation
*************
Simple Example
==============
The following instantiation example creates a ``Params`` job derived from job template ``Parameters`` version ``@r5``. It only
requires a `name` parameter to create the artifact names.
.. todo:: IntermediateCleanUp:Simple example needs documentation.
.. code-block:: yaml
name: Pipeline
on:
push:
workflow_dispatch:
jobs:
Params:
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@r5
with:
name: pyTooling
.. seealso::
:ref:`JOBTMPL/ArtifactCleanup`
``ArtifactCleanup`` is usualy
.. _JOBTMPL/IntermediateCleanUp/Parameters:
Parameter Summary
*****************
.. rubric:: Goto :ref:`input parameters <JOBTMPL/IntermediateCleanUp/Inputs>`
+----------------------------------------------------------------------------+----------+----------+---------------------------------------------------+
| Parameter Name | Required | Type | Default |
+============================================================================+==========+==========+===================================================+
| :ref:`JOBTMPL/IntermediateCleanUp/Input/ubuntu_image_version` | no | string | ``'24.04'`` |
+----------------------------------------------------------------------------+----------+----------+---------------------------------------------------+
| :ref:`JOBTMPL/IntermediateCleanUp/Input/sqlite_coverage_artifacts_prefix` | no | string | ``''`` |
+----------------------------------------------------------------------------+----------+----------+---------------------------------------------------+
| :ref:`JOBTMPL/IntermediateCleanUp/Input/xml_unittest_artifacts_prefix` | no | string | ``''`` |
+----------------------------------------------------------------------------+----------+----------+---------------------------------------------------+
.. rubric:: Goto :ref:`secrets <JOBTMPL/IntermediateCleanUp/Secrets>`
This job template needs no secrets.
.. rubric:: Goto :ref:`output parameters <JOBTMPL/IntermediateCleanUp/Outputs>`
This job template has no output parameters.
.. _JOBTMPL/IntermediateCleanUp/Inputs:
Input Parameters
****************
.. _JOBTMPL/IntermediateCleanUp/Input/ubuntu_image_version:
ubuntu_image_version
====================
:Type: string
:Required: no
:Default Value: ``'24.04'``
:Possible Values: See `actions/runner-images - Available Images <https://github.com/actions/runner-images?tab=readme-ov-file#available-images>`__
for available Ubuntu image versions.
:Description: Version of the Ubuntu image used to run this job.
.. note::
Unfortunately, GitHub Actions has only a `limited set of functions <https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#functions>`__,
thus, the usual Ubuntu image name like ``'ubuntu-24.04'`` can't be split into image name and image
version.
.. _JOBTMPL/IntermediateCleanUp/Input/sqlite_coverage_artifacts_prefix:
sqlite_coverage_artifacts_prefix
================================
:Type: string
:Required: no
:Default Value: ``''``
:Possible Values: Any valid artifact name including ``*``.
:Description: Prefix for SQLite coverage artifacts to be removed.
.. _JOBTMPL/IntermediateCleanUp/Input/xml_unittest_artifacts_prefix:
xml_unittest_artifacts_prefix
=============================
:Type: string
:Required: no
:Default Value: ``''``
:Possible Values: Any valid artifact name including ``*``.
:Description: Prefix for XML unittest artifacts to be removed.
.. _JOBTMPL/IntermediateCleanUp/Secrets:
Secrets
*******
This job template needs no secrets.
.. _JOBTMPL/IntermediateCleanUp/Outputs:
Outputs
*******
This job template has no output parameters.
.. _JOBTMPL/IntermediateCleanUp/Optimizations:
Optimizations
*************
This template offers no optimizations (reduced job runtime).

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB