This action sets-up, cache and adds sourcemod scripting directory to the path
  • TypeScript 96.6%
  • JavaScript 3.4%
Find a file
dependabot[bot] 1b616aebc2
build(deps-dev): bump fast-uri from 3.1.0 to 3.1.2 (#33)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-21 19:53:14 -04:00
.github/workflows fix: sp 1.12+ include path resolution (#6) 2022-07-06 17:32:57 -04:00
__tests__ workflow: self test 2019-11-16 01:44:25 -05:00
lib Support SourceMod builds from GitHub releases (1.13.7305+) (#31) 2026-04-05 22:00:42 -04:00
src Support SourceMod builds from GitHub releases (1.13.7305+) (#31) 2026-04-05 22:00:42 -04:00
.gitattributes workflow: self test 2019-11-16 01:44:25 -05:00
.gitignore fix: sp 1.12+ include path resolution (#6) 2022-07-06 17:32:57 -04:00
action.yml Move action runtime to Node.js 24 (#35) 2026-05-21 19:52:58 -04:00
CODEOWNERS git: code owners 2019-11-17 20:16:14 -05:00
LICENSE Initial commit 2019-11-14 12:45:55 -05:00
package-lock.json build(deps-dev): bump fast-uri from 3.1.0 to 3.1.2 (#33) 2026-05-21 19:53:14 -04:00
package.json build(deps): bump uuid, @actions/core and @actions/tool-cache (#32) 2026-04-30 22:52:25 -04:00
README.md Support SourceMod builds from GitHub releases (1.13.7305+) (#31) 2026-04-05 22:00:42 -04:00
tsconfig.json fix: sp 1.12+ include path resolution (#6) 2022-07-06 17:32:57 -04:00
webpack.config.js Add a parser to get the version of the .sp plugin (#4) 2021-10-08 19:09:08 -04:00

Setup SourcePawn Action

This action sets-up, cache and adds sourcemod scripting directory to the path

Usage

See action.yml

Basic:

steps:
- uses: actions/checkout@v3

- uses: rumblefrog/setup-sp@master
  with:
    version: '1.12.x'

- run: spcomp -iAnotherIncludeDirectory plugin.sp -o output/plugin.smx

Matrix:

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        sm-version: [ '1.11.x', '1.12.x', '1.11.6467', '>= 1.11.6478']

    name: SM version ${{ matrix.sm-version }}
    steps:
      - uses: actions/checkout@v3

      - name: Setup SP
        uses: rumblefrog/setup-sp@master
        with:
          version: ${{ matrix.sm-version }}

      - run: spcomp -iAnotherIncludeDirectory plugin.sp -o output/plugin.smx

Extract the version of the .sp file:

jobs:
  build:
    runs-on: ubuntu-latest

    name: SM version ${{ matrix.sm-version }}
    steps:
      - uses: actions/checkout@v1

      - name: Setup SP
        id: setup_sp
        uses: rumblefrog/setup-sp@master
        with:
          version: '1.10.x'
          version-file: ./plugin.sp

      - run: |
          spcomp -iAnotherIncludeDirectory plugin.sp -o output/plugin.smx
          echo Plugin version ${{ steps.setup_sp.outputs.plugin-version }}

Using a GitHub token to avoid rate limiting:

When fetching recent SourceMod builds (1.13.7305+), the action queries the GitHub releases API. To avoid rate limiting, pass a GitHub token:

- uses: rumblefrog/setup-sp@master
  with:
    version: '1.13.x'
    github-token: ${{ secrets.GITHUB_TOKEN }}

A complete workflow example can be found here.