Reusable workflows for GitHub Actions
| Category | Workflow | Description |
|---|---|---|
| NPM | Pack | Version and package an NPM module for distribution |
| NPM | Publish | [Version and] Publish an NPM module to a registry |
| NPM | Script | Run an NPM script and [optionally] upload output artifact (build, test results, etc.) to GitHub Actions for consumption by other jobs |
| Release CI | Semantic-Release | Automatically generate a Release in GitHub (requires the use of Conventional Commits) |
-
Only accepting workflows for common CI tasks involving common languages or platforms
-
Workflow filename requirements:
- all lower case
- hyphen-separated words
- descriptive, but limit to 2-4 words
Examples of acceptable patterns:
[verb]-[thing].yml[cli/app]-[verb][-thing].yml
-
All
inputs,outputs, andsecretsmust have clear, accompanying descriptions -
If possible, workflows should have an accompanying
_test-[workflow-name].ymlworkflow and any required files intests/[workflow-name]/directory to validate functionality.
- Fork the repository
- Use Conventional Commits when making changes
- Validate workflow schemas with
cd script/validate-workflows && npm ci && npm run validate - Open a PR