Axel Meyer 7c4eb9e3b2 ci(docs): replace apt-get nodejs/npm with actions/setup-node@v4
apt-get pulled ~250 Ubuntu node-* packages (~20+ min, flaky-network on
sporel-meta runs #206 cancelled, #209 took >15min just downloading).
Switch to actions/setup-node@v4 — single tarball, ~30s.

Note: sporel-engine pins this workflow to a specific SHA so it's
unaffected; sporel-meta uses @master and benefits immediately.
2026-05-04 17:26:24 +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