Skip to content

SM 1.13 (API v9) support & housekeeping - #50

Merged
Kenzzer merged 10 commits into
asherkin:masterfrom
Mikusch:v9
Sep 6, 2026
Merged

SM 1.13 (API v9) support & housekeeping #50
Kenzzer merged 10 commits into
asherkin:masterfrom
Mikusch:v9

Conversation

@Mikusch

@Mikusch Mikusch commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

This PR makes the extension compatible with the SM 1.13 extension API v9 as well as general housekeeping.

The breakpad submodule has been updated to its latest commit and the C++ standard has been upgraded to C++20. Four patches that were no longer useful have been deleted and the remaining two have been rebased onto the new tree.

The CI now builds against latest SM 1.12 and SM 1.13, but limetech upload will only use the 1.12 one. Linux builds now use the debian11-clang22 image from build-containers (https://github.com/alliedmodders/build-containers). As a side effect the released Linux binary targets glibc 2.31 instead of 2.35, so it should work on older servers.

This also fixes #47.

@Red4Hack

Copy link
Copy Markdown

Please approve tested and running normally

@Kenzzer Kenzzer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think the CI change should have been its own PR, this was really difficult to review. Lots of comments made. Changes to the extension are fine, makes sense to comment out the part that simply won't compile against 1.13 so no problems there. And finally I just need clarifications on each patch change/removal, as the last time that happened it introduced subtle bugs. See #45

Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml
Comment thread patches/0003-Support-compilation-on-VS-2015.patch
Comment thread patches/0004-Fix-Linux-a-out-include.patch
Comment thread patches/0005-Add-LSS.patch
Comment thread patches/0006-Fix-multipart-missing-CRLF.patch
Comment on lines -25 to -28
cache-key:
type: string
required: true
cache-dir:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why is the cache being removed ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

In my opinion the cache didn't really add much. A shallow checkout is already quite fast and with build-containers, AMBuild is now preinstalled, so one less checkout on Linux.

One pinned revision couldn't have built 1.12 and 1.13 at once anyway. If desired, I can pin the SourceMod checkout to a fixed commit (that doesn't need the cache back), but I fear it will drift too far again like the 2023 one did. After all, isn't it (part of) the CI's purpose to report breakage due to dependency updates?

That said, this is probably the most opinionated change and I can restore the cache if needed.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

CI's purpose to report breakage due to dependency updates

That is true if we did build against dev SM, but since we were not. Cache here did make sense.
For the newly introduced 1.13 builds by the PR, you can omit the cache. But I would like to retain the cache for stable SM.

@Mikusch Mikusch left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ah, my apologies if the CI changes made reviewing this a bit difficult. I appreciate you taking the time to do so. I have given some explanations with links to official sources.

Comment thread .github/workflows/release.yml
Comment thread patches/0006-Fix-multipart-missing-CRLF.patch
Comment on lines -25 to -28
cache-key:
type: string
required: true
cache-dir:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

In my opinion the cache didn't really add much. A shallow checkout is already quite fast and with build-containers, AMBuild is now preinstalled, so one less checkout on Linux.

One pinned revision couldn't have built 1.12 and 1.13 at once anyway. If desired, I can pin the SourceMod checkout to a fixed commit (that doesn't need the cache back), but I fear it will drift too far again like the 2023 one did. After all, isn't it (part of) the CI's purpose to report breakage due to dependency updates?

That said, this is probably the most opinionated change and I can restore the cache if needed.

Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml
Comment thread patches/0003-Support-compilation-on-VS-2015.patch
Comment thread patches/0004-Fix-Linux-a-out-include.patch
Comment thread .github/workflows/pull_request.yml
@Mikusch
Mikusch requested a review from Kenzzer September 4, 2026 21:51

@Kenzzer Kenzzer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Awesome

@Kenzzer
Kenzzer merged commit a4dbe6f into asherkin:master Sep 6, 2026
5 checks passed
@Mikusch
Mikusch deleted the v9 branch September 6, 2026 08:36
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.

Crash on quit

4 participants