InstallPackage (beta)

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.

Instantiation

The following instantiation example creates a Install job derived from job template InstallPackage version @r6. It installs the Python package on various platforms using a precomputed job-matrix created by job InstallParams. This job uses the same Parameters job template as job UnitTestingParams, which was used to define parameters for the packaging job Package.

jobs:
  UnitTestingParams:
    uses: pyTooling/Actions/.github/workflows/Parameters.yml@r6
    with:
      package_name: myPackage

  InstallParams:
    uses: pyTooling/Actions/.github/workflows/Parameters.yml@r6
    with:
      package_name:        myPackage
      python_version_list: ''

  Package:
    uses: pyTooling/Actions/.github/workflows/Package.yml@r6
    needs:
      - UnitTestingParams
    with:
      artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}

  Install:
    uses: pyTooling/Actions/.github/workflows/InstallPackage.yml@r6
    needs:
      - UnitTestingParams
      - InstallParams
      - Package
    with:
      jobs:         ${{ needs.InstallParams.outputs.python_jobs }}
      wheel:        ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
      package_name: ${{ needs.UnitTestingParams.outputs.package_fullname }}

Parameter Summary

Goto input parameters

Parameter Name

Required

Type

Default

jobs

yes

string

— — — —

wheel

yes

string

— — — —

package_name

yes

string

— — — —

Goto secrets

This job template needs no secrets.

Goto output parameters

This job template has no output parameters.

Input Parameters

jobs

Type:

string

Required:

yes

Default Value:

— — — —

Possible Values:

A JSON string with an array of dictionaries with the following key-value pairs:

sysicon:

icon to display

system:

name of the system

runs-on:

virtual machine image and base operating system

runtime:

name of the runtime environment if not running natively on the VM image

shell:

name of the shell

pyicon:

icon for CPython or pypy

python:

Python version

envname:

full name of the selected environment

Description:

A JSON encoded job matrix to run multiple Python job variations.

wheel

Type:

string

Required:

yes

Default Value:

— — — —

Possible Values:

Any valid artifact name.

Description:

The artifact containing the packaged Python code as wheel.

package_name

Type:

string

Required:

yes

Default Value:

— — — —

Possible Values:

Any valid Python package, subpackage or module name.

Description:

The package or module containing the version information as a string in __version__.

Secrets

This job template needs no secrets.

Outputs

This job template has no output parameters.

Optimizations

This template offers no optimizations (reduced job runtime).