diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 30ad7e6..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Build - -on: - workflow_dispatch: - workflow_call: - -jobs: - build: - runs-on: windows-latest - permissions: - contents: write - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install MinGW i686 - run: choco install mingw --x86 -y --no-progress - - - name: Update PATH - run: echo C:/ProgramData/mingw64/mingw32/bin/ >> $env:GITHUB_PATH - - - name: Install SCFA-python-patcher - run: | - git clone https://github.com/4z0t/SCFA-python-patcher.git - pip install -r ./SCFA-python-patcher/requirements.txt - - - name: Download base executable - run: curl -L "https://content.faforever.com/build/ForgedAlliance_base.exe" -o ForgedAlliance_base.exe - - - name: Patch base executable - run: | - echo "#define gitsha \"${{ github.sha }}\"" > workflow.cpp - mkdir build - python ./SCFA-python-patcher/main.py "$(pwd)" clang++ ld g++ - - - name: Upload base executable as artifact - uses: actions/upload-pages-artifact@v3 - with: - path: "ForgedAlliance_exxt.exe" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..02fa315 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,75 @@ +# Copyright (c) FAForever +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +name: Test + +# Note: due to piracy concerns we should at no point upload the executable as +# an artifact. We do not want the lua-compatible executable available to the +# public without verification that they own the game. This verification is +# done via the client. + +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + +jobs: + test: + runs-on: windows-latest + permissions: + contents: write + + steps: + # clone everything that we need + - uses: actions/checkout@v4 + with: + path: fa-python-binary-patcher + + - uses: actions/checkout@v4 + with: + repository: FAForever/FA-Binary-Patches + path: fa-binary-patches + + # install everything that we need + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install MinGW i686 + run: choco install mingw --x86 -y --no-progress + + - name: Update PATH + run: echo C:/ProgramData/mingw64/mingw32/bin/ >> $env:GITHUB_PATH + + - name: Install fa-python-binary-patcher + run: | + pip install -r ./fa-python-binary-patcher/requirements.txt + + # download base executable + - name: Download base executable + run: curl -L "https://content.faforever.com/build/ForgedAlliance_base.exe" -o ForgedAlliance_base.exe + + # patch it, if it works then we're good + - name: Patch base executable + run: | + echo "#define gitsha \"${{ github.sha }}\"" > workflow.cpp + mkdir build + python ./fa-python-binary-patcher/main.py "$(pwd)" clang++ ld g++