diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..5ace460 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4bf977b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,99 @@ +name: CI + +on: + push: + branches: + - main + - master + tags: + - '*' + pull_request: + branches: + - main + - master + +jobs: + build: + name: "Build" + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: + - ubuntu-22.04 + include: + - os: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - name: Build sourcemod plugin + uses: maxime1907/action-sourceknight@v1 + with: + cmd: build + + - name: Create package + run: | + mkdir -p /tmp/package + cp -R .sourceknight/package/* /tmp/package + + - name: Upload build archive for test runners + uses: actions/upload-artifact@v4 + with: + name: package + path: /tmp/package + + tag: + name: Tag + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' + + - uses: dev-drprasad/delete-tag-and-release@v1.1 + if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' + with: + delete_release: true + tag_name: latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - uses: rickstaa/action-create-tag@v1 + if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' + with: + tag: "latest" + github_token: ${{ secrets.GITHUB_TOKEN }} + + release: + name: Release + if: startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' + needs: [build, tag] + runs-on: ubuntu-latest + steps: + - name: Download artifacts + uses: actions/download-artifact@v4 + + - name: Versioning + run: | + version="latest" + if [[ "${{ github.ref_type }}" == 'tag' ]]; then + version=`echo $GITHUB_REF | sed "s/refs\/tags\///"`; + fi + echo "RELEASE_VERSION=$version" >> $GITHUB_ENV + + - name: Package + run: | + ls -Rall + if [ -d "./package/" ]; then + cd ./package/ + tar -czf ../${{ github.event.repository.name }}-${{ env.RELEASE_VERSION }}.tar.gz -T <(\ls -1) + cd - + fi + + - name: Release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: '*.tar.gz' + tag: ${{ env.RELEASE_VERSION }} + file_glob: true + overwrite: true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40f37f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +build/ +release/ + +.DS_Store +.vscode + +*.smx +plugins/ +.sourceknight +.venv diff --git a/plugins/DynamicChannels.smx b/plugins/DynamicChannels.smx deleted file mode 100644 index 70c8072..0000000 Binary files a/plugins/DynamicChannels.smx and /dev/null differ diff --git a/plugins/ExamplePlugin.smx b/plugins/ExamplePlugin.smx deleted file mode 100644 index d6d8d5b..0000000 Binary files a/plugins/ExamplePlugin.smx and /dev/null differ diff --git a/sourceknight.yaml b/sourceknight.yaml new file mode 100644 index 0000000..b7c4aff --- /dev/null +++ b/sourceknight.yaml @@ -0,0 +1,17 @@ +project: + sourceknight: 0.2 + name: DynamicChannels + dependencies: + - name: sourcemod + type: tar + version: 1.11.0-git6966 + location: https://sm.alliedmods.net/smdrop/1.11/sourcemod-1.11.0-git6966-linux.tar.gz + unpack: + - source: /addons + dest: /addons + + root: / + workdir: /scripting + output: /plugins + targets: + - DynamicChannels