Tool for flattening include statements in GitHub actions workflow.yml files.
Project description
actions-includes
Allows including an action inside another action (by preprocessing the Yaml file).
Instead of using uses
or run
in your action step, use the keyword includes
.
Once you are using the includes
argument, the workflows can be expanded using
the tool like follows;
# python -m actions_include <input-workflow-with-includes> <output-workflow-flattened>
python -m actions_includes ./.github/workflows-src/workflow-a.yml ./.github/workflows/workflow-a.yml
includes:
step
steps:
- name: Other step
run: |
command
- includes: {action-name}
with:
{inputs}
- name: Other step
run: |
command
The {action-name}
follows the same syntax as the standard GitHub action
uses
and the action referenced should look exactly like a
GitHub "composite action"
except runs.using
should be includes
.
For example;
{owner}/{repo}@{ref}
- Public action ingithub.com/{owner}/{repo}
{owner}/{repo}/{path}@{ref}
- Public action under{path}
ingithub.com/{owner}/{repo}
../{path}
- Local action under local{path}, IE
./.github/actions/my-action`.
As it only makes sense to reference composite actions, the docker://
form isn't supported.
As you frequently want to include local actions, actions-includes
extends the
{action-name}
syntax to also support;
/{name}
- Local action under./.github/actions/{name}
.
This is how composite actions should have worked.
includes-script:
step
File: script.py
print('Hello world')
File: workflow.yml
steps: - name: Other step run: | command - name: Hello includes-script: script.py - name: Other step run: | command
python -m actions_includes.py workflow.in.yml workflow.out.yml
File: oworkflow.out.yml
steps: - name: Other step run: | command - name: Hello shell: python run: | print('Hello world') - name: Other step run: | command
The shell
parameter is deduced from the file extension, but it is possible to
use a custom shell by setting the shell
parameter manually.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file actions-includes-0.0.post88.tar.gz
.
File metadata
- Download URL: actions-includes-0.0.post88.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f7aac17f9d883accd5c8bf46867ae47b5b81bacffa380c60ee3b3f9fa81e25c |
|
MD5 | b6e00796b1789cf69e10dbc299d5edc0 |
|
BLAKE2b-256 | 09aec19ee9063da1ab8436cc6ca36923e663e4ea6179867807849abbf9549a59 |
File details
Details for the file actions_includes-0.0.post88-py3.9.egg
.
File metadata
- Download URL: actions_includes-0.0.post88-py3.9.egg
- Upload date:
- Size: 42.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c6644aced6eb4f3ab5e9c0a7317e08d754385cdc780ee56be6c2c4d0b5535e0 |
|
MD5 | c3667775d5cde1982a84dd1df3faad94 |
|
BLAKE2b-256 | 6fbcf6137057b1ea76ea616a5506da50306010e91d3b25cf459110116d2a262a |
File details
Details for the file actions_includes-0.0.post88-py3.8.egg
.
File metadata
- Download URL: actions_includes-0.0.post88-py3.8.egg
- Upload date:
- Size: 42.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9039ebaebe619f5129ed3324a47e52a2e0b3e7ea92225b58c8845a93a0fa13ce |
|
MD5 | f2b20763799b3dd5a2777b8ea097c0f2 |
|
BLAKE2b-256 | a6cf8f77b7bd276244263a063d51df333059851dbe664ceeba1e92b363a4455b |
File details
Details for the file actions_includes-0.0.post88-py3-none-any.whl
.
File metadata
- Download URL: actions_includes-0.0.post88-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0efa00a7015073098209f621a2b3645e66b2b1e72d9b67873fa8def30952b2a |
|
MD5 | 358420bd292158b0a8e6a75c3c95c808 |
|
BLAKE2b-256 | 1c4df647185e41446636cc67d7fdf02e0f7432066d5f5c6625be27b96213e02c |