Skip to content

ci: replace SourceKnight with native GitHub Actions workflow - #42

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

ci: replace SourceKnight with native GitHub Actions workflow#42
Rushaway merged 1 commit into
masterfrom
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, matching the validated structure already rolled out to other srcdslab plugins (reference: srcdslab/sm-plugin-AdminRoom).

  • Compiles with spcomp via rumblefrog/setup-sp@v1.3.1 pinned to SourceMod 1.12.x (repo's sourceknight.yaml declared 1.12.0-git7223).
  • Clones each dependency at --depth=1 and copies its real include path in explicitly (no build-tool magic).
  • Packaging step reproduces exactly what the old SourceKnight workflow bundled into the release artifact: the compiled .smx under addons/sourcemod/plugins/ plus addons/sourcemod/configs/ (map configs, unchanged from before).
  • tag/release job structure, if conditions, and action pins copied verbatim from the AdminRoom reference, including its three previously-fixed bugs (tag job checkout is actions/checkout@v7 first step; release if gates on needs.tag.result being success or skipped; dependency-install mkdir -p creates the deps dir itself, not just the includes dir).
  • Removed sourceknight.yaml and updated .github/copilot-instructions.md / .gitignore to drop remaining SourceKnight references.

Plugin targets compiled

Target Source file
BossHP addons/sourcemod/scripting/BossHP.sp

Dependencies cloned

Name Repo URL Real include path used
ext-outputinfo https://github.com/srcdslab/sm-ext-outputinfo package/addons/sourcemod/scripting/include/outputinfo.inc
smlib https://github.com/srcdslab/sm-plugin-smlib addons/sourcemod/scripting/include/smlib.inc (+ smlib/*.inc)
basic https://github.com/srcdslab/sm-plugin-basic addons/sourcemod/scripting/include/basic.inc
multicolors https://github.com/srcdslab/sm-plugin-MultiColors addons/sourcemod/scripting/include/multicolors.inc (+ multicolors/*.inc)

All four matched the paths declared in the old sourceknight.yaml after verifying against the real cloned repos (no non-standard nesting found here).

Local validation performed

  • Downloaded/used the cached Windows spcomp (SourcePawn Compiler 1.12.0.7246) matching the repo's declared SM 1.12 branch.
  • Cloned all four dependencies above at --depth=1 into a scratch deps/ directory and copied their include folders into addons/sourcemod/scripting/include/, replicating exactly what the new CI workflow's "Install dependencies" step does.
  • Compiled BossHP.sp with spcomp -i include -o ../plugins/BossHP.smx BossHP.sp from addons/sourcemod/scripting, replicating the new workflow's "Build sourcemod plugin" step.
  • Result: compiled successfully, exit code 0, only 3 pre-existing warnings from the smlib include (unused symbol / sizeof-on-scalar), no errors. Produced BossHP.smx (43,639 bytes).

Manual verification needed

  • None identified — packaging, dependency paths, and compilation all matched the old SourceKnight-based workflow's behavior with no ambiguity.

🤖 Generated with Claude Code

Copilot AI lite review requested due to automatic review settings August 17, 2026 06:05

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.

Pull request overview

This PR migrates the BossHP plugin’s CI/CD pipeline away from SourceKnight to an explicit GitHub Actions workflow that installs dependencies and compiles BossHP.sp with spcomp, then packages and publishes release artifacts.

Changes:

  • Replaced the SourceKnight build step with a rumblefrog/setup-sp + spcomp build and explicit dependency cloning/copying.
  • Updated packaging/release jobs and removed sourceknight.yaml.
  • Updated repo hygiene/docs to drop SourceKnight references (e.g., .gitignore, Copilot instructions).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/ci.yml Replaces SourceKnight CI with native steps for dependency install, compilation, packaging, tagging, and releasing.
sourceknight.yaml Removed the deprecated SourceKnight configuration.
.gitignore Stops ignoring .sourceknight artifacts and ignores the new deps/ directory used by CI/local builds.
.github/copilot-instructions.md Updates documentation to reflect the new GitHub Actions-based build system and compiler setup.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/ci.yml
Comment on lines +41 to +43
mkdir -p /tmp/package/addons/sourcemod/plugins
cp addons/sourcemod/plugins/*.smx /tmp/package/addons/sourcemod/plugins/
cp -R addons/sourcemod/configs /tmp/package/addons/sourcemod/
Comment on lines 16 to 20
- **Language**: SourcePawn (.sp files)
- **Platform**: SourceMod 1.11.0+ (latest stable release)
- **Build System**: SourceKnight (sourceknight.yaml)
- **Compiler**: SourcePawn compiler (spcomp) via SourceKnight
- **Build System**: Native GitHub Actions (.github/workflows/ci.yml)
- **Compiler**: SourcePawn compiler (spcomp) via rumblefrog/setup-sp
- **Dependencies**: outputinfo extension, smlib, basic plugin, multicolors
@Rushaway
Rushaway force-pushed the chore/drop-sourceknight branch from dfb5120 to 4bd5007 Compare August 18, 2026 11:16
@Rushaway
Rushaway merged commit 4b8dc6b into master Aug 18, 2026
6 checks passed
@Rushaway
Rushaway deleted the chore/drop-sourceknight branch August 18, 2026 11: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