mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-12 02:56:56 +08:00
Fine tuning documentation pages.
This commit is contained in:
@@ -3,8 +3,9 @@
|
||||
ExtractConfiguration
|
||||
####################
|
||||
|
||||
The ``ExtractConfiguration`` job template is a .....
|
||||
|
||||
The ``ExtractConfiguration`` job template extracts Python project settings from :file:`pyproject.toml` and shares the
|
||||
values via output parameters with other jobs. Thus, only a single centralized implementation is needed to avoid code
|
||||
duplications within jobs.
|
||||
|
||||
|
||||
.. topic:: Features
|
||||
@@ -21,7 +22,14 @@ The ``ExtractConfiguration`` job template is a .....
|
||||
|
||||
.. topic:: Behavior
|
||||
|
||||
.. todo:: ExtractConfiguration:Behavior needs documentation.
|
||||
1. Checkout repository.
|
||||
2. Install Python dependencies.
|
||||
3. Compute the full package name and the package source directory.
|
||||
4. Read :file:`pyproject.toml` and extract settings for:
|
||||
|
||||
* pytest
|
||||
* Coverage.py
|
||||
* pyEDAA.Reports
|
||||
|
||||
.. topic:: Job Execution
|
||||
|
||||
|
||||
@@ -6,14 +6,27 @@ Parameters
|
||||
The ``Parameters`` job template is a workaround for the limitations of GitHub Actions to handle global variables in
|
||||
GitHub Actions workflows (see `actions/runner#480 <https://github.com/actions/runner/issues/480>`__).
|
||||
|
||||
It generates output parameters with artifact names and a job matrix to be used in later running jobs.
|
||||
It generates output parameters containing a list of artifact names and a job matrix to be used in later running jobs.
|
||||
|
||||
.. topic:: Features
|
||||
|
||||
* Generate names for various artifacts.
|
||||
* Generate a matrix of job combinations made from systems, Python versions and environments as a JSON string.
|
||||
* Generate artifact names for various artifacts.
|
||||
* Generate a matrix of job combinations as a JSON string made from:
|
||||
|
||||
* systems (Ubuntu, macOS, Windows)
|
||||
* architecture (x64-64, aarch64)
|
||||
* Python versions (3.9, 3.10, ..., 3.13),
|
||||
* Python implementation (CPython, PyPy), and
|
||||
* environments (Native, MinGW64, UCRT64, ...).
|
||||
|
||||
* Provide a (default) Python version for other jobs.
|
||||
|
||||
.. topic:: Behavior
|
||||
|
||||
1. Delay job execution by :ref:`JOBTMPL/Parameters/Input/pipeline-delay` seconds.
|
||||
2. Compute job matrix using an embedded Python script.
|
||||
3. Assemble artifact names using a common prefix derived from Python namespace and package name.
|
||||
|
||||
.. topic:: Job Execution
|
||||
|
||||
.. image:: ../../_static/pyTooling-Actions-Parameters.png
|
||||
@@ -430,8 +443,8 @@ disable_list
|
||||
:Possible Values: A space separated list of ``<system>:<python_version>`` tuples.
|
||||
:Description: List of space-separated ``<system>:<python_version>`` tuples to be temporarily disabled from the list
|
||||
of test variants. |br|
|
||||
Each disabled item creates a warning in the workflow log:
|
||||
:Example:
|
||||
Each disabled item creates a warning in the workflow log.
|
||||
:Warning Example:
|
||||
.. code-block:: yaml
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -13,7 +13,7 @@ The job template generates various output parameters derived from
|
||||
.. topic:: Features
|
||||
|
||||
* Provide branch name or tag name from ``${{ github.ref }}`` variable.
|
||||
* Check if pipeline is a branch or tag pipeline.
|
||||
* Check if pipeline is a branch, tag or pull-request pipeline.
|
||||
* Check if a commit is a merge commit.
|
||||
* Check if a commit is a release commit.
|
||||
* Check if a tag is a nightly tag (rolling release tag).
|
||||
@@ -21,23 +21,30 @@ The job template generates various output parameters derived from
|
||||
* Find associated pull-request (PR) for a merge commit/release commit.
|
||||
* Provide a version from tag name or pull-request name.
|
||||
|
||||
.. note::
|
||||
.. note::
|
||||
|
||||
Due to GitHub Action's broken type system and missing implicit type conversions in YAML files, *boolean* values need
|
||||
to be returned as *string* values otherwise type compatibility and comparison are broken. This also requires all
|
||||
inputs to be *string* parameters, otherwise step's, job's or template's output cannot be assigned to a template's
|
||||
input.
|
||||
Due to GitHub Action's broken type system and missing implicit type conversions in YAML files, *boolean* values need
|
||||
to be returned as *string* values otherwise type compatibility and comparison are broken. This also requires all
|
||||
inputs to be *string* parameters, otherwise step's, job's or template's output cannot be assigned to a template's
|
||||
input.
|
||||
|
||||
**Problems:**
|
||||
**Problems:**
|
||||
|
||||
1. Scripts (Bash, Python, ...) return results as strings. There is no option or operation provided by GitHub Actions
|
||||
to convert outputs of ``printf`` to a ``boolean`` in the YAML file.
|
||||
2. Unlike job template inputs, outputs have no type information. These are all considered *string* values. Again no
|
||||
implicit or explicit type conversion is provided.
|
||||
3. While inputs might be defined as ``boolean`` and a matching default can be set as a *boolean* value (e.g.,
|
||||
``false``), a connected variable from ``${{ needs }}`` context will either cause a typing error or a later
|
||||
comparison will not work as expected. Either the comparison works with ``inputs.param == false`` for the default
|
||||
value, **or** it works with a value from ``${{ needs }}`` context, which is a string ``inputs.param == 'false'``.
|
||||
1. Scripts (Bash, Python, ...) return results as strings. There is no option or operation provided by GitHub Actions
|
||||
to convert outputs of ``printf`` to a ``boolean`` in the YAML file.
|
||||
2. Unlike job template inputs, outputs have no type information. These are all considered *string* values. Again no
|
||||
implicit or explicit type conversion is provided.
|
||||
3. While inputs might be defined as ``boolean`` and a matching default can be set as a *boolean* value (e.g.,
|
||||
``false``), a connected variable from ``${{ needs }}`` context will either cause a typing error or a later
|
||||
comparison will not work as expected. Either the comparison works with ``inputs.param == false`` for the default
|
||||
value, **or** it works with a value from ``${{ needs }}`` context, which is a string ``inputs.param == 'false'``.
|
||||
|
||||
.. topic:: Behavior
|
||||
|
||||
1. Checkout repository.
|
||||
2. Classify ``${{ github.ref }}`` into branch, tag or pull-request.
|
||||
3. Compute output parameters.
|
||||
4. Find associated pull-request.
|
||||
|
||||
.. topic:: Job Execution
|
||||
|
||||
@@ -377,11 +384,12 @@ ref_kind
|
||||
Moreover, if the tag matches the :ref:`JOBTMPL/PrepareJob/Input/release_tag_pattern`, the extracted
|
||||
version is available in the job's :ref:`JOBTMPL/PrepareJob/Output/version` result.
|
||||
|
||||
.. note::
|
||||
.. note::
|
||||
|
||||
GitHub doesn't provide standalone branch or tag information, but provides the variable ``${{ github.ref }}``
|
||||
specifying the currently active reference (branch, tag, pull, ...). This job template parses the context's variable
|
||||
and derives if a pipeline runs for a commit on a branch or a tagged commit.
|
||||
GitHub doesn't provide standalone branch or tag information, but provides the variable
|
||||
``${{ github.ref }}`` specifying the currently active reference (branch, tag, pull, ...). This job
|
||||
template parses the context's variable and derives if a pipeline runs for a commit on a branch or a
|
||||
tagged commit.
|
||||
|
||||
|
||||
.. _JOBTMPL/PrepareJob/Output/branch:
|
||||
|
||||
Reference in New Issue
Block a user