Skip to content

variableland/gh-actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

43 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Variable Land โ€” GitHub Actions

Reusable GitHub Actions used across Variable Land projects.

Actions

Action Description
monorepo-preview-release Publish a per-PR preview release of changed packages in a pnpm monorepo to npm (OIDC-first, with optional NPM_TOKEN fallback) and notify vland-bot so it can comment on the PR.
railway-redeploy Trigger a redeploy of a Railway service via the Railway GraphQL API. Resolves the target service from project_id + environment + service_name, so no service ID lookup is needed.
setup-pnpm Install pnpm, upgrade npm, cache the pnpm store, and install dependencies.
setup-bun Install Bun pinned to the version in .bun-version.
setup-pnpm-bun Combined setup-pnpm + setup-bun for workflows that need both runtimes.

Versioning

Pin actions to a tag or commit SHA when you need stability:

uses: variableland/gh-actions/actions/<action-name>@<tag-or-sha>

@main tracks the latest changes on the default branch.

Node action convention

Every Node-based action in this monorepo follows the same shape:

  1. action.yml declares runs.using: node24 and main: dist/index.js.
  2. Source lives in src/. The bundled output (dist/index.js) is committed to the repo and runs directly on the GitHub Actions runner โ€” no Docker build, no install at runtime.
  3. mise.toml declares a build task that runs ncc build src/index.ts -o dist. Mise's incremental sources/outputs tracking skips the rebuild when nothing has changed.
  4. The lefthook pre-push hook runs mise run build for any push that touches actions/*/src/** and blocks the push if dist/ is out of sync with src/.
  5. The CI workflow Check actions dist sync enforces the same invariant on every PR and is required by branch protection. Anyone who bypasses the local hook still gets caught here.

To add a new Node action, copy the structure of monorepo-preview-release or railway-redeploy, adjust inputs and logic, and run mise run build (or just git push โ€” the hook will do it for you and tell you to commit the dist change).

About

Reusable Github actions ๐ŸŒŒ

Resources

Stars

Watchers

Forks

Contributors