| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
General purpose reusable GitHub Action workflows and composite actions.
Each reusable workflow and composite action in this repository is versioned and released independently. The next version of each component is determined automatically from the Conventional Commits in commit subjects on main that touched the component's files.
The Release workflows/actions GitHub Action workflow (.github/workflows/release.yaml):
The Lint Pull Request Title GitHub Action workflow (.github/workflows/lint-pr-title.yaml):
The Conventional Commits preset expects pull request titles to be in the following format:
<type>(<scope>): <subject>
A commit whose files fall within a component's tracked path always produces at least a patch bump for that component, regardless of type. Commit subjects that don't match a recognised Conventional Commit type are ignored for version calculation.
To indicate a breaking change, the exclamation mark ! should be used immediately after the type (or type and scope):
A breaking commit bumps the affected component to a new major version. Consumers pinned to the previous major float (e.g. @build_container_image/v1) stay frozen on the old major line — picking up the new major requires re-pinning to the new float explicitly.
For every release, three tags are produced per affected component:
| Tag | Mutability | Points at |
|---|---|---|
| <component>/vX.Y.Z | immutable | The release commit |
| <component>/vX.Y | moves on patch releases | Latest patch of vX.Y.x |
| <component>/vX | moves on any non-breaking release | Latest non-breaking of vX.x.y |
Consumers reference a component by one of these tags:
# Major float — auto-updates on every non-breaking release (recommended):
uses: FlowFuse/github-actions-workflows/.github/workflows/build_container_image.yml@build_container_image/v1
# Minor float — auto-updates only on patches:
uses: FlowFuse/github-actions-workflows/.github/workflows/build_container_image.yml@build_container_image/v1.2
# Exact pin — never moves:
uses: FlowFuse/github-actions-workflows/.github/workflows/build_container_image.yml@build_container_image/v1.2.3
# Composite actions use the same pattern:
uses: FlowFuse/github-actions-workflows/actions/npm_test@npm_test/v1Create the workflow or action file.
Register the component in .github/workflows/release.yaml by adding a new entry to the matrix.component list:
For a reusable workflow:
- { name: <name>, path: .github/workflows/<name>.yml }For a composite action:
- { name: <name>, path: actions/<name> }The path must point at a real file or directory in the repository — the release script fails fast if it does not exist.
Open the pull request with a Conventional Commit title, for example feat: add <name> reusable workflow.
After the pull request is merged, the next run of the release workflow on main will automatically tag the new component at <name>/v0.1.0 (and create the matching v0 and v0.1 floats). No manual bootstrap of initial tags is required.
A new component with no Conventional Commit history yet is still released as v0.1.0 on first run, so consumers can start referencing it immediately.
| Back | FazBrowse Home | New Git URL |