https://github.com/plus3it/actions-workflows
Repository of reusable workflows
https://github.com/plus3it/actions-workflows
Last synced: about 1 month ago
JSON representation
Repository of reusable workflows
- Host: GitHub
- URL: https://github.com/plus3it/actions-workflows
- Owner: plus3it
- License: apache-2.0
- Created: 2023-01-23T15:09:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-04-20T07:15:07.000Z (about 1 month ago)
- Last Synced: 2026-04-21T10:07:45.250Z (about 1 month ago)
- Language: Makefile
- Size: 307 KB
- Stars: 0
- Watchers: 1
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# actions-workflows
Repository of plus3it reusable worfklows for GitHub Actions.
This project publishes reusable workflows for the Plus3IT organization. All reusable
workflows are located in the directory [.github/workflows](.github/workflows).
* [lint](.github/workflows/lint.yml)
* [test](.github/workflows/test.yml)
* [release](.github/workflows/release.yml)
The release logic is also available as a composite action. Only difference is that
the action does not execute the lint and test workflows.
* [release action](.github/actions/release)
Any workflow file that is not prefixed with `local-` is provided as a reusable
workflow. The `local-` workflow files are the workflows in use by _this_ project,
themselves using the reusable workflows. The `local-` workflows are also examples
of how the reusable workflows are expected to be invoked.
## Reusable workflows
### `lint`
Inputs:
* `tardigradelint-target`: Controls which tardigrade-ci Makefile target to run.
Defaults to `lint`.
An example of calling the reusable `lint` workflow:
```
name: Run lint and static analyis checks
on:
pull_request:
# Cancel other lint workflows when source is updated
concurrency:
group: lint-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
lint:
uses: plus3it/actions-workflows/.github/workflows/lint.yml@v1
```
### `test`
Inputs:
* `mockstacktest-enable`: Controls whether to run the mockstacktest job. Defaults
to `true`.
* `prerelease`: Marks the GitHub Release as a prerelease. Defaults to `false`.
* `draft`: Creates the GitHub Release as a draft. Defaults to `false`.
An example of calling the reusable `test` workflow:
```
name: Run test jobs
on:
pull_request:
# Cancel other test workflows when source is updated
concurrency:
group: test-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
test:
uses: plus3it/actions-workflows/.github/workflows/test.yml@v1
```
### `release`
Inputs:
* `mockstacktest-enable`: Controls whether to run the mockstacktest job. Defaults
to `true`.
Secrets:
* `release-token`: Required. Token with permissions to create GitHub Releases.
An example of calling the reusable `release` workflow:
```
name: Create GitHub Release
on:
# Run on demand
workflow_dispatch:
# Run on push to main when .bumpversion.cfg version is updated
push:
branches:
- main
paths:
- .bumpversion.cfg
jobs:
release:
uses: plus3it/actions-workflows/.github/workflows/release.yml@v1
secrets:
release-token: ${{ secrets.GH_RELEASES_TOKEN }}
```
An example of using the composite `release` action:
Inputs:
* `release-files`: Optional. Newline-delimited globs of assets to upload.
* `prerelease`: Optional. Marks the GitHub Release as a prerelease. Defaults to `false`.
* `draft`: Optional. Creates the GitHub Release as a draft. Defaults to `false`.
* `release-token`: Required. Token with permissions to create GitHub Releases.
```
name: Create GitHub Release
on:
# Run on demand
workflow_dispatch:
# Run on push to main when .bumpversion.cfg version is updated
push:
branches:
- main
paths:
- .bumpversion.cfg
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: plus3it/actions-workflows/.github/actions/release@v1
with:
release-token: ${{ secrets.GH_RELEASES_TOKEN }}
```