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.
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:
- 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).
- 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) andsporel-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.