From 4de62c0856c8f28b20de79a5b5acd24d6832a34e Mon Sep 17 00:00:00 2001 From: Vauff Date: Thu, 5 Oct 2023 00:20:41 -0400 Subject: [PATCH] Add GitHub Actions CI --- .github/workflows/ci.yml | 108 +++++++++++++++++++++++++++++++++++++++ AMBuildScript | 4 +- 2 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b9086b4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,108 @@ +name: CI + +on: + push: + branches: + - main + tags: + - '*' + pull_request: + branches: + - main + +jobs: + build: + name: Build + runs-on: ${{ matrix.os }} + container: ${{ matrix.container }} + strategy: + fail-fast: false + matrix: + os: [windows-2022, ubuntu-latest] + include: + - os: windows-2022 + - os: ubuntu-latest + container: registry.gitlab.steamos.cloud/steamrt/sniper/platform + steps: + - name: Install apt packages + if: runner.os == 'Linux' + run: | + apt update + apt install -y git python3 python3-setuptools clang + + - name: Checkout + uses: actions/checkout@v4 + with: + path: MovementUnlocker + + - name: Checkout Metamod + uses: actions/checkout@v4 + with: + repository: alliedmodders/metamod-source + ref: master + path: mmsource-2.0 + submodules: recursive + + - name: Checkout HL2SDK + uses: actions/checkout@v4 + with: + repository: alliedmodders/hl2sdk + ref: cs2 + path: hl2sdk-cs2 + + - name: Checkout AMBuild + uses: actions/checkout@v4 + with: + repository: alliedmodders/ambuild + path: ambuild + + - name: Install AMBuild + run: | + cd ambuild && python setup.py install && cd .. + + - name: Build + working-directory: MovementUnlocker + shell: bash + run: | + mkdir build && cd build + python ../configure.py --enable-optimize --sdks cs2 + ambuild + + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: ${{ runner.os }} + path: MovementUnlocker/build/package + + release: + name: Release + if: startsWith(github.ref, 'refs/tags/') + needs: build + runs-on: ubuntu-latest + + steps: + - name: Download artifacts + uses: actions/download-artifact@v3 + + - name: Package + run: | + version=`echo $GITHUB_REF | sed "s/refs\/tags\///"` + ls -Rall + if [ -d "./Linux/" ]; then + cd ./Linux/ + tar -czf ../${{ github.event.repository.name }}-${version}-linux.tar.gz -T <(\ls -1) + cd - + fi + if [ -d "./Windows/" ]; then + cd ./Windows/ + tar -czf ../${{ github.event.repository.name }}-${version}-windows.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: ${{ github.ref }} + file_glob: true diff --git a/AMBuildScript b/AMBuildScript index b7b6648..39067a3 100644 --- a/AMBuildScript +++ b/AMBuildScript @@ -188,7 +188,9 @@ class MMSPluginConfig(object): if builder.options.mms_path: self.mms_root = builder.options.mms_path else: - self.mms_root = ResolveEnvPath('MMSOURCE112', 'mmsource-1.12') + self.mms_root = ResolveEnvPath('MMSOURCE20', 'mmsource-2.0') + if not self.mms_root: + self.mms_root = ResolveEnvPath('MMSOURCE112', 'mmsource-1.12') if not self.mms_root: self.mms_root = ResolveEnvPath('MMSOURCE111', 'mmsource-1.11') if not self.mms_root: