- Added .forgejo/workflows/ci.yml for thin CI orchestration. - Configured Dockerized Codeberg runner with Nix support in codeberg-runner/. - Added systemd service for persistent runner execution. - Added GEMINI.md for project CI/Nix conventions. - Added Taskfile task for Linux release builds.
35 lines
908 B
YAML
35 lines
908 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
check:
|
|
name: Full Project Check
|
|
# Match the label of your self-hosted runner
|
|
runs-on: self-hosted
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Run Full Check Suite
|
|
# Using nix develop ensures the runner doesn't need flutter/dart/stalwart installed globally.
|
|
# 'task check' runs analyze, unit tests, widget tests, and integration tests.
|
|
run: nix develop --command task check
|
|
|
|
build-linux:
|
|
name: Build Linux Release
|
|
runs-on: self-hosted
|
|
needs: check
|
|
if: github.ref == 'refs/heads/main'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build Linux
|
|
# The Taskfile task 'build-linux' currently builds --debug.
|
|
# You can add a 'build-linux-release' task or override it here.
|
|
run: nix develop --command fvm flutter build linux --release
|