- This repository serves as an aggregation of reusable GitHub Actions. It does not contain source code for applications or libraries.
- Common workflows are located in
.github/workflows/:lint.yml/test.yml/typecheck.yml/release.yml. .github/actions/setup-bun/contains a composite action that installs Bun and runsbun install --frozen-lockfile.
- No build artifact is produced here; validate changes locally with
act. - Example usage (Apple Silicon: add
--container-architecture linux/amd64):act -j lint -W .github/workflows/lint.yml --container-architecture linux/amd64act -j test -W .github/workflows/test.yml --container-architecture linux/amd64act -j typecheck -W .github/workflows/typecheck.yml --container-architecture linux/amd64
- Optional static analysis:
actionlint. - Pin verification: run
pinact run --checklocally or via thepinact.ymlworkflow.
- Copy
actrc.exampleto your OS‑specific config to omit the architecture flag:- macOS:
$HOME/Library/Application Support/act/actrc - Linux:
$HOME/.actrc
- macOS:
- The example sets
--container-architecture linux/amd64and a default image mapping.
- YAML uses 2‑space indentation; filenames are
kebab-case.yml. - Job IDs are lowercase and concise (e.g.,
lint,test); stepnameis human‑readable. - External actions should use stable tags (e.g.,
actions/checkout@v5). The internal composite action is referenced relatively:./.github/actions/setup-bunso it works both withactand on GitHub.
- For changes, verify basic cases using
actand optionally run tests in a dedicated sandbox repository. - Example call syntax for downstream repositories:
jobs: lint: { uses: listee-dev/listee-ci/.github/workflows/lint.yml@v1 } test: { uses: listee-dev/listee-ci/.github/workflows/test.yml@v1 } typecheck: { uses: listee-dev/listee-ci/.github/workflows/typecheck.yml@v1 }
- Conventional Commits format is recommended (e.g.,
feat(lint): Enhance CI for Biome). - PRs should include purpose, key changes, impact scope, and verification instructions (
actcommand examples). Link relevant issues.
release.ymluses npm Trusted Publishing (OIDC). Ensure the target repository/environment is registered as a Trusted Publisher and grantsid-tokenpermission.- Do not log sensitive information. Using stable tags helps reduce supply chain risks;
pinactenforcement ensures commits stay pinned.