# Gitea Actions Workflows ## Workflows ### 1. CI (`ci.yml`) **Triggers:** Push/PR to `main`, `rewrite`, `feat` branches **Jobs:** - Install dependencies - Lint code - Build application - Run unit tests (Vitest) - Run E2E tests (Playwright) - Upload test results as artifacts ### 2. Docker Build (`docker-build.yml`) **Triggers:** - Tags matching `v*` (e.g., `v1.0.0`) - Push to `main` branch **Jobs:** - Build React application - Build Docker image locally - Save image as tarball artifact - Upload artifact for download (30 days retention) **Output:** - Docker image artifact: `configucci.tar` - Can be downloaded and loaded with: `docker load -i configucci.tar` ### 3. Deploy (`deploy.yml`) **Triggers:** Push to `main` branch **Jobs:** - SSH to deployment server - Pull latest code - Update Docker containers - Clean up old images **Required Secrets:** - `DEPLOY_HOST` - Server hostname/IP - `DEPLOY_USERNAME` - SSH username - `DEPLOY_KEY` - SSH private key **Optional Secrets:** - `DEPLOY_PORT` - SSH port (default: 22) ## Setup Instructions ### 1. Enable Gitea Actions Make sure Actions is enabled in your Gitea instance: ```ini [actions] ENABLED = true ``` ### 2. Configure Secrets Go to your repository → Settings → Secrets and add: **For Deployment:** ``` DEPLOY_HOST=your-server.com DEPLOY_USERNAME=deploy DEPLOY_KEY= DEPLOY_PORT=22 ``` **No Docker secrets needed** - images are built locally and downloaded as artifacts! ## Workflow Files Location `.gitea/workflows/` ## Testing Workflows Locally You can test workflows locally using [act](https://github.com/nektos/act): ```bash # Install act brew install act # Run CI workflow locally act push # Run with specific job act -j build-and-test # Run with verbose output act -v ``` ## Badge Examples Add these to your README.md: ```markdown [![CI](https://git.six83.ru/ssa/configucci/actions/workflows/ci.yml/badge.svg)](https://git.six83.ru/ssa/configucci/actions/workflows/ci.yml) [![Deploy](https://git.six83.ru/ssa/configucci/actions/workflows/deploy.yml/badge.svg)](https://git.six83.ru/ssa/configucci/actions/workflows/deploy.yml) ```