66 Commits

Author SHA1 Message Date
Codex
d2c9e4a41e fix: Update TryAddToChemicals to TryAddToBloodstream
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 3m14s
Publish / build (push) Successful in 7m46s
RGA schema validator / YAML RGA schema validator (push) Successful in 36s
RSI Validator / Validate RSIs (push) Successful in 28s
Map file schema validator / YAML map schema validator (push) Successful in 2m30s
YAML Linter / YAML Linter (push) Successful in 3m6s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 1s
Test Packaging / Test Packaging (push) Successful in 30m32s
Build & Test Debug / build (ubuntu-latest) (push) Successful in 42m32s
Build & Test Debug / Build & Test Debug (push) Successful in 3s
CRLF Check / CRLF Check (pull_request) Successful in 19s
RGA schema validator / YAML RGA schema validator (pull_request) Failing after 26s
RSI Validator / Validate RSIs (pull_request) Failing after 28s
Map file schema validator / YAML map schema validator (pull_request) Failing after 33s
YAML Linter / YAML Linter (pull_request) Successful in 3m39s
Close PRs on master / run (pull_request_target) Failing after 4s
Check Merge Conflicts / Label (pull_request_target) Failing after 2s
Labels: Review / add_label (pull_request_target) Failing after 2s
Labels: PR / labeler (pull_request_target) Failing after 10s
Labels: Size / size-label (pull_request_target) Successful in 2s
Labels: Untriaged / add_label (pull_request_target) Failing after 2s
Diff RSIs / Diff (pull_request_target) Failing after 18s
Upstream renamed BloodstreamSystem.TryAddToChemicals to TryAddToBloodstream.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 03:26:53 +01:00
Codex
dcf254f0c2 Merge upstream syndicate/master (212 commits)
Some checks failed
Publish / build (push) Failing after 3m4s
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
Update Wiki / Build and Publish JSON blobs to wiki (push) Failing after 7m48s
Resolve conflict in Resources/Prototypes/Reagents/toxins.yml:
- Combined Vampire (wylab) and Plant (upstream) metabolizer types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 03:19:44 +01:00
29b91de9c0 ci: Add checkout step to labeler-pr.yml (fixes Gitea compatibility)
All checks were successful
Test Packaging / Test Packaging (push) Successful in 10m53s
Publish / build (push) Successful in 11m21s
RGA schema validator / YAML RGA schema validator (push) Successful in 45s
RSI Validator / Validate RSIs (push) Successful in 1m1s
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 16m1s
Map file schema validator / YAML map schema validator (push) Successful in 11m11s
YAML Linter / YAML Linter (push) Successful in 13m5s
Build & Test Debug / build (ubuntu-latest) (push) Successful in 43m11s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 4s
Build & Test Debug / Build & Test Debug (push) Successful in 3s
2025-12-19 16:28:51 +01:00
0cae8cab95 ci: Rewrite labeler-conflict.yml for Gitea API (fixes GitHub-only action)
Some checks failed
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Publish / build (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
2025-12-19 16:28:36 +01:00
247e2ceee4 ci: Remove rsi-diff.yml (GitHub-only actions incompatible with Gitea)
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Waiting to run
Publish / build (push) Waiting to run
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m44s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m7s
RSI Validator / Validate RSIs (push) Successful in 1m6s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 1m49s
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Successful in 10m50s
YAML Linter / YAML Linter (push) Successful in 10m38s
2025-12-19 15:15:37 +01:00
78fb363d47 fix: add missing wega alerts locale file
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m46s
Publish / build (push) Successful in 31m46s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m5s
RSI Validator / Validate RSIs (push) Successful in 1m0s
Build & Test Debug / build (ubuntu-latest) (push) Successful in 40m17s
Map file schema validator / YAML map schema validator (push) Successful in 11m20s
YAML Linter / YAML Linter (push) Successful in 10m31s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
Build & Test Debug / Build & Test Debug (push) Successful in 6s
Publish Public / build (push) Failing after 20m24s
Benchmarks / Run Benchmarks (push) Successful in 22m4s
Publish Testing / build (push) Failing after 20m12s
Add alerts/alerts.ftl with vampire blood, strangle, and offer alert
localizations that were missing from the wega port. Fixes runtime
locale errors for alerts-vampire-blood-name/desc keys.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 02:39:46 +01:00
cbe6e355bb fix: add Vampire immunity to UncookedAnimalProteins
Some checks failed
Publish / build (push) Failing after 18s
Test Packaging / Test Packaging (push) Failing after 2s
Update Wiki / Build and Publish JSON blobs to wiki (push) Failing after 4s
RSI Validator / Validate RSIs (push) Failing after 1s
Map file schema validator / YAML map schema validator (push) Failing after 2s
YAML Linter / YAML Linter (push) Failing after 2s
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 15m23s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 4s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m2s
Build & Test Debug / build (ubuntu-latest) (push) Successful in 41m19s
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Port Corvax-Wega-Edit: Vampires no longer get sick, vomit, or take
poison damage when drinking blood. The UncookedAnimalProteins reagent
(produced when Blood is metabolized) now checks for Vampire metabolizer
type in addition to Animal and Vox.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 01:59:43 +01:00
5099ee8bb4 Порт: Улучшение UX и дизайна консоли связи
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 17m27s
RSI Validator / Validate RSIs (push) Successful in 50s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m0s
Build & Test Debug / build (ubuntu-latest) (push) Successful in 46m13s
Build & Test Debug / Build & Test Debug (push) Successful in 3s
Test Packaging / Test Packaging (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Successful in 11m24s
Publish / build (push) Successful in 28m13s
YAML Linter / YAML Linter (push) Has been cancelled
Портировано из space-wizards/space-station-14#41899

Изменения:
- Добавлено подтверждение при изменении уровня угрозы (предотвращает случайные изменения)
- Разделены кнопки вызова/отзыва шаттла в отдельные UI области
- Созданы отдельные вкладки для объявлений и трансляции
- Разбито монолитное меню на 3 виджета: AlertLevelControls, MessagingControls, ShuttleControls
- Добавлен LCD-дисплей с таймером обратного отсчета
- Обновлены текстуры и шрифты

Локализация:
- Полностью переведены новые строки на русский язык в стиле Corvax

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 22:19:40 +01:00
69d4134d71 Fix NukeOpsTest for IPC species
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 16m53s
Build & Test Debug / build (ubuntu-latest) (push) Successful in 45m52s
Publish / build (push) Successful in 34m44s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m12s
RSI Validator / Validate RSIs (push) Successful in 1m5s
Map file schema validator / YAML map schema validator (push) Successful in 11m26s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
Skip respirator checks when nukie spawns as IPC (android) since they
don't have lungs. Fixes test failure with RespiratorComponent.

Based on Corvax fix: space-syndicate/space-station-14#3472

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 21:04:01 +01:00
a1a795d2d4 fix: hide BeaconSoul from spawn menu to fix UninitializedSaveTest
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 18m49s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 46m24s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Successful in 40m54s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m13s
RSI Validator / Validate RSIs (push) Successful in 1m2s
Map file schema validator / YAML map schema validator (push) Successful in 11m5s
Test Packaging / Test Packaging (push) Successful in 34m22s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 4s
YAML Linter / YAML Linter (push) Has been cancelled
The test requires entities with runtime-assigned EntityUid fields to be
hidden from the spawn menu. BeaconSoul.VampireOwner is set at runtime,
not from prototype data, so it should not be spawnable directly.

This matches the pattern used by other vampire effects like VampireMistEffect.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 19:40:51 +01:00
c8087d82d1 ci: exclude Wylab override files from build-test-debug
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 15m6s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 40m55s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Successful in 30m48s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m11s
RSI Validator / Validate RSIs (push) Successful in 1m3s
Map file schema validator / YAML map schema validator (push) Successful in 10m57s
Test Packaging / Test Packaging (push) Successful in 28m17s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
YAML Linter / YAML Linter (push) Successful in 11m21s
Same approach as yaml-linter - delete _Wylab override files before
testing to avoid "Duplicate ID" prototype errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:52:29 +01:00
07ed10782a fix: add --break-system-packages to pip install in publish workflows
Some checks failed
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Publish / build (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
Ubuntu 23.04+ uses PEP 668 to protect system Python packages.
The --break-system-packages flag allows pip to install in externally-managed environments.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:48:09 +01:00
e048406782 ci: exclude Wylab override files from yaml-linter
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 15m23s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 39m12s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Successful in 29m55s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m3s
RSI Validator / Validate RSIs (push) Successful in 1m0s
Map file schema validator / YAML map schema validator (push) Successful in 10m33s
Test Packaging / Test Packaging (push) Successful in 27m16s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
YAML Linter / YAML Linter (push) Successful in 11m0s
Benchmarks / Run Benchmarks (push) Successful in 21m33s
Publish Testing / build (push) Failing after 22m57s
The Robust engine's prototype validator flags duplicate IDs as errors,
but duplicate IDs are the intended SS14 pattern for fork customizations
(last loaded wins). Delete _Wylab override files before linting.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 06:08:14 +01:00
047241e3ce fix: add missing _Wega textures and remove duplicate locale
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 15m10s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 37m48s
Build & Test Debug / Build & Test Debug (push) Has been skipped
RGA schema validator / YAML RGA schema validator (push) Successful in 1m4s
RSI Validator / Validate RSIs (push) Successful in 56s
Publish / build (push) Successful in 29m2s
Map file schema validator / YAML map schema validator (push) Successful in 10m24s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
YAML Linter / YAML Linter (push) Failing after 9m26s
- Copy missing texture files from wega fork (/Textures/_Wega/*.png)
- Remove duplicate bloodbrother locale that caused "already exist" errors

Fixes integration test failures for TestWindows and SandboxTest.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 04:24:53 +01:00
723b9f893c chore: increase integration test timeout to 40 minutes
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m20s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 39m41s
Build & Test Debug / Build & Test Debug (push) Has been skipped
RGA schema validator / YAML RGA schema validator (push) Successful in 1m3s
RSI Validator / Validate RSIs (push) Successful in 1m0s
Map file schema validator / YAML map schema validator (push) Successful in 10m56s
Test Packaging / Test Packaging (push) Successful in 27m37s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
YAML Linter / YAML Linter (push) Failing after 11m49s
Publish / build (push) Failing after 22m45s
Publish Public / build (push) Failing after 17m20s
Tests took 30m 24s, exceeding the previous 30-minute limit.
Adding more buffer to prevent mid-test shutdowns.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 01:30:10 +01:00
f98fa916fd ci: increase integration test timeout from 20 to 30 minutes
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m57s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 43m40s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Successful in 31m17s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m2s
RSI Validator / Validate RSIs (push) Successful in 1m1s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
The 20-minute timeout was triggering mid-test, killing all test pairs
and causing cascading failures with "Pool manager has not been
initialized" errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 00:36:29 +01:00
1c87bf9d1b Fix namespace error for VampireRuleComponent
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m39s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 33m7s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Successful in 32m21s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m3s
RSI Validator / Validate RSIs (push) Successful in 1m0s
Map file schema validator / YAML map schema validator (push) Successful in 11m7s
Test Packaging / Test Packaging (push) Successful in 28m0s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 6s
YAML Linter / YAML Linter (push) Failing after 9m34s
The component uses Content.Server.GameTicking.Rules.Components namespace,
not Content.Server._Wega.GameTicking.Rules.Components.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 23:02:21 +01:00
31f769be43 Add Vampire and Blood Brothers to admin antag menu
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 8m19s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 8m32s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 7m45s
Publish / build (push) Failing after 8m0s
RSI Validator / Validate RSIs (push) Successful in 1m8s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m14s
YAML Linter / YAML Linter (push) Failing after 6m13s
Map file schema validator / YAML map schema validator (push) Successful in 10m53s
- Add admin verbs for making targets into Vampire and Blood Brothers
- Use _Wega vampire action icons (bite, blood_bond)
- Add localization strings for en-US and ru-RU

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 22:49:29 +01:00
6c3a12f5c1 tweak: add Wylab game rules overrides for low-pop tuning
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 5m3s
Test Packaging / Test Packaging (push) Successful in 6m11s
RGA schema validator / YAML RGA schema validator (push) Failing after 25s
RSI Validator / Validate RSIs (push) Successful in 28s
Map file schema validator / YAML map schema validator (push) Failing after 24s
YAML Linter / YAML Linter (push) Failing after 2m44s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
Publish / build (push) Failing after 32m8s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 32m45s
Build & Test Debug / Build & Test Debug (push) Has been skipped
- Add SubVampire (30%) and SubBloodBrothers (30%) to all SubGamemode variants
- Cap antag spawn events (Dragon, Ninja, Revenant, Wizard, LoneOps, SleeperAgents) to maxOccurrences: 1
- Lower minPlayers thresholds for low-pop server

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 20:04:59 +01:00
32130b1cf2 tweak: lower minPlayers to 10 for all antag rules
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 3m48s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Successful in 5m44s
RGA schema validator / YAML RGA schema validator (push) Failing after 24s
RSI Validator / Validate RSIs (push) Successful in 27s
Map file schema validator / YAML map schema validator (push) Failing after 56s
YAML Linter / YAML Linter (push) Failing after 1m40s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 31m51s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Successful in 32m17s
Benchmarks / Run Benchmarks (push) Failing after 10m10s
Publish Testing / build (push) Failing after 6m33s
Adjusted for low-pop server (~20 players):
- Nukeops: 20 → 10
- Changeling: 25 → 10
- Revolutionary: 15 → 10
- Zombie: 20 → 10
- Xenoborgs: 40 → 10

Ratios kept intact.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 08:16:57 +01:00
c21f12fb73 tweak: lower minPlayers for low-pop server
Some checks failed
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Publish / build (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
- BloodBrothers: 20 → 10 players
- Vampire: 20 → 5 players
- SubVampire: 15 → 5 players

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 08:13:08 +01:00
dafb20afdb fix: add missing locale files for vampire/blood brothers
Some checks failed
Publish / build (push) Failing after 2m29s
RGA schema validator / YAML RGA schema validator (push) Failing after 34s
RSI Validator / Validate RSIs (push) Successful in 45s
Map file schema validator / YAML map schema validator (push) Failing after 22s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
Added missing locale entries:
- MindRoleVampire and MindRoleBloodBrother entity names
- Game rule entities (Vampire, BloodBrothers, SubVampire, SubBloodBrothers)

These were causing the admin antagonist menu to break.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 08:07:01 +01:00
6c6fd192af fix: add missing vampire and blood brother role localization
Some checks failed
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Publish / build (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
Added locale files for roles-antag-vampire-name/objective and
roles-antag-bloodbrother-name/objective which were referenced in
prototypes but missing from locale files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 08:04:46 +01:00
bba643846e ci: replace pwsh with bash in build-test-debug workflow
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 1m56s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Successful in 6m24s
RGA schema validator / YAML RGA schema validator (push) Failing after 23s
RSI Validator / Validate RSIs (push) Successful in 26s
Map file schema validator / YAML map schema validator (push) Failing after 22s
YAML Linter / YAML Linter (push) Failing after 2m22s
Publish / build (push) Successful in 31m25s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 31m42s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Gitea runner images don't have PowerShell installed.
Changed integration test step to use bash syntax for env var.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 05:08:31 +01:00
0670e5079a feat: port wega vampire component checks and slowdown system
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 3m42s
Publish / build (push) Failing after 33s
Test Packaging / Test Packaging (push) Successful in 5m40s
RGA schema validator / YAML RGA schema validator (push) Failing after 23s
RSI Validator / Validate RSIs (push) Successful in 46s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 11m3s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Map file schema validator / YAML map schema validator (push) Failing after 27s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
YAML Linter / YAML Linter (push) Successful in 10m44s
- Add SyntheticOperatedComponent marker for android/synthetic check
- Add DnaModifiedComponent marker for genetics modification check
- Add BasicSlowdownStatusEffect for vampire abilities
- Update VampireSystem to use SyntheticOperatedComponent and DnaModifiedComponent
- Update VampireSystem.Abilities to use MovementModStatusSystem.Slowdown

This completes the wega vampire port by matching exact wega fork behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 03:05:58 +01:00
1602fbd742 feat: add MetabolizerSystem methods for vampire blood metabolism
Some checks failed
Publish / build (push) Successful in 6m42s
Test Packaging / Test Packaging (push) Failing after 1m18s
RGA schema validator / YAML RGA schema validator (push) Failing after 29s
RSI Validator / Validate RSIs (push) Successful in 27s
Map file schema validator / YAML map schema validator (push) Failing after 24s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 11m28s
Build & Test Debug / Build & Test Debug (push) Has been skipped
YAML Linter / YAML Linter (push) Successful in 3m14s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Publish Public / build (push) Failing after 22m53s
Port ClearMetabolizerTypes, TryAddMetabolizerType, and TryRemoveMetabolizerType
methods from wega fork to enable vampire blood metabolism functionality.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 02:52:15 +01:00
cad2785a97 feat: add RemoveStaminaDamage method for vampire healing
Some checks failed
Publish / build (push) Failing after 6m14s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 10m53s
Build & Test Debug / Build & Test Debug (push) Has been skipped
RGA schema validator / YAML RGA schema validator (push) Successful in 1m2s
Test Packaging / Test Packaging (push) Successful in 6m9s
Map file schema validator / YAML map schema validator (push) Failing after 23s
RSI Validator / Validate RSIs (push) Successful in 58s
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m3s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
YAML Linter / YAML Linter (push) Successful in 3m13s
Port RemoveStaminaDamage from wega fork to enable proper stamina
reset in vampire abilities. Enables vampires and thralls to have
their stamina damage cleared during healing abilities.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 02:24:01 +01:00
11219e47f0 fix: add missing prototypes and localization for Vampire/Blood Brothers
Some checks failed
Publish / build (push) Successful in 6m44s
Test Packaging / Test Packaging (push) Failing after 1m21s
RGA schema validator / YAML RGA schema validator (push) Failing after 32s
RSI Validator / Validate RSIs (push) Successful in 31s
Map file schema validator / YAML map schema validator (push) Failing after 23s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 11m4s
Build & Test Debug / Build & Test Debug (push) Has been skipped
YAML Linter / YAML Linter (push) Successful in 3m11s
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m32s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 5s
- Add Vampire NPC faction prototype (ai_factions.yml)
- Add Counter alert category for vampire blood counter
- Add WeaponVampireClaws entity for vampire abilities
- Add guidebook entries for Vampires and BloodBrothers
- Add localization for metabolizer-type-vampire and guidebook entries
- Add missing null.ogg audio for hallucinations
- Remove non-existent Android/Ipc components from blacklists
- Remove references to missing StealTargetGroups (GlovesKravMaga, WeaponBlueLaserPistol)
- Remove references to missing BlueShieldOfficer job

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 02:02:17 +01:00
1efd22e648 fix: comment out metabolizer manipulation to fix RA0002 permission error
Some checks failed
Test Packaging / Test Packaging (push) Successful in 5m51s
RGA schema validator / YAML RGA schema validator (push) Failing after 27s
RSI Validator / Validate RSIs (push) Successful in 27s
Map file schema validator / YAML map schema validator (push) Failing after 25s
YAML Linter / YAML Linter (push) Failing after 3m4s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 12m14s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 14m45s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
Publish / build (push) Failing after 18s
wega fork has ClearMetabolizerTypes/TryAddMetabolizerType methods that wylab lacks.
Direct field access to MetabolizerTypes violates Robust Analyzer permissions.
Commented out for later implementation when metabolizer API is ported.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 01:18:28 +01:00
4213d083f9 fix: stub out missing wega APIs in Vampire system
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 2m19s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 1m12s
RGA schema validator / YAML RGA schema validator (push) Failing after 24s
RSI Validator / Validate RSIs (push) Successful in 26s
Map file schema validator / YAML map schema validator (push) Failing after 26s
YAML Linter / YAML Linter (push) Failing after 2m9s
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 7m15s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 7m30s
- RemoveStaminaDamage -> commented (3 occurrences)
- MobState.PreCritical -> use Critical instead
- SyntheticOperatedComponent -> commented (2 occurrences)
- MovementModStatusSystem.Slowdown -> use FlashSlowdown
- DnaModifiedComponent -> commented
- MetabolizerSystem.ClearMetabolizerTypes/TryAddMetabolizerType -> direct HashSet manipulation

These features can be implemented later when porting the respective systems from wega.
2025-12-17 01:06:48 +01:00
34bba67a59 fix: comment out missing Surgery/Genetics imports for later implementation
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 2m20s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 2m1s
RGA schema validator / YAML RGA schema validator (push) Failing after 24s
RSI Validator / Validate RSIs (push) Successful in 25s
Map file schema validator / YAML map schema validator (push) Failing after 27s
YAML Linter / YAML Linter (push) Failing after 2m8s
Publish / build (push) Failing after 7m57s
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 8m18s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
2025-12-17 00:52:52 +01:00
f1d4f62047 feat: add Vampire antagonist from wega fork
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 2m10s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 1m57s
RGA schema validator / YAML RGA schema validator (push) Failing after 25s
RSI Validator / Validate RSIs (push) Successful in 28s
Map file schema validator / YAML map schema validator (push) Failing after 26s
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 7m30s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
YAML Linter / YAML Linter (push) Failing after 2m12s
Publish / build (push) Failing after 7m32s
Vampires are solo antagonists who must drink blood to gain power.
Features 4 class archetypes (Hemomancer, Umbrae, Gargantua, Dantalion)
each with 8 unique abilities unlocked through blood consumption.

Includes:
- Core vampire system with blood drinking mechanics
- 4 class archetypes with 32 total abilities
- Thrall system for Dantalion class
- Blood economy & skill progression
- Holy/unholy damage interactions
- Hallucinations system dependency
- Client UI for class selection
- 40+ sprite assets
- Russian localization

Also adds Hallucinations system (used by Mass Hysteria ability).

Requirements: 15h playtime
Min players: 20

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 00:41:55 +01:00
6152a7b166 feat: add Blood Brothers antagonist from wega fork
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 58s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 2m36s
RGA schema validator / YAML RGA schema validator (push) Failing after 23s
RSI Validator / Validate RSIs (push) Successful in 28s
Map file schema validator / YAML map schema validator (push) Failing after 24s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
Blood Brothers are paired antagonists who must work together with shared
objectives. Two players are bonded and must:
- Escape together (mandatory)
- Complete shared kill/steal/protect objectives
- Both survive to win

Includes:
- 16 C# files (rule system, objective systems, components)
- Game rule and sub-gamemode prototypes
- 29 objective entity prototypes
- Russian localization
- Guidebook documentation

Requirements: 50h playtime + 25h Security
Min players: 20, Max antags: 8 (4 pairs)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 00:32:45 +01:00
cc7e88f934 revert: remove unused GolemHeat feature
Wylab doesn't have playable golem species - only hostile Flesh Golems.
This code does nothing without the GolemHeatComponent on entities.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 00:16:45 +01:00
1bfd73febc revert: remove Barks and Height System features (missing dependencies)
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 3m2s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 1m44s
RGA schema validator / YAML RGA schema validator (push) Failing after 25s
RSI Validator / Validate RSIs (push) Successful in 25s
Map file schema validator / YAML map schema validator (push) Failing after 23s
YAML Linter / YAML Linter (push) Successful in 3m49s
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 15m18s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 4s
Publish / build (push) Successful in 29m36s
- Barks depends on SoundInsulationSystem (not in wylab)
- Height System depends on SpeciesPrototype.MaxItemHeight and
  HumanoidAppearanceComponent.Height (not in wylab)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 23:45:38 +01:00
d8f34b184f revert: remove Sleep on Buckle feature (requires wl-specific StandingStateComponent)
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 2m59s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 2m32s
RGA schema validator / YAML RGA schema validator (push) Failing after 24s
RSI Validator / Validate RSIs (push) Successful in 25s
Map file schema validator / YAML map schema validator (push) Failing after 25s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 7m5s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 7m13s
YAML Linter / YAML Linter (push) Failing after 2m5s
This feature depends on StandingStateComponent.SleepAction which doesn't exist
in wylab. Removing instead of modifying base components.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 23:33:51 +01:00
73b0052649 fix: remove StandingStateComponent.SleepAction dependency in SleepOnBuckle
Some checks failed
Publish / build (push) Failing after 2m17s
Test Packaging / Test Packaging (push) Failing after 1m17s
RGA schema validator / YAML RGA schema validator (push) Failing after 24s
RSI Validator / Validate RSIs (push) Successful in 27s
Map file schema validator / YAML map schema validator (push) Failing after 30s
YAML Linter / YAML Linter (push) Failing after 2m5s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
wylab's StandingStateComponent doesn't have SleepAction property (added by wl fork).
Removed cleanup code that referenced it - feature works without it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 23:26:40 +01:00
9ae469991f feat: add 11 copy-paste features from ss14-wega and ss14-wl
Some checks failed
Publish / build (push) Failing after 2m19s
Test Packaging / Test Packaging (push) Failing after 2m1s
RGA schema validator / YAML RGA schema validator (push) Failing after 25s
RSI Validator / Validate RSIs (push) Successful in 26s
Map file schema validator / YAML map schema validator (push) Failing after 23s
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 6m30s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 6m36s
Build & Test Debug / Build & Test Debug (push) Has been skipped
YAML Linter / YAML Linter (push) Failing after 1m16s
From ss14-wega (_Wega):
- DeleteOnDrop: auto-delete items when dropped
- FriendlyFaction: prevent friendly fire by faction
- NullRod: holy weapon that removes magic
- EdibleMatter: edible entity component
- Ghost Respawn: allow ghosts to respawn to lobby
- Barks: NPC voice sounds system (99 audio files)

From ss14-wl (_WL):
- Day/Night Cycle: automatic lighting cycle for maps
- Sleep on Buckle: sleep action when buckled
- Height System: tall entities become large items
- Freeze Component: freeze entities at high cold damage
- Suckable Food: mouth-slot consumables (lollipops, gum, etc.)
- GolemHeat: bonus feature (heat mechanics for golems)

Includes:
- 34 C# files
- 99 audio files
- 68 texture files
- 9 prototype files
- 2 locale files
- WegaCVars configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 23:13:24 +01:00
2a8530eaf6 feat: switch wiki workflow to MediaWiki with jtmullen/mediawiki-edit-action
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 3m36s
Test Packaging / Test Packaging (push) Failing after 5m59s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 10m58s
Build & Test Debug / Build & Test Debug (push) Has been skipped
RGA schema validator / YAML RGA schema validator (push) Successful in 1m4s
Update Wiki / Build and Publish JSON blobs to wiki (push) Failing after 2m43s
Map file schema validator / YAML map schema validator (push) Failing after 26s
RSI Validator / Validate RSIs (push) Successful in 56s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 3s
YAML Linter / YAML Linter (push) Successful in 3m20s
Publish / build (push) Successful in 27m44s
Replace Gitea wiki API with MediaWiki API using jtmullen/mediawiki-edit-action@v0.1.1.
Pages will be uploaded to User:WikiBot/<filename>.json following Corvax pattern.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 20:00:45 +01:00
93f160652e fix: use PATCH instead of PUT for Gitea wiki API
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 31s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Successful in 5m41s
Update Wiki / Build and Publish JSON blobs to wiki (push) Successful in 2m31s
RGA schema validator / YAML RGA schema validator (push) Failing after 26s
RSI Validator / Validate RSIs (push) Successful in 30s
Map file schema validator / YAML map schema validator (push) Failing after 23s
YAML Linter / YAML Linter (push) Failing after 29s
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 13m51s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 4s
Publish / build (push) Successful in 28m24s
Gitea's wiki API requires PATCH for updates, not PUT.
PUT returns HTTP 405 (Method Not Allowed) which curl ignores
by default, so uploads were silently failing.

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-16 17:49:17 +01:00
3aaa315702 debug: add file listing to update-wiki workflow
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 1m44s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Publish / build (push) Successful in 6m4s
Test Packaging / Test Packaging (push) Failing after 3m52s
RGA schema validator / YAML RGA schema validator (push) Failing after 23s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 12m0s
Build & Test Debug / Build & Test Debug (push) Has been skipped
RSI Validator / Validate RSIs (push) Successful in 27s
YAML Linter / YAML Linter (push) Successful in 2m49s
Update Wiki / Build and Publish JSON blobs to wiki (push) Successful in 7m11s
Map file schema validator / YAML map schema validator (push) Successful in 10m24s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 17:08:39 +01:00
497d6d46eb fix: remove cache-dotnet from all workflows to prevent OOM
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 2m40s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 2m12s
Update Wiki / Build and Publish JSON blobs to wiki (push) Successful in 2m14s
RGA schema validator / YAML RGA schema validator (push) Failing after 23s
RSI Validator / Validate RSIs (push) Successful in 30s
Map file schema validator / YAML map schema validator (push) Failing after 22s
YAML Linter / YAML Linter (push) Successful in 3m27s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Publish / build (push) Has been cancelled
The actions/cache@v4 tar compression with zstdmt causes OOM (exit code
137) on runners with limited memory. Removing cache entirely as a
temporary fix until a better solution is implemented.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 16:54:49 +01:00
d88e65e0b5 fix: remove cache step from publish.yml to prevent hangs
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 3m24s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Publish / build (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
Cache action was hanging, blocking the entire workflow.
2025-12-16 16:46:16 +01:00
86a584c502 fix: invert Dispose() logic to only shutdown managers that were initialized
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 3m32s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Publish / build (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
In autogen mode (DestinationFile set), Init() returns early before
_dbManager.Init() is called. But Dispose() was calling _dbManager.Shutdown()
specifically when DestinationFile was set, causing NullReferenceException.

Inverted the condition so shutdown only happens in normal mode when
managers were actually initialized.
2025-12-16 16:41:51 +01:00
0afe78f6c6 fix: pass ACTIONS_CACHE_URL from Gitea variable to cache action
Some checks failed
Publish / build (push) Failing after 2m42s
RGA schema validator / YAML RGA schema validator (push) Failing after 28s
RSI Validator / Validate RSIs (push) Successful in 36s
Map file schema validator / YAML map schema validator (push) Failing after 23s
Test Packaging / Test Packaging (push) Failing after 13m8s
Build & Test Debug / build (ubuntu-latest) (push) Failing after 17m52s
Build & Test Debug / Build & Test Debug (push) Has been skipped
YAML Linter / YAML Linter (push) Successful in 3m8s
Build & Test Map Renderer / build (ubuntu-latest) (push) Successful in 20m36s
Build & Test Map Renderer / Build & Test Debug (push) Successful in 2s
2025-12-16 16:05:47 +01:00
42ad3b8313 fix: use file-based curl input to avoid ARG_MAX limit in wiki uploads
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 1m4s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Test Packaging / Test Packaging (push) Failing after 5m45s
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 10m15s
Publish / build (push) Failing after 10m11s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Map file schema validator / YAML map schema validator (push) Failing after 28s
YAML Linter / YAML Linter (push) Failing after 22s
RSI Validator / Validate RSIs (push) Successful in 1m16s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m23s
Update Wiki / Build and Publish JSON blobs to wiki (push) Failing after 7m18s
The previous implementation stored base64 content in shell variables,
which exceeded the ~2MB ARG_MAX limit when JSON files were large.

Now writes payload to a temp file and uses curl -d @file instead.
2025-12-16 15:49:15 +01:00
72b0f113ae ci: self-host benchmarks and wiki workflows
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
RSI Validator / Validate RSIs (push) Successful in 1m5s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m12s
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Test Packaging / Test Packaging (push) Successful in 7m23s
Update Wiki / Build and Publish JSON blobs to wiki (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Successful in 10m37s
YAML Linter / YAML Linter (push) Successful in 15m15s
Publish Testing / build (push) Has been cancelled
Publish / build (push) Has been cancelled
- benchmarks.yml: Run locally with PostgreSQL instead of SSH to centcomm
- update-wiki.yml: Use Gitea wiki API instead of MediaWiki

Required secrets:
- BENCHMARKS_SQL_HOST, BENCHMARKS_SQL_PORT, BENCHMARKS_SQL_USER
- BENCHMARKS_SQL_PASSWORD, BENCHMARKS_SQL_DATABASE
- WIKI_TOKEN (Gitea API token with wiki write access)
2025-12-16 09:43:00 +01:00
57bc9cca27 fix: revert cache probe logic that caused YAML parse error
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 9m28s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 11m25s
Build & Test Debug / Build & Test Debug (push) Has been skipped
RGA schema validator / YAML RGA schema validator (push) Successful in 1m0s
RSI Validator / Validate RSIs (push) Successful in 59s
Map file schema validator / YAML map schema validator (push) Successful in 10m23s
Test Packaging / Test Packaging (push) Failing after 8m13s
Publish / build (push) Successful in 31m9s
YAML Linter / YAML Linter (push) Successful in 10m18s
Benchmarks / Run Benchmarks (push) Failing after 57s
Root cause: Gitea Actions' YAML parser doesn't support heredoc syntax
(python - <<'PY') in composite action run blocks.

Error was: "yaml: line 18: could not find expected ':'"

Solution: Use simple cache action - the cache handles 502 errors
gracefully with warnings, so probing is unnecessary.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 03:30:49 +01:00
251d29f8d3 fix: use public CDN URL for remote runner compatibility
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 46s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 1m4s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 45s
RGA schema validator / YAML RGA schema validator (push) Successful in 34s
Test Packaging / Test Packaging (push) Failing after 1m7s
RSI Validator / Validate RSIs (push) Successful in 26s
YAML Linter / YAML Linter (push) Failing after 40s
Map file schema validator / YAML map schema validator (push) Has been cancelled
- Set ROBUST_CDN_URL to https://cdn.wylab.me/ for remote runner access
- Add cache server availability probing to prevent 502 errors
- Update publish script to respect ROBUST_CDN_URL environment variable
- Fix Docker trigger dispatch API endpoint format

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 03:11:48 +01:00
Wylabb
b9ebcaa1a2 ci: switch to Gitea-native caching
Some checks failed
Build & Test Debug / build (ubuntu-latest) (push) Failing after 29m47s
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 29m49s
RGA schema validator / YAML RGA schema validator (push) Successful in 1m35s
RSI Validator / Validate RSIs (push) Successful in 1m2s
Test Packaging / Test Packaging (push) Failing after 24m42s
Map file schema validator / YAML map schema validator (push) Successful in 10m53s
Update Wiki / Build and Publish JSON blobs to wiki (push) Failing after 24m32s
YAML Linter / YAML Linter (push) Successful in 23m25s
Benchmarks / Run Benchmarks (push) Failing after 49s
Publish Testing / build (push) Failing after 39m4s
Publish / build (push) Failing after 1s
Publish Public / build (push) Failing after 17m27s
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Replace actions/cache@v4 with v3 and add RUNNER_TOOL_CACHE to use Gitea's native cache infrastructure. The v4 cache was incompatible with Gitea and caused 5-minute delays.

Changes:
- Use actions/cache@v3 (Gitea-compatible)
- Add RUNNER_TOOL_CACHE=/toolcache to all build jobs
- Update cache key to use github.run_id instead of hashFiles

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 05:12:55 +01:00
Wylabb
d2f3e0929c ci: cache dotnet dependencies
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 6m29s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Test Packaging / Test Packaging (push) Failing after 10m15s
Update Wiki / Build and Publish JSON blobs to wiki (push) Failing after 10m14s
Map file schema validator / YAML map schema validator (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Successful in 59s
RSI Validator / Validate RSIs (push) Successful in 40s
YAML Linter / YAML Linter (push) Failing after 12m5s
Publish / build (push) Failing after 0s
Publish Public / build (push) Failing after 1s
2025-12-14 12:33:30 +01:00
Wylabb
c702820686 ci: fix pip install for validate rsis
Some checks failed
Build & Test Map Renderer / Build & Test Debug (push) Has been cancelled
Build & Test Map Renderer / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
Publish / build (push) Has been cancelled
Test Packaging / Test Packaging (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
RSI Validator / Validate RSIs (push) Has been cancelled
Map file schema validator / YAML map schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
2025-12-14 12:26:51 +01:00
Wylabb
1ca32d40cf chore: trigger CI
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 4s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 4s
Map file schema validator / YAML map schema validator (push) Successful in 3m12s
RSI Validator / Validate RSIs (push) Failing after 30s
Build & Test Debug / build (ubuntu-latest) (push) Has been cancelled
Build & Test Debug / Build & Test Debug (push) Has been cancelled
RGA schema validator / YAML RGA schema validator (push) Has been cancelled
YAML Linter / YAML Linter (push) Has been cancelled
2025-12-14 11:41:51 +01:00
Wylabb
af791c5fb7 Test without go script
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 3s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 3s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 2s
RGA schema validator / YAML RGA schema validator (push) Failing after 2s
RSI Validator / Validate RSIs (push) Failing after 2s
Map file schema validator / YAML map schema validator (push) Failing after 2s
YAML Linter / YAML Linter (push) Failing after 3s
2025-12-14 11:17:19 +01:00
Wylabb
ff48caac72 Test after persistent DNS config
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 3s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 3s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 2s
RGA schema validator / YAML RGA schema validator (push) Failing after 3s
RSI Validator / Validate RSIs (push) Failing after 2s
Map file schema validator / YAML map schema validator (push) Failing after 3s
YAML Linter / YAML Linter (push) Failing after 2s
2025-12-14 11:15:34 +01:00
Wylabb
62cf5e8dcc Test workflow auto-trigger after DNS fix
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 3s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 3s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 2s
RGA schema validator / YAML RGA schema validator (push) Failing after 2s
RSI Validator / Validate RSIs (push) Failing after 2s
Map file schema validator / YAML map schema validator (push) Failing after 2s
YAML Linter / YAML Linter (push) Failing after 3s
2025-12-14 11:12:56 +01:00
Wylabb
2ebc70e24b Remove DNS workaround from workflow
Some checks failed
YAML Linter / YAML Linter (push) Waiting to run
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 57s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 1m3s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 58s
Test Packaging / Test Packaging (push) Failing after 51s
RGA schema validator / YAML RGA schema validator (push) Failing after 53s
RSI Validator / Validate RSIs (push) Failing after 51s
Map file schema validator / YAML map schema validator (push) Failing after 1m4s
Runner now uses host networking which resolves DNS issues properly
for all job containers.
2025-12-14 11:00:57 +01:00
Wylabb
24336d6df5 Add DNS workaround for runner job containers
Some checks failed
Map file schema validator / YAML map schema validator (push) Waiting to run
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 52s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 1m0s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 58s
Test Packaging / Test Packaging (push) Failing after 1m0s
RGA schema validator / YAML RGA schema validator (push) Failing after 1m2s
RSI Validator / Validate RSIs (push) Failing after 57s
YAML Linter / YAML Linter (push) Failing after 1m6s
Publish Testing / build (push) Failing after 1m5s
Adds git.wylab.me to /etc/hosts before checkout to work around
DNS resolution issues in Gitea Actions job containers.
2025-12-14 10:53:36 +01:00
Wylabb
147e6c9ce6 Test workflow auto-trigger
Some checks failed
Build & Test Map Renderer / build (ubuntu-latest) (push) Failing after 1m16s
Build & Test Map Renderer / Build & Test Debug (push) Has been skipped
Build & Test Debug / build (ubuntu-latest) (push) Failing after 58s
Build & Test Debug / Build & Test Debug (push) Has been skipped
Publish / build (push) Failing after 59s
RGA schema validator / YAML RGA schema validator (push) Failing after 1m2s
RSI Validator / Validate RSIs (push) Failing after 58s
Map file schema validator / YAML map schema validator (push) Failing after 57s
YAML Linter / YAML Linter (push) Failing after 1m2s
2025-12-14 10:28:01 +01:00
Wylabb
40c89f04ad Revert workflow to last working version
The CDN check and caching additions were breaking Gitea's workflow parser,
preventing automatic workflow triggers on push events.

Reverting to the last known working version at bce50cad4c.
2025-12-14 10:26:18 +01:00
Wylabb
8fe3a33813 Fix server launcher connectivity by including Content.Packaging assembly
The server was failing to create ACZ packages for launcher clients because
Content.Packaging.dll was not included in the packaged server deployments.
This caused a FileNotFoundException when ContentMagicAczProvider attempted
to call ClientPackaging.WriteResources at runtime.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-14 10:15:07 +01:00
Codex Bot
c190b3a8af Cache NuGet and RobustToolbox outputs 2025-12-14 08:08:58 +01:00
bce50cad4c Update .github/workflows/publish.yml 2025-12-14 07:21:21 +01:00
506ba9fcd2 Update .github/workflows/publish.yml 2025-12-14 07:18:53 +01:00
100e967e86 Update .github/workflows/publish.yml 2025-12-14 07:16:41 +01:00
Codex Bot
fa969b0315 Wire publish workflow to wylab CDN 2025-12-14 06:17:56 +01:00
16 changed files with 96 additions and 313 deletions

View File

@@ -1,4 +1,4 @@
name: "Labels: Approve"
name: "Labels: Approve"
on:
pull_request_review:
@@ -11,10 +11,8 @@ jobs:
if: github.event.review.state == 'approved'
runs-on: ubuntu-latest
steps:
- name: Remove review labels
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels"
curl -sS -X DELETE -H "Authorization: token $GITHUB_TOKEN" "$API/Status%3A%20Needs%20Review" || true
curl -sS -X DELETE -H "Authorization: token $GITHUB_TOKEN" "$API/Status%3A%20Awaiting%20Changes" || true
- uses: actions-ecosystem/action-remove-labels@v1
with:
labels: |
Status: Needs Review
Status: Awaiting Changes

View File

@@ -1,4 +1,4 @@
name: "Labels: Changes"
name: "Labels: Changes"
on:
pull_request_review:
@@ -11,11 +11,9 @@ jobs:
if: github.event.review.state == 'changes_requested'
runs-on: ubuntu-latest
steps:
- name: Update labels
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels"
curl -sS -X POST -H "Authorization: token $GITHUB_TOKEN" -H "Content-Type: application/json" \
-d '{"labels":["Status: Awaiting Changes"]}' "$API"
curl -sS -X DELETE -H "Authorization: token $GITHUB_TOKEN" "$API/Status%3A%20Needs%20Review" || true
- uses: actions-ecosystem/action-add-labels@v1
with:
labels: "Status: Awaiting Changes"
- uses: actions-ecosystem/action-remove-labels@v1
with:
labels: "Status: Needs Review"

View File

@@ -57,10 +57,8 @@ jobs:
if [ -n "$HAS_LABEL" ]; then
echo "Removing stale conflict label..."
# URL-encode the label name (handles spaces, colons, etc.)
LABEL_NAME_ENCODED=$(echo "$LABEL_NAME" | jq -rR @uri)
curl -s -X DELETE -H "Authorization: token $API_TOKEN" \
"$API_URL/repos/$REPO_OWNER/$REPO_NAME/issues/$PR_INDEX/labels/$LABEL_NAME_ENCODED"
"$API_URL/repos/$REPO_OWNER/$REPO_NAME/issues/$PR_INDEX/labels/$LABEL_NAME"
echo "Conflict label removed."
fi
fi

View File

@@ -1,4 +1,4 @@
name: "Labels: Review"
name: "Labels: Review"
on:
pull_request_target:
@@ -8,11 +8,9 @@ jobs:
add_label:
runs-on: ubuntu-latest
steps:
- name: Update labels
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels"
curl -sS -X POST -H "Authorization: token $GITHUB_TOKEN" -H "Content-Type: application/json" \
-d '{"labels":["S: Needs Review"]}' "$API"
curl -sS -X DELETE -H "Authorization: token $GITHUB_TOKEN" "$API/S%3A%20Awaiting%20Changes" || true
- uses: actions-ecosystem/action-add-labels@v1
with:
labels: "S: Needs Review"
- uses: actions-ecosystem/action-remove-labels@v1
with:
labels: "S: Awaiting Changes"

23
.github/workflows/labeler-review.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: "Labels: Approved"
on:
pull_request_review:
types: [submitted]
jobs:
add_label:
# Change the repository name after you've made sure the team name is correct for your fork!
if: ${{ (github.repository == 'space-wizards/space-station-14') && (github.event.review.state == 'APPROVED') }}
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: tspascoal/get-user-teams-membership@v3
id: checkUserMember
with:
username: ${{ github.actor }}
team: "content-maintainers,junior-maintainers"
GITHUB_TOKEN: ${{ secrets.LABELER_PAT }}
- if: ${{ steps.checkUserMember.outputs.isTeamMember == 'true' }}
uses: actions-ecosystem/action-add-labels@v1
with:
labels: "S: Approved"

View File

@@ -11,12 +11,6 @@ jobs:
add_label:
runs-on: ubuntu-latest
steps:
- name: Add branch label
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -sS -X POST \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Content-Type: application/json" \
-d '{"labels":["Branch: Stable"]}' \
"${{ github.server_url }}/api/v1/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels"
- uses: actions-ecosystem/action-add-labels@v1
with:
labels: "Branch: Stable"

View File

@@ -11,12 +11,6 @@ jobs:
add_label:
runs-on: ubuntu-latest
steps:
- name: Add branch label
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -sS -X POST \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Content-Type: application/json" \
-d '{"labels":["Branch: Staging"]}' \
"${{ github.server_url }}/api/v1/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels"
- uses: actions-ecosystem/action-add-labels@v1
with:
labels: "Branch: Staging"

View File

@@ -1,4 +1,4 @@
name: "Labels: Untriaged"
name: "Labels: Untriaged"
on:
issues:
@@ -10,14 +10,7 @@ jobs:
add_label:
runs-on: ubuntu-latest
steps:
- name: Add untriaged label
if: github.event.issue.labels[0] == null || github.event.pull_request.labels[0] == null
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
NUMBER="${{ github.event.pull_request.number || github.event.issue.number }}"
curl -sS -X POST \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Content-Type: application/json" \
-d '{"labels":["S: Untriaged"]}' \
"${{ github.server_url }}/api/v1/repos/${{ github.repository }}/issues/$NUMBER/labels"
- uses: actions-ecosystem/action-add-labels@v1
if: join(github.event.issue.labels) == ''
with:
labels: "S: Untriaged"

View File

@@ -15,49 +15,20 @@ jobs:
build:
runs-on: ubuntu-latest
env:
CDN_MANIFEST_URL: https://cdn.wylab.me/fork/wylab/manifest
RUNNER_TOOL_CACHE: /toolcache
steps:
- name: Fail if we are attempting to run on the master branch
if: ${{GITHUB.REF_NAME == 'master' && github.repository == 'space-wizards/space-station-14'}}
run: exit 1
# - name: Install dependencies
# run: sudo apt-get install -y python3-paramiko python3-lxml
- name: Install Python dependencies
run: pip install --break-system-packages requests paramiko lxml
- uses: actions/checkout@v4.2.2
with:
submodules: 'recursive'
- name: Check if build already published
id: cdn-check
run: |
SHA=$(echo "$GITHUB_SHA" | tr '[:upper:]' '[:lower:]')
if curl -sSf "$CDN_MANIFEST_URL" | jq -e ".builds[\"$SHA\"]" > /dev/null 2>&1; then
echo "Build $SHA already present on CDN; skipping."
echo "skip=true" >> "$GITHUB_OUTPUT"
else
echo "Build $SHA not found on CDN; continuing."
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', 'global.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Cache RobustToolbox build output
uses: actions/cache@v4
with:
path: RobustToolbox/bin
key: ${{ runner.os }}-robust-${{ hashFiles('RobustToolbox/**/*.csproj', 'global.json') }}
restore-keys: |
${{ runner.os }}-robust-
# Wylab-Secrets-Start
# Corvax-Secrets-Start
- name: Setup secrets
env:
SSH_KEY: ${{ secrets.SECRETS_PRIVATE_KEY }}
@@ -66,43 +37,39 @@ jobs:
mkdir -p ~/.ssh
echo "${{ secrets.SECRETS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
printf '%s\n' 'Host git.wylab.me' ' Hostname git.wylab.me' ' Port 22' ' User git' ' IdentityFile ~/.ssh/id_rsa' ' StrictHostKeyChecking no' ' UserKnownHostsFile /dev/null' > ~/.ssh/config
chmod 600 ~/.ssh/config
git clone git@git.wylab.me:wylab/secrets.git Secrets
[ -d Secrets/Resources/Prototypes ] && cp -R Secrets/Resources/Prototypes Resources/Prototypes/WylabSecrets
[ -d Secrets/Resources/ServerPrototypes ] && cp -R Secrets/Resources/ServerPrototypes Resources/Prototypes/WylabSecretsServer
[ -d Secrets/Resources/Locale ] && cp -R Secrets/Resources/Locale Resources/Locale/ru-RU/wylab-secrets
[ -d Secrets/Resources/Textures ] && cp -R Secrets/Resources/Textures Resources/Textures/WylabSecrets
[ -d Secrets/Resources/Audio ] && cp -R Secrets/Resources/Audio Resources/Audio/WylabSecrets
# Wylab-Secrets-End
echo "HOST *" > ~/.ssh/config
echo " Hostname github.com" >> ~/.ssh/config
echo " Port 22" >> ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
git clone git@github.com:corvax-nexus/secrets.git Secrets
cp -R Secrets/Resources/Prototypes Resources/Prototypes/CorvaxSecrets
cp -R Secrets/Resources/ServerPrototypes Resources/Prototypes/CorvaxSecretsServer
cp -R Secrets/Resources/Locale Resources/Locale/ru-RU/corvax-secrets
cp -R Secrets/Resources/Textures Resources/Textures/CorvaxSecrets
cp -R Secrets/Resources/Audio Resources/Audio/CorvaxSecrets
# Corvax-Secrets-End
- name: Setup .NET Core
uses: actions/setup-dotnet@v4.1.0
with:
dotnet-version: 9.0.x
if: ${{ steps.cdn-check.outputs.skip != 'true' }}
- name: Get Engine Tag
run: |
cd RobustToolbox
git fetch --depth=1
if: ${{ steps.cdn-check.outputs.skip != 'true' }}
- name: Install dependencies
run: dotnet restore
if: ${{ steps.cdn-check.outputs.skip != 'true' }}
- name: Build Packaging
run: dotnet build Content.Packaging --configuration Release --no-restore /m
if: ${{ steps.cdn-check.outputs.skip != 'true' }}
- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform win-arm64 --platform linux-x64 --platform linux-arm64 --platform osx-x64 --platform osx-arm64
if: ${{ steps.cdn-check.outputs.skip != 'true' }}
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release
if: ${{ steps.cdn-check.outputs.skip != 'true' }}
- name: Publish version
run: Tools/publish_multi_request.py
@@ -111,10 +78,9 @@ jobs:
GITHUB_REPOSITORY: wylab/wylab-station-14
FORK_ID: wylab
ROBUST_CDN_URL: https://cdn.wylab.me/
if: ${{ steps.cdn-check.outputs.skip != 'true' }}
- name: Trigger Docker image rebuild
if: ${{ success() && steps.cdn-check.outputs.skip != 'true' }}
if: ${{ success() }}
env:
DISPATCH_TOKEN: ${{ secrets.DOCKER_TRIGGER_TOKEN }}
TARGET_REPO: wylab/WS14-Docker-Linux-Server

View File

@@ -50,19 +50,19 @@ jobs:
cd RobustToolbox/
git submodule update --init --recursive
# Wylab-Secrets-Start
# Corvax-Secrets-Start
- name: Setup secrets
env:
SSH_KEY: ${{ secrets.SECRETS_PRIVATE_KEY }}
if: ${{ env.SSH_KEY != '' }}
run: |
mkdir -p ~/.ssh
mkdir ~/.ssh
echo "${{ secrets.SECRETS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "HOST git.wylab.me" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo "HOST *" > ~/.ssh/config
echo "StrictHostKeyChecking no" >> ~/.ssh/config
git -c submodule.Secrets.update=checkout submodule update --init
# Wylab-Secrets-End
# Corvax-Secrets-End
- name: Setup .NET Core
uses: actions/setup-dotnet@v4.1.0

View File

@@ -1,58 +0,0 @@
name: Upstream Sync Auto-Merge
on:
workflow_run:
workflows: ["Build & Test"]
types: [completed]
branches: [upstream-sync]
jobs:
auto-merge:
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
steps:
- name: Find and merge upstream-sync PR
uses: actions/github-script@v7
with:
script: |
// Find open PR from upstream-sync branch
const { data: prs } = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
head: `${context.repo.owner}:upstream-sync`,
state: 'open'
});
if (prs.length === 0) {
console.log('No open upstream-sync PR found');
return;
}
const pr = prs[0];
console.log(`Found PR #${pr.number}: ${pr.title}`);
// Merge the PR using rebase
try {
await github.rest.pulls.merge({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
merge_method: 'rebase'
});
console.log(`Successfully merged PR #${pr.number}`);
} catch (error) {
console.log(`Failed to merge: ${error.message}`);
throw error;
}
// Delete the upstream-sync branch after merge
try {
await github.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'heads/upstream-sync'
});
console.log('Deleted upstream-sync branch');
} catch (error) {
console.log(`Failed to delete branch: ${error.message}`);
}

View File

@@ -1,99 +0,0 @@
name: Upstream Sync
on:
schedule:
- cron: '0 6 * * *' # Daily at 6am UTC
workflow_dispatch: # Manual trigger
jobs:
check-and-sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Add upstream remote
run: |
git remote add syndicate https://github.com/space-syndicate/space-station-14.git
git fetch syndicate master
- name: Check for upstream updates
id: check
run: |
BEHIND=$(git rev-list HEAD..syndicate/master --count)
echo "behind=$BEHIND" >> $GITHUB_OUTPUT
if [ "$BEHIND" -gt 0 ]; then
echo "Upstream has $BEHIND new commits"
echo "has_updates=true" >> $GITHUB_OUTPUT
else
echo "Already up to date"
echo "has_updates=false" >> $GITHUB_OUTPUT
fi
- name: Rebase onto upstream
if: steps.check.outputs.has_updates == 'true'
id: rebase
run: |
# Create sync branch
git checkout -b upstream-sync
# Try rebase
if git rebase syndicate/master; then
echo "rebase_success=true" >> $GITHUB_OUTPUT
git push -f origin upstream-sync
else
git rebase --abort
echo "rebase_success=false" >> $GITHUB_OUTPUT
fi
- name: Create PR for CI verification
if: steps.check.outputs.has_updates == 'true' && steps.rebase.outputs.rebase_success == 'true'
uses: actions/github-script@v7
with:
script: |
const behind = '${{ steps.check.outputs.behind }}';
// Check if PR already exists
const { data: prs } = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
head: `${context.repo.owner}:upstream-sync`,
state: 'open'
});
if (prs.length > 0) {
console.log('PR already exists, skipping creation');
return;
}
// Create PR
await github.rest.pulls.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: `Upstream sync: ${behind} new commits from syndicate/master`,
head: 'upstream-sync',
base: 'master',
body: `Automatic rebase of wylab commits onto updated syndicate/master.\n\n**${behind} new upstream commits**\n\nThis PR will be auto-merged when CI passes.`
});
- name: Create issue on rebase conflict
if: steps.check.outputs.has_updates == 'true' && steps.rebase.outputs.rebase_success == 'false'
uses: actions/github-script@v7
with:
script: |
const behind = '${{ steps.check.outputs.behind }}';
await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: `Upstream sync failed - ${behind} commits behind`,
body: `Automatic rebase onto syndicate/master failed due to conflicts.\n\nManual intervention required:\n\`\`\`bash\ngit fetch syndicate\ngit rebase syndicate/master\n# resolve conflicts\ngit push --force-with-lease origin master\n\`\`\``,
labels: ['upstream-sync', 'needs-attention']
});

View File

@@ -15,19 +15,19 @@ jobs:
- uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: git submodule update --init
# Wylab-Secrets-Start
# Corvax-Secrets-Start
- name: Setup secrets
env:
SSH_KEY: ${{ secrets.SECRETS_PRIVATE_KEY }}
if: ${{ env.SSH_KEY != '' }}
run: |
mkdir -p ~/.ssh
mkdir ~/.ssh
echo "${{ secrets.SECRETS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "HOST git.wylab.me" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo "HOST *" > ~/.ssh/config
echo "StrictHostKeyChecking no" >> ~/.ssh/config
git -c submodule.Secrets.update=checkout submodule update --init
# Wylab-Secrets-End
# Corvax-Secrets-End
- name: Pull engine updates
uses: space-wizards/submodule-dependency@v0.1.5
- uses: PaulRitter/yaml-schema-validator@v1

View File

@@ -5,57 +5,35 @@ on:
branches: [ master, staging, stable ]
merge_group:
pull_request:
types: [ opened, reopened, synchronize, ready_for_review ]
branches: [ master, staging, stable ]
paths:
- '**.rsi/**'
jobs:
validate_rsis:
name: Validate RSIs
runs-on: ubuntu-latest
steps:
- name: Check for RSI changes
id: check_rsi
uses: dorny/paths-filter@v3
with:
filters: |
rsi:
- '**.rsi/**'
- name: Skip if no RSI changes
if: steps.check_rsi.outputs.rsi != 'true' && github.event_name == 'pull_request'
run: echo "No RSI files changed, skipping validation"
- uses: actions/checkout@v4.2.2
if: steps.check_rsi.outputs.rsi == 'true' || github.event_name != 'pull_request'
- name: Setup Submodule
if: steps.check_rsi.outputs.rsi == 'true' || github.event_name != 'pull_request'
run: git submodule update --init
# Wylab-Secrets-Start
# Corvax-Secrets-Start
- name: Setup secrets
env:
SSH_KEY: ${{ secrets.SECRETS_PRIVATE_KEY }}
if: (steps.check_rsi.outputs.rsi == 'true' || github.event_name != 'pull_request') && env.SSH_KEY != ''
if: ${{ env.SSH_KEY != '' }}
run: |
mkdir -p ~/.ssh
mkdir ~/.ssh
echo "${{ secrets.SECRETS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "HOST git.wylab.me" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo "HOST *" > ~/.ssh/config
echo "StrictHostKeyChecking no" >> ~/.ssh/config
git -c submodule.Secrets.update=checkout submodule update --init
# Wylab-Secrets-End
# Corvax-Secrets-End
- name: Pull engine updates
if: steps.check_rsi.outputs.rsi == 'true' || github.event_name != 'pull_request'
uses: space-wizards/submodule-dependency@v0.1.5
- name: Install Python dependencies
if: steps.check_rsi.outputs.rsi == 'true' || github.event_name != 'pull_request'
run: |
python3 -m pip install --user --break-system-packages pillow jsonschema
- name: Validate RSIs
if: steps.check_rsi.outputs.rsi == 'true' || github.event_name != 'pull_request'
run: |
python3 RobustToolbox/Schemas/validate_rsis.py Resources/

View File

@@ -15,19 +15,19 @@ jobs:
- uses: actions/checkout@v4.2.2
- name: Setup Submodule
run: git submodule update --init
# Wylab-Secrets-Start
# Corvax-Secrets-Start
- name: Setup secrets
env:
SSH_KEY: ${{ secrets.SECRETS_PRIVATE_KEY }}
if: ${{ env.SSH_KEY != '' }}
run: |
mkdir -p ~/.ssh
mkdir ~/.ssh
echo "${{ secrets.SECRETS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "HOST git.wylab.me" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo "HOST *" > ~/.ssh/config
echo "StrictHostKeyChecking no" >> ~/.ssh/config
git -c submodule.Secrets.update=checkout submodule update --init
# Wylab-Secrets-End
# Corvax-Secrets-End
- name: Pull engine updates
uses: space-wizards/submodule-dependency@v0.1.5
- uses: PaulRitter/yaml-schema-validator@v1

View File

@@ -488,7 +488,7 @@
- !type:PopupMessage
conditions:
- !type:MetabolizerTypeCondition
type: [ Animal, Vox, Vampire ] # Corvax-Wega-Edit
type: [ Animal, Vox, Vampire, Plant ] # Corvax-Wega-Edit + Plant
inverted: true
type: Local
visualType: MediumCaution
@@ -498,12 +498,12 @@
probability: 0.1
conditions:
- !type:MetabolizerTypeCondition
type: [ Animal, Vox, Plant, Vampire ] # Corvax-Wega-Edit: added Vampire
type: [ Animal, Vox, Vampire, Plant ] # Corvax-Wega-Edit + Plant
inverted: true
- !type:HealthChange
conditions:
- !type:MetabolizerTypeCondition
type: [ Animal, Vox, Plant, Vampire ] # Corvax-Wega-Edit: added Vampire
type: [ Animal, Vox, Vampire, Plant ] # Corvax-Wega-Edit + Plant
inverted: true
damage:
types: