Files
sokol 9e313f5b86
Some checks failed
CI / build-and-test (push) Has been cancelled
CI / build-and-test (pull_request) Has been cancelled
feat: native deploy workflow without SSH
2026-02-20 13:55:53 +03:00
..

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:

  • Build React application
  • Build Docker image locally
  • Create docker-compose.yml configuration
  • Deploy container on Gitea runner (port 11088)
  • Health check to verify application is running
  • Cleanup old Docker images

No SSH required - Everything runs natively on the Gitea Actions runner!

Output:

  • Application available at: http://<gitea-server>:11088
  • Container auto-restarts on failure
  • Health check ensures successful deployment

Setup Instructions

1. Enable Gitea Actions

Make sure Actions is enabled in your Gitea instance:

[actions]
ENABLED = true

2. Configure Runner

Ensure your Gitea runner has Docker and docker-compose installed:

# Install Docker
curl -fsSL https://get.docker.com | sh

# Install docker-compose
sudo apt-get install docker-compose-plugin

No secrets required - Everything runs on the runner!

Workflow Files Location

.gitea/workflows/

Testing Workflows Locally

You can test workflows locally using act:

# 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:

[![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)