diff --git a/.github/workflows/InstallPackage.yml b/.github/workflows/InstallPackage.yml index a893c91..881e187 100644 --- a/.github/workflows/InstallPackage.yml +++ b/.github/workflows/InstallPackage.yml @@ -93,7 +93,7 @@ jobs: run: | python -m pip install -v --disable-pip-version-check (Get-Item .\install\*.whl).FullName - - name: 📦 Run application tests (Ubuntu/macOS) + - name: 📦 Run Package Version Check (Ubuntu/macOS) if: ( matrix.system != 'windows' && matrix.system != 'windows-arm' ) run: | set +e @@ -116,7 +116,7 @@ jobs: exit 1 fi - - name: 📦 Run application tests (Windows) + - name: 📦 Run Package Version Check (Windows) if: ( matrix.system == 'windows' || matrix.system == 'windows-arm' ) run: | $result=$(python -c "from ${{ inputs.package_name }} import __version__; print(f""Package version: {__version__}"")") diff --git a/doc/JobTemplate/Package/InstallPackage.rst b/doc/JobTemplate/Package/InstallPackage.rst index 9bcf3c0..96887d9 100644 --- a/doc/JobTemplate/Package/InstallPackage.rst +++ b/doc/JobTemplate/Package/InstallPackage.rst @@ -1,22 +1,123 @@ .. _JOBTMPL/InstallPackage: -InstallPackage -############## +InstallPackage (beta) +##################### -.. todo:: InstallPackage:Needs documentation. +The ``InstallPackage`` job template takes a generated Python package and installs it on the target platform. Afterwards +the installation is verified. This aims for packaging and dependency mistakes in the package. -**Behavior:** +.. topic:: Features -.. todo:: InstallPackage:Behavior needs documentation. + * Install generated Python package on the target platform. -**Dependencies:** +.. topic:: Behavior -.. todo:: InstallPackage:Dependencies needs documentation. + * Download Python package as artifact. + * Prepare the Python environment. + * Install the Python package using ``pip``. + * Read out and verify the package version. + +.. topic:: Job Execution + + .. image:: ../../_static/pyTooling-Actions-InstallPackage.png + :width: 600px + +.. topic:: Dependencies + + * :gh:`actions/checkout` + * :gh:`pyTooling/download-artifact` + + * :gh:`actions/download-artifact` + + * :gh:`msys2/setup-msys2` + * :gh:`actions/setup-python` + * pip + + * :pypi:`pip` + * :pypi:`wheel` + + +.. _JOBTMPL/InstallPackage/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:: InstallPackage: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/Package` + ``InstallPackage`` is usualy + + +.. _JOBTMPL/InstallPackage/Parameters: + +Parameter Summary +***************** + +.. rubric:: Goto :ref:`input parameters ` + ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ +| Parameter Name | Required | Type | Default | ++=====================================================================+==========+==========+===================================================================+ +| :ref:`JOBTMPL/InstallPackage/Input/ubuntu_image` | no | string | ``'ubuntu-24.04'`` | ++---------------------------------------------------------------------+----------+----------+-------------------------------------------------------------------+ + +.. rubric:: Goto :ref:`secrets ` + +This job template needs no secrets. + +.. rubric:: Goto :ref:`output parameters ` + +This job template has no output parameters. + + +.. _JOBTMPL/InstallPackage/Inputs: + +Input Parameters +**************** + +.. _JOBTMPL/InstallPackage/Input/ubuntu_image: + +ubuntu_image +============ + + +.. _JOBTMPL/InstallPackage/Secrets: + +Secrets +******* + +This job template needs no secrets. + + +.. _JOBTMPL/InstallPackage/Outputs: + +Outputs +******* + +This job template has no output parameters. + + +.. _JOBTMPL/InstallPackage/Optimizations: + +Optimizations +************* + +This template offers no optimizations (reduced job runtime). diff --git a/doc/_static/pyTooling-Actions-InstallPackage.png b/doc/_static/pyTooling-Actions-InstallPackage.png new file mode 100644 index 0000000..9ccc7d7 Binary files /dev/null and b/doc/_static/pyTooling-Actions-InstallPackage.png differ