Shared composite actions for all repositories in the iAiFy GitHub Enterprise.
Reference any action using the full path with a version tag:
- uses: Ai-road-4-You/github-actions/setup-node@v1
with:
node-version: "22"Pin to a major version tag (
@v1) for automatic minor/patch updates, or to an exact version (@v1.0.0) for maximum stability. Do not use@mainin production workflows. See VERSIONING.md for details.
Setup Node.js with pnpm/npm/yarn caching and automatic dependency installation.
- uses: Ai-road-4-You/github-actions/setup-node@v1
with:
node-version: "22"
package-manager: "pnpm"
pnpm-version: "9"
install: "true"
working-directory: "."| Output | Description |
|---|---|
node-version |
Installed Node.js version |
cache-hit |
Whether the cache was hit |
Setup Python with pip/poetry/uv caching and automatic dependency installation.
- uses: Ai-road-4-You/github-actions/setup-python@v1
with:
python-version: "3.12"
package-manager: "pip"
requirements-file: "requirements.txt"
install: "true"| Output | Description |
|---|---|
python-version |
Installed Python version |
Setup Terraform with plugin caching, init, fmt check, and validate.
- uses: Ai-road-4-You/github-actions/setup-terraform@v1
with:
terraform-version: "latest"
working-directory: "infra/"
init: "true"
validate: "true"
fmt-check: "true"| Output | Description |
|---|---|
terraform-version |
Installed version |
init-status |
Init exit code |
fmt-status |
Format check exit code |
Build and push container images to GHCR with multi-arch support.
- uses: Ai-road-4-You/github-actions/docker-build-push@v1
with:
password: ${{ secrets.GITHUB_TOKEN }}
platforms: "linux/amd64,linux/arm64"
push: "true"| Output | Description |
|---|---|
image |
Full image reference with tags |
digest |
Image digest |
metadata |
Build metadata JSON |
Run Trivy vulnerability scanning, npm audit, and secret scanning.
- uses: Ai-road-4-You/github-actions/security-scan@v1
with:
scan-type: "trivy,secrets"
trivy-severity: "CRITICAL,HIGH"
trivy-exit-code: "1"| Output | Description |
|---|---|
trivy-results |
Path to Trivy results file |
vulnerabilities-found |
Whether vulnerabilities were found |
Semantic versioning with automatic changelog generation.
- uses: Ai-road-4-You/github-actions/auto-release@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
branches: "main"
tag-format: "v${version}"| Output | Description |
|---|---|
released |
Whether a release was created |
version |
Released version number |
tag |
Git tag |
Infracost cost estimation for Terraform changes.
- uses: Ai-road-4-You/github-actions/cost-check@v1
with:
api-key: ${{ secrets.INFRACOST_API_KEY }}
working-directory: "infra/"Verify artifact provenance attestations.
- uses: Ai-road-4-You/github-actions/verify-attestation@v1
with:
artifact: "my-artifact"
owner: "Ai-road-4-You"Auto-label pull requests based on changed files.
- uses: Ai-road-4-You/github-actions/label-pr@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}Send Slack notifications for build status.
- uses: Ai-road-4-You/github-actions/notify-slack@v1
with:
webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
status: ${{ job.status }}Deploy to Vercel with preview and production support.
- uses: Ai-road-4-You/github-actions/deploy-vercel@v1
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
production: "true"| Output | Description |
|---|---|
url |
Deployment URL |
Deploy applications to Fly.io.
- uses: Ai-road-4-You/github-actions/deploy-fly@v1
with:
fly-api-token: ${{ secrets.FLY_API_TOKEN }}
app-name: "my-app"
strategy: "rolling"| Output | Description |
|---|---|
url |
Deployed application URL |
app-name |
Fly.io app name |
Deploy applications to Railway.
- uses: Ai-road-4-You/github-actions/deploy-railway@v1
with:
railway-token: ${{ secrets.RAILWAY_TOKEN }}
service: "web"
environment: "production"| Output | Description |
|---|---|
url |
Deployed service URL |
deployment-id |
Railway deployment ID |
Run Supabase database migrations.
- uses: Ai-road-4-You/github-actions/deploy-supabase@v1
with:
supabase-access-token: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
project-id: ${{ secrets.SUPABASE_PROJECT_ID }}
db-password: ${{ secrets.SUPABASE_DB_PASSWORD }}
generate-types: "true"| Output | Description |
|---|---|
migration-status |
success or failure |
types-path |
Path to generated TypeScript types |
Deploy to Firebase Hosting, Functions, Firestore, or Storage.
- uses: Ai-road-4-You/github-actions/deploy-firebase@v1
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
project-id: "my-project"
targets: "hosting,functions"| Output | Description |
|---|---|
url |
Deployed URL |
channel-url |
Preview channel URL |
See VERSIONING.md for the full versioning strategy. See CHANGELOG.md for release history.
- Create a feature branch
- Follow Conventional Commits
- Open a PR (CODEOWNERS will auto-request review)
- After merge, a new release is cut automatically