This repository provides reusable GitHub Actions workflows and composite actions for the AREA44 ecosystem. It standardizes CI/CD processes, static site deployment, and automated code maintenance across projects.
- Pages (
area44/workflows/pages@main): Build and deploy static sites to GitHub Pages. - Autofix (
area44/workflows/autofix@main): Automatically format and fix code.
name: GitHub Pages
on:
push:
branches: ["main"]
pull_request:
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Build site
uses: area44/workflows/pages@main
with:
# Optional: path: 'dist'
# Optional: build-command: 'npm run build'Each action's action.yml serves as the single source of truth for its public API contract.
| Name | Description | Default | Required |
|---|---|---|---|
path |
Directory where the built site is located | dist |
Optional |
build-command |
Custom build command | <package-manager> run build |
Optional |
| Name | Description |
|---|---|
javascript-detected |
Whether a JavaScript project (package.json) was detected |
javascript-runtime |
The resolved JavaScript runtime (node or bun) |
javascript-package-manager |
The package manager used (npm, pnpm, or bun) |
javascript-toolchain |
The resolved toolchain (vite-plus or empty string) |
vp-version |
The version of Vite+ installed |
This action accepts no inputs.
| Name | Description |
|---|---|
javascript-detected |
Whether a JavaScript project (package.json) was detected |
javascript-runtime |
The resolved JavaScript runtime (node or bun) |
javascript-package-manager |
The package manager used (npm, pnpm, or bun) |
python-detected |
Whether Python source code (.py/.pyi) was detected |
python-package-manager |
The Python package manager detected (uv or pip) |
- Pages Action Documentation: Details on inputs, outputs, environment variables (
SITE,BASE,BASE_URL), and static site requirements. - Autofix Action Documentation: Information on JavaScript script selection, Python Ruff formatting/linting, and autofix.ci integration.
- Environment Resolution Algorithm Guide: Design principles, decision flow, conflict handling, setup planning, and maintenance guide for repository environment resolution.
- Error Handling Architecture: Native JavaScript error propagation, top-level boundaries, and build failure logging.
- Security Boundaries: Trust boundaries, shell command argument tokenization without subshell execution, and secret masking.
- Maintenance & Repository Health: Invariants, sources of truth, build pipelines (
npm run build), quality gates, and release versioning. - Integration Testing & Scenario Factory Guide: Dynamic scenario factory architecture, unit tests, module-level tests, and composite action CI matrix verification.
Local testing and validation commands are managed via Vite+ (vp):
# Run unit and integration tests
npm test
# Run code style linting
npm run lint
# Check formatting
npm run format --check
# Build bundle artifacts in dist/
npm run buildFor comprehensive details on repository structure and release management, see docs/maintenance.md and docs/integration-testing.md.
This project is licensed under the MIT License.