Like a github actions repo, but with portable bash scripts :)
Find a file
2026-03-09 21:32:55 -06:00
git-auth initial shellactions: portable CI scripts 2026-03-09 21:23:14 -06:00
git-config initial shellactions: portable CI scripts 2026-03-09 21:23:14 -06:00
pr-env initial shellactions: portable CI scripts 2026-03-09 21:23:14 -06:00
README.md rename setup 2026-03-09 21:32:55 -06:00
setup-ops rename setup 2026-03-09 21:32:55 -06:00
version-guard initial shellactions: portable CI scripts 2026-03-09 21:23:14 -06:00

shellactions

Portable CI actions implemented as plain bash scripts. Each script is a focused, single-purpose building block — the same things you'd build as composite actions, but runnable on any CI system with bash.

Scripts

Script Purpose Usage
setup-ops Bootstrap PROJ + SHELLOPS_DIR, source envrc source .ci/setup-ops
git-config Configure git user identity .ci/git-config "Name" "email"
git-auth Rewrite remote URL with token for push access .ci/git-auth "$TOKEN"
version-guard Exit early if a tag already exists .ci/version-guard "v1.0.0"
pr-env Map CI platform context to shellops env vars source .ci/pr-env

Setup

Add as a submodule at .ci/:

git submodule add <remote>/kernelle-soft/shellactions.git .ci

Then in your workflows:

- uses: actions/checkout@v4
  with:
    submodules: true

- name: setup-shellops
  run: source .ci/setup-ops

- name: configure-git
  run: .ci/git-config "Blizz" "blizz@kernelle-soft.com"

Conventions

  • shellops is expected at shell/.ops in consumer repos. When shellops IS the project, setup falls back to the project root.
  • Scripts that set env vars auto-detect GITHUB_ENV and persist vars for subsequent workflow steps.

License

MIT