From 250ad53b7b9b5080cb9f3fa01a62265299a37510 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Fri, 12 Sep 2025 00:16:02 +0200 Subject: [PATCH] Documented StaticTypeCheck. --- .github/workflows/StaticTypeCheck.yml | 4 +- doc/JobTemplate/Quality/StaticTypeCheck.rst | 181 ++++++++++++------ .../pyTooling-Actions-StaticTypeCheck.png | Bin 0 -> 53169 bytes 3 files changed, 127 insertions(+), 58 deletions(-) create mode 100644 doc/_static/pyTooling-Actions-StaticTypeCheck.png diff --git a/.github/workflows/StaticTypeCheck.yml b/.github/workflows/StaticTypeCheck.yml index 86edaea..167d9fd 100644 --- a/.github/workflows/StaticTypeCheck.yml +++ b/.github/workflows/StaticTypeCheck.yml @@ -56,7 +56,8 @@ on: type: string html_artifact: description: 'Name of the typing artifact (HTML report).' - required: true + required: false + default: '' type: string junit_artifact: description: 'Name of the typing junit artifact (junit XML).' @@ -65,7 +66,6 @@ on: type: string jobs: - StaticTypeCheck: name: 👀 Check Static Typing using Python ${{ inputs.python_version }} runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}" diff --git a/doc/JobTemplate/Quality/StaticTypeCheck.rst b/doc/JobTemplate/Quality/StaticTypeCheck.rst index af8a8d6..c055618 100644 --- a/doc/JobTemplate/Quality/StaticTypeCheck.rst +++ b/doc/JobTemplate/Quality/StaticTypeCheck.rst @@ -6,18 +6,36 @@ StaticTypeCheck This job runs a static type check using mypy and collects the results. These results can be converted to a HTML report and then uploaded as an artifact. -**Behavior:** +.. topic:: Features -1. Checkout repository -2. Setup Python and install dependencies -3. Run type checking command(s). -4. Upload type checking report as an artifact + * tbd -**Dependencies:** +.. topic:: Behavior -* :gh:`actions/checkout` -* :gh:`actions/setup-python` -* :gh:`actions/upload-artifact` + 1. Checkout repository + 2. Setup Python and install dependencies + 3. Run type checking command(s). + 4. Upload type checking report as an artifact + +.. topic:: Job Execution + + .. image:: ../../_static/pyTooling-Actions-StaticTypeCheck.png + :width: 1000px + +.. topic:: Dependencies + + * :gh:`actions/checkout` + * :gh:`actions/setup-python` + * pip + + * Python packages specified via :ref:`JOBTMPL/StaticTypeCheck/Input/requirements`. + + * :gh:`pyTooling/upload-artifact` + + * :gh:`actions/upload-artifact` + + +.. _JOBTMPL/StaticTypeCheck/Instantiation: Instantiation ************* @@ -83,92 +101,133 @@ Example ``commands``: cd Parent mypy --html-report ../htmlmypy -p ToolName -Parameters -********** -python_version -============== +.. _JOBTMPL/StaticTypeCheck/Parameters: -+----------------+----------+----------+-----------------+ -| Parameter Name | Required | Type | Default | -+================+==========+==========+=================+ -| python_version | optional | string | ``3.11`` | -+----------------+----------+----------+-----------------+ +Parameter Summary +***************** -Python version. +.. rubric:: Goto :ref:`input parameters ` ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| Parameter Name | Required | Type | Default | ++=====================================================================+==========+==========+===================================================================+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/ubuntu_image_version` | no | string | ``'24.04'`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/python_version` | no | string | ``'3.13'`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/requirements` | no | string | ``'-r tests/requirements.txt'`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/commands` | yes | string | — — — — | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/html_report` | no | string | ``'htmlmypy'`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/junit_report` | no | string | ``'StaticTypingSummary.xml'`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/html_artifact` | no | string | ``''`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| :ref:`JOBTMPL/StaticTypeCheck/Input/junit_artifact` | no | string | ``''`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ + +.. rubric:: Goto :ref:`secrets ` + +This job template needs no secrets. + +.. rubric:: Goto :ref:`output parameters ` + +This job template has no output parameters. + + +.. _JOBTMPL/StaticTypeCheck/Inputs: + +Input Parameters +**************** + +.. _JOBTMPL/StaticTypeCheck/Input/ubuntu_image_version: + +.. include:: ../_ubuntu_image_version.rst + + +.. _JOBTMPL/StaticTypeCheck/Input/python_version: + +.. include:: ../_python_version.rst + + +.. _JOBTMPL/StaticTypeCheck/Input/requirements: requirements ============ -+----------------+----------+----------+-------------------------------+ -| Parameter Name | Required | Type | Default | -+================+==========+==========+===============================+ -| requirements | optional | string | ``-r tests/requirements.txt`` | -+----------------+----------+----------+-------------------------------+ +:Type: string +:Required: no +:Default Value: ``'-r tests/requirements.txt'`` +:Possible Values: Any valid list of parameters for ``pip install``. |br| + Either a requirements file can be referenced using ``'-r path/to/requirements.txt'``, or a list of + packages can be specified using a space separated list like ``'mypy lxml'``. +:Description: Python dependencies to be installed through *pip*. -Python dependencies to be installed through pip. +.. _JOBTMPL/StaticTypeCheck/Input/commands: commands ======== -+----------------+----------+----------+--------------+ -| Parameter Name | Required | Type | Default | -+================+==========+==========+==============+ -| commands | yes | string | — — — — | -+----------------+----------+----------+--------------+ +:Type: string +:Required: yes +:Default Value: — — — — +:Possible Values: tbd +:Description: tbd -Commands to run the static type checks. +.. _JOBTMPL/StaticTypeCheck/Input/html_report: html_report =========== -+----------------+----------+----------+-----------------+ -| Parameter Name | Required | Type | Default | -+================+==========+==========+=================+ -| report | optional | string | ``htmlmypy`` | -+----------------+----------+----------+-----------------+ +:Type: string +:Required: no +:Default Value: ``'htmlmypy'`` +:Possible Values: Any valid directory or subdirectory path. +:Description: The directory containing the generated HTML report. -HTML output directory to upload as an artifact. +.. _JOBTMPL/StaticTypeCheck/Input/junit_report: junit_report ============ -+----------------+----------+----------+-----------------------------+ -| Parameter Name | Required | Type | Default | -+================+==========+==========+=============================+ -| report | optional | string | ``StaticTypingSummary.xml`` | -+----------------+----------+----------+-----------------------------+ +:Type: string +:Required: no +:Default Value: ``'StaticTypingSummary.xml'`` +:Possible Values: Any valid file name for mypy's JUnit XML report. +:Description: File name for the JUnit XML file. -junit file to upload as an artifact. +.. _JOBTMPL/StaticTypeCheck/Input/html_artifact: html_artifact ============= -+----------------+----------+----------+--------------+ -| Parameter Name | Required | Type | Default | -+================+==========+==========+==============+ -| html_artifact | yes | string | — — — — | -+----------------+----------+----------+--------------+ +:Type: string +:Required: no +:Default Value: ``''`` +:Possible Values: Any valid artifact name. +:Description: Name of the artifact containing the HTML report. -Name of the typing artifact (HTML report). +.. _JOBTMPL/StaticTypeCheck/Input/junit_artifact: junit_artifact ============== -+----------------+----------+----------+--------------+ -| Parameter Name | Required | Type | Default | -+================+==========+==========+==============+ -| junit_artifact | optional | string | ``""`` | -+----------------+----------+----------+--------------+ +:Type: string +:Required: no +:Default Value: ``''`` +:Possible Values: Any valid artifact name. +:Description: Name of the artifact containing the JUnit XML report. -Name of the typing junit artifact (junit XML). +.. _JOBTMPL/StaticTypeCheck/Secrets: Secrets ******* @@ -176,7 +235,17 @@ Secrets This job template needs no secrets. -Results +.. _JOBTMPL/StaticTypeCheck/Outputs: + +Outputs ******* This job template has no output parameters. + + +.. _JOBTMPL/StaticTypeCheck/Optimizations: + +Optimizations +************* + +This template offers no optimizations (reduced job runtime). diff --git a/doc/_static/pyTooling-Actions-StaticTypeCheck.png b/doc/_static/pyTooling-Actions-StaticTypeCheck.png new file mode 100644 index 0000000000000000000000000000000000000000..22b6e51aa791f6151a699553e93d87a19d387689 GIT binary patch literal 53169 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