Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions

Reusable composite actions for GitHub workflows. Each action lives in its own directory with its own README, runs on Linux, macOS, and Windows, and ships with a workflow that tests it on all three.

Test: set-timezone Test: setup-git-bot Test: setup-node-with-cache

Actions

Action Description Status
set-timezone Set the runner's system timezone Test: set-timezone
setup-git-bot Configure git to commit as github-actions[bot] Test: setup-git-bot
setup-node-with-cache Install Node.js and npm, yarn, or pnpm with a cached, frozen-lockfile install Test: setup-node-with-cache

Usage

Reference an action by its directory. Each action's README documents its inputs and platform behavior.

- uses: Bengejd/github-actions/set-timezone@main
  with:
    timezone-linux: America/Chicago

For production workflows, pin to a commit SHA instead of a branch so the behavior can't change underneath you:

- uses: Bengejd/github-actions/set-timezone@<commit-sha>

Testing

Every action has a dedicated workflow named test-<action>.yaml. The workflow runs only when the action or the workflow itself changes, so unrelated commits don't burn runner minutes, and its badge reports on that action alone. Each workflow covers the success path on every supported OS, the failure path for bad input, and any fallback branches the action contains.

To validate an action's metadata locally without pushing:

npx --yes @action-validator/cli set-timezone/action.yaml

The runner jobs need real GitHub-hosted machines. Trigger them from the Actions tab with Run workflow, or push a change under the action's directory.

Repository layout

.
├── .github/workflows/
│   └── test-<action>.yaml   # One test workflow per action
└── <action>/
    ├── action.yaml          # The action
    └── README.md            # Usage, inputs, and platform notes

Adding an action

  1. Create a directory named after the action and add an action.yaml with runs.using: composite.
  2. Give every run: step an explicit shell:, and pass inputs through env: rather than interpolating ${{ inputs.* }} into shell text.
  3. Add a README.md in the directory covering usage, inputs, and anything platform-specific.
  4. Add .github/workflows/test-<action>.yaml, scoped with paths: filters to the action's directory and the workflow file.
  5. Add the action to the table at the top of this file with its badge.

About

A collection of composite GitHub Actions that remove workflow boilerplate. Every action has its own README and a cross-platform test workflow with real fixtures, so the badges mean something.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors