From eb521215c870c1bdfdbc58615b611e6b621d6717 Mon Sep 17 00:00:00 2001 From: "(Jip) Willem Wijnia" Date: Sun, 10 Nov 2024 18:21:39 +0100 Subject: [PATCH] Add a basic build workflow --- .github/workflows/build.yml | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..593cc2d7 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,63 @@ +# 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: Build + +on: + push: + workflow_dispatch: + workflow_call: + +jobs: + build: + environment: deploy + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: msys2/setup-msys2@v2 + with: + msystem: MINGW32 + + - name: Install MinGW + run: | + pacman --noconfirm -S mingw-w64-i686-gcc + + - uses: actions/checkout@v4 + + - name: Download Patcher + run: curl -L "https://github.com/FAForever/FA_Patcher/releases/latest/download/FaP.exe" -o BinaryPatcher.exe + + - name: Download Baseline + run: curl -L "https://content.faforever.com/build/ForgedAlliance_base.exe" -o ForgedAlliance_base.exe + + - name: Patch Binary + run: | + # + echo '#define gitsha "'${GITHUB_SHA::7}'"' > workflow.cpp + ./BinaryPatcher.exe + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: "ForgedAlliance_exxt.exe" + name: "ForgedAlliance_${{ github.sha }}.exe" + retention-days: 7