Files
tqcq 724f2aca5d
Gitea Actions Compatibility Suite / probe (push) Successful in 0s
Gitea Actions Compatibility Suite / composite-reusable (push) Waiting to run
Gitea Actions Compatibility Suite / control-flow (push) Waiting to run
Gitea Actions Compatibility Suite / aggregate (push) Blocked by required conditions
Gitea Actions Compatibility Suite / checkout (push) Successful in 4s
Gitea Actions Compatibility Suite / artifacts (push) Successful in 3s
Gitea Actions Compatibility Suite / cache (push) Successful in 1m25s
Gitea Actions Compatibility Suite / gitea-divergences (push) Successful in 2s
Gitea Actions Compatibility Suite / setup-runtime (push) Successful in 44s
Gitea Actions Compatibility Suite / contexts (push) Successful in 0s
Gitea Actions Compatibility Suite / workflow-commands (push) Successful in 0s
Gitea Actions Compatibility Suite / services (push) Successful in 12s
feat: Gitea Actions compatibility test suite
A self-validating test suite that proves Gitea's implementations of
GitHub-style actions behave like GitHub's. Push to any Gitea instance
with a registered runner — on push or manual dispatch, it runs 10
independent test workflows covering checkout, artifacts, caching,
language setup, expression contexts, workflow commands, services,
composite/reusable workflows, control flow, and known divergences.

Components:
- lib/assert.sh — self-asserting shell helper library (assert_eq,
  assert_contains, assert_exists, assert_not_exists, assert_match,
  sha256_of) with verified negative fail path
- 10 reusable workflows (on: workflow_call):
  01-checkout, 02-artifacts, 03-cache, 04-setup-runtime,
  05-contexts, 06-workflow-commands, 07-services,
  08-composite-reusable, 09-control-flow, 10-gitea-divergences
- 00-suite-runner.yml — sole entry (on: push + workflow_dispatch):
  probe gate (Gitea >= 1.22.0) -> c1-c10 parallel callers
  (c5/c8 forward secrets: inherit for act_runner #125) ->
  aggregate (if: always, skipped-as-failure)
- Fixtures: LFS 5MB binary, git tag v1-test, 4 language lockfiles
  (npm/go/pip/maven), sparse-cone layout
- Makefile: make lint (actionlint static gate)
- README: prerequisites, per-test expectations, correction table,
  manual eyeball checklist for UI-only behaviors
2026-07-08 01:45:37 +00:00

12 lines
606 B
Makefile

.PHONY: lint
# `make lint` runs actionlint across all workflow files with the narrowly-scoped
# .github/actionlint.yaml config. The -ignore SC2086 covers intentional
# unquoted expansions in CI shell scripts (e.g. tokens that must word-split).
# All other checks stay fully enforced.
#
# Flags must precede the file paths: actionlint uses Go's flag parser, which
# stops parsing flags at the first positional argument. The glob expands to
# the list of .yml files (actionlint cannot take a bare directory path).
lint:
actionlint -ignore SC2086 -config-file .github/actionlint.yaml .github/workflows/*.yml