47 lines
1.1 KiB
Markdown
47 lines
1.1 KiB
Markdown
# CI/CD Pipeline for MoexVibe
|
|
|
|
**Date:** 2026-06-13
|
|
**Status:** Approved
|
|
|
|
## Overview
|
|
|
|
Continuous Integration pipeline using Gitea Actions (GitHub Actions-compatible format) for the MoexVibe monorepo.
|
|
|
|
## Triggers
|
|
|
|
- `push` to `main` branch
|
|
- `pull_request` into `main` branch
|
|
|
|
## Pipeline Structure
|
|
|
|
Three parallel jobs with no interdependencies:
|
|
|
|
| Job | Commands | Cache |
|
|
|---|---|---|
|
|
| `lint` | `npm ci` → `npm run lint` → `npx prettier --check "**/*.{ts,tsx}"` | npm |
|
|
| `test` | `npm ci` → `npm run test:backend` | npm |
|
|
| `build` | `npm ci` → `npm run build:backend` → `npm run build:frontend` | npm |
|
|
|
|
## Runtime
|
|
|
|
- `runs-on: ubuntu-latest` (Gitea Actions runner)
|
|
- Node.js 20
|
|
- npm cache via `actions/setup-node` with `cache: 'npm'`
|
|
|
|
## Configuration File
|
|
|
|
`.gitea/workflows/ci.yml`
|
|
|
|
## Project Changes
|
|
|
|
1. Create `.gitea/workflows/ci.yml`
|
|
2. Add `"format:check": "prettier --check \"**/*.{ts,tsx}\""` script to root `package.json`
|
|
|
|
## Explicitly Excluded
|
|
|
|
- Deployment (not required)
|
|
- Docker image building
|
|
- Artifact publishing
|
|
- Frontend tests (none exist in project)
|
|
- Frontend lint (no config exists)
|