Axel Meyer e47be0ffeb fix(ci): Cat-1 — install cmake/build-essential + drop windows matrix
First-run revealed:
1. Runner images (catthehacker/ubuntu:act-latest) lack cmake.
   Added apt-get install step (cmake, build-essential, ninja-build,
   zip, unzip, git, curl).
2. windows-latest matrix entry mapped to Linux fallback containers
   (Davoryn runner pool currently Linux-only). Dropped from matrix
   until Windows runner provisioned.

Other workflows (Cat-2 hybrid, etc.) likely need same fix when first
exercised — apply iteratively as consumers come online.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 23:42:56 +02:00

sporel-tool-ci

Reusable Gitea-Actions workflows for the Sporel platform.

Type: Tool (CI/CD-Workflows) Status: Active Tier: Tier 1 (Official, public-readable)

Purpose

Hosts the 5 reusable Gitea-Actions workflows used by every Sporel repo per ADR-0025:

Workflow Category (per ADR-0019) Used by
reusable-engine-launcher.yml Cat 1 sporel-engine, sporel-launcher
reusable-c-lib.yml Cat 2 sporel-lib-core.<name> (compiled)
reusable-lua.yml Cat 3 sporel-lib-<name> (Lua), sporel-mod-<name> (pure Lua)
reusable-hybrid.yml Cat 4 sporel-mod-<name> (Hybrid C+Lua)
reusable-docs.yml Cat 5 sporel-meta, sporel-tool-*

Why public

This repo is a deliberate public-Tier-1 exception (per licensing-model.md). The two reasons:

  1. Community pipelines — Tier-3 community libs/mods need to call into these workflows from their own repos. Forcing per-repo Deploy- Token setup would defeat the DRY-CI value proposition entirely (every contributor would need infrastructure permissions).
  2. Minimal IP exposure — only YAML pipeline definitions live here, no architecture docs, no proprietary source. The workflows describe how to build but not what to build — that intelligence stays in sporel-engine (private) and sporel-meta (private).

Other Tier-1-public exception: sporel-meta (modder-readable docs, when promoted post-legal-review).

Caller-Template Usage

In each Sporel repo, .gitea/workflows/release.yml is a thin caller:

name: CI

on:
  push:
    branches: [master]
    tags: ['v*']
  pull_request:

jobs:
  ci:
    uses: calic/sporel-tool-ci/.gitea/workflows/reusable-<category>.yml@master
    with:
      <inputs-per-workflow>
    secrets: inherit

Caller-templates per category live in sporel-meta/templates/workflow-callers/.

Versioning

Pin specific revisions for reproducibility:

uses: calic/sporel-tool-ci/.gitea/workflows/reusable-engine-launcher.yml@v0.1.0

@master is convenient during active development; pin to tag for production stability.

License

Proprietary — all rights reserved. Tier 1 content per ADR-0027. Public-readable for the practical reasons above; not re-distributable. See LICENSE.

⚠ WIP — legal review pending before public release.

Description
Reusable Gitea-Actions workflows for the Sporel platform (5 categories per ADR-0025). Public so community pipelines can call into them without per-repo token setup.
Readme 43 KiB