Skip to content

chore(ci): replace SourceKnight with setup-sp - #40

Merged
Rushaway merged 1 commit into
mainfrom
chore/drop-sourceknight
Aug 18, 2026
Merged

chore(ci): replace SourceKnight with setup-sp#40
Rushaway merged 1 commit into
mainfrom
chore/drop-sourceknight

Conversation

@Rushaway

Copy link
Copy Markdown
Member

Summary

Replaces the SourceKnight-based build (maxime1907/action-sourceknight) with a native GitHub Actions workflow that installs the SourcePawn compiler via rumblefrog/setup-sp and compiles the plugin directly, matching the pattern already rolled out to 59 other srcdslab repos (reference: srcdslab/sm-plugin-AdminRoom).

Plugin targets

Target name .sp path
FunModes addons/sourcemod/scripting/FunModes.sp

Dependencies (as declared in sourceknight.yaml, not independently verified)

Name Repo URL Unpack source → dest (as declared)
multicolors https://github.com/srcdslab/sm-plugin-MultiColors /addons/sourcemod/scripting/include/addons/sourcemod/scripting/include
dynamicchannels https://github.com/srcdslab/sm-plugin-DynamicChannels /scripting/include/addons/sourcemod/scripting/include
zombiereloaded https://github.com/srcdslab/sm-plugin-zombiereloaded /src/addons/sourcemod/scripting/include/addons/sourcemod/scripting/include
KnockbackRestrict https://github.com/srcdslab/sm-plugin-KnockbackRestrict /addons/sourcemod/scripting/include/addons/sourcemod/scripting/include
EntWatch https://github.com/srcdslab/sm-plugin-EntWatch /addons/sourcemod/scripting/include/addons/sourcemod/scripting/include

The sourcemod (type: tar) dependency was dropped from the dependency-install step, matching the reference workflow which relies solely on rumblefrog/setup-sp for the compiler/include toolchain.

SourceMod version pinned to 1.12.x in rumblefrog/setup-sp (fixed per migration policy, regardless of the exact 1.12.0-git7221 version previously declared in sourceknight.yaml).

Packaging

The old workflow copied .sourceknight/package/* plus addons/sourcemod/translations into the release package. The new Create package step copies the real, existing paths found in the repo tree:

  • addons/sourcemod/plugins/*.smx
  • addons/sourcemod/configs
  • addons/sourcemod/translations

No common/, cfg/, materials/, models/, or gamedata/ directories exist in this repo, so nothing else was added.

Not locally validated

This migration was done without cloning dependency repos or running spcomp locally, per the lightweight migration policy. Dependency paths above are taken as declared in sourceknight.yaml and have not been independently verified. CI on this PR will be the first real build/compile validation.

Manual verification needed

  • DynamicChannels and KnockbackRestrict are consumed via #tryinclude (optional/soft dependency) in FunModes.sp and Fun_Modes/CrazyShop.sp respectively. They are still cloned and their includes copied in the new workflow (matching the declared sourceknight.yaml dependencies), but since they're optional includes, please confirm the build succeeds/behaves as expected either way.
  • Please confirm CI passes (compile + package) once this PR runs, since no local compilation was performed.

Copilot AI lite review requested due to automatic review settings August 17, 2026 09:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Rushaway
Rushaway force-pushed the chore/drop-sourceknight branch from 4dfd689 to cdf01a3 Compare August 18, 2026 08:06
@Rushaway
Rushaway merged commit 8a79cd7 into main Aug 18, 2026
6 checks passed
@Rushaway
Rushaway deleted the chore/drop-sourceknight branch August 18, 2026 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants