This action sets-up, cache and adds sourcemod scripting directory to the path
  • TypeScript 96.6%
  • JavaScript 3.4%
Find a file
dependabot[bot] 6e00840740
build(deps): bump uuid, @actions/core and @actions/tool-cache (#32)
Removes [uuid](https://github.com/uuidjs/uuid). It's no longer used after updating ancestor dependencies [uuid](https://github.com/uuidjs/uuid), [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) and [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache). These dependencies need to be updated together.


Removes `uuid`

Updates `@actions/core` from 1.10.1 to 1.11.1
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Updates `@actions/tool-cache` from 2.0.1 to 2.0.2
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 
  dependency-type: indirect
- dependency-name: "@actions/core"
  dependency-version: 1.11.1
  dependency-type: direct:production
- dependency-name: "@actions/tool-cache"
  dependency-version: 2.0.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 22:52:25 -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 Support SourceMod builds from GitHub releases (1.13.7305+) (#31) 2026-04-05 22:00:42 -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): bump uuid, @actions/core and @actions/tool-cache (#32) 2026-04-30 22:52:25 -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.