Shared GitHub Actions and reusable workflows for the provide.io ecosystem. Contributions should keep actions composable, reusable across repos, and free of project-specific assumptions.
bash≥ 5act(optional, for local action testing)- Python 3.11+ (for helper scripts)
- A local checkout of at least one repo that consumes these workflows (e.g.
wrknv,provide-foundation) so you can validate changes end-to-end
git clone https://github.com/provide-io/ci-tooling
cd ci-toolingNo dependencies to install; actions and scripts are self-contained.
- Action quality: every
actions/*composite action has a corresponding test in.github/workflows/test-actions.yml. Add a case when you add or modify an action. - Workflow parity: reusable workflows (
templates/*) must work across Linux/macOS/Windows runners unless explicitly documented as platform-specific. - Shell:
#!/usr/bin/env bash+set -euo pipefailat the top of every script. Nobash-isms insh-annotated files. - Scripts ≤ 3 lines inline: if a workflow
run:block exceeds 3 lines, extract it toscripts/. - SPDX headers required on every source/config file (
# SPDX-FileCopyrightText: Copyright (c) <year> provide.io llc. All rights reserved.+# SPDX-License-Identifier: MIT).
- Conventional prefixes:
feat(action): …,fix(workflow): …,chore(ci): …,docs: …,refactor: …,test: …. - Keep subject ≤ 72 chars.
- Do not mention AI assistance. No
Co-Authored-By:trailers. - Canonical author email:
code@tim.lifeorcode@provide.io.
- Run
.github/workflows/test-actions.ymllocally viaact(or confirm it runs green on the PR branch). - For reusable-workflow changes, validate against at least one consumer repo before merge.
- In the PR description, list which consumer repos you verified against.