ci: move Linux CI to GitHub Actions (.github/workflows/test.yml)

CI consolidates onto GitHub (primary remote); Gitea (secondary) has Actions
disabled. Move the Linux pipeline — unit + widget + golden + a11y + coverage
gate, integration_test (xvfb), bundle smoke, dart doc — verbatim from
.gitea/workflows/test.yml (its own header said to copy it here on GitHub), and
delete the dead Gitea copy. Joins windows.yml + release.yml.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-14 21:44:20 +02:00
co-authored by Claude Opus 4.8
parent 45aa2d924e
commit 8e0f33b79f
@@ -1,21 +1,14 @@
# Gitea Actions workflow for clide.
#
# NOT YET ACTIVATED. Gitea Actions must be enabled in the instance
# settings before this runs; until then the file is just a ready-made
# pipeline Claude + the user can review.
#
# When the repo eventually lands on GitHub, copy this file verbatim to
# `.github/workflows/test.yml` — Gitea Actions consumes GitHub-Actions
# syntax, so no rewrite is needed.
#
# Steps go through the make targets (the repo's tooling-discipline rule:
# the make layer sets up the environment — gen-build-info etc. — and
# stays correct if a wrapped script moves). T-384 fixed three latent
# breaks here: a `cd app` into the flattened-away app/ directory, a
# coverage gate with no coverage run before it, and raw ci/ script
# invocations that skipped build-info generation.
name: test name: test
# Linux CI for clide (GitHub Actions). Moved here from .gitea/workflows/ when CI
# consolidated onto GitHub (the primary remote); the Gitea secondary has Actions
# disabled. Pairs with windows.yml (ConPTY suite on windows-latest) and
# release.yml (versioned release bundles).
#
# Steps go through the make targets (the repo's tooling-discipline rule: the
# make layer sets up the environment — gen-build-info etc. — and stays correct
# if a wrapped script moves).
on: on:
push: push:
branches: [main] branches: [main]
@@ -30,9 +23,9 @@ jobs:
- uses: subosito/flutter-action@v2 - uses: subosito/flutter-action@v2
with: { channel: stable, cache: true } with: { channel: stable, cache: true }
- run: flutter pub get - run: flutter pub get
# test-coverage runs the full fast suite WITH coverage (it includes # test-coverage runs the full fast suite WITH coverage (it includes the
# the a11y suite — see the push-check note in the Makefile), which # a11y suite — see the push-check note in the Makefile), which is what
# is what coverage-gate consumes. # coverage-gate consumes.
- run: make test-coverage - run: make test-coverage
- run: make coverage-gate - run: make coverage-gate
@@ -61,13 +54,13 @@ jobs:
- run: flutter pub get - run: flutter pub get
- run: make smoke-bundle - run: make smoke-bundle
# The web-WASM Playwright job is withheld: `flutter build web --wasm` # The web-WASM Playwright job is withheld: `flutter build web --wasm` cannot
# cannot compile the tree since the tree-sitter/PTY dart:ffi pivot # compile the tree since the tree-sitter/PTY dart:ffi pivot (dart:ffi is
# (dart:ffi is unavailable on the wasm target). Whether the web target # unavailable on the wasm target). Whether the web target gets conditional-
# gets conditional-import fences or is dropped is an open question — # import fences or is dropped is an open question — see Q-50 in
# see Q-50 in governance/questions/architecture.md. Re-add the job # governance/questions/architecture.md. Re-add the job (setup-node, npm
# (steps: setup-node, npm install + playwright install in tools/ui, # install + playwright install in tools/ui, `make test-e2e`) when Q-50
# `make test-e2e`) when Q-50 resolves toward keeping it. # resolves toward keeping it.
docs: docs:
name: dart doc (lib API) name: dart doc (lib API)