diff --git a/.github/workflows/upload.yml b/.github/workflows/upload.yml index 0ec45f2..48015c6 100644 --- a/.github/workflows/upload.yml +++ b/.github/workflows/upload.yml @@ -1,52 +1,63 @@ -name: Upload +# 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: Upload and release on: workflow_dispatch: inputs: modName: - description: 'modName' + description: "modName" required: true - default: 'fafdevelop' + default: "fafdevelop" type: choice options: - - fafdevelop - - fafbeta + - fafdevelop + - fafbeta jobs: build: + name: Patch the binary + uses: ./.github/workflows/build.yml + release: environment: deploy - runs-on: windows-latest + runs-on: linux-latest defaults: run: - shell: msys2 {0} + shell: bash steps: - - uses: msys2/setup-msys2@v2 + # Retrieve the patched binary + - name: Download artifact of patched binary + uses: actions/download-artifact@v4 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 FaP.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 - ./FaP.exe + name: "ForgedAlliance_${{ github.sha }}" + path: . - - name: Post file + # Upload the patched binary to the FAForever server + - name: Upload to server run: curl -f -X "POST" "https://api.faforever.com/exe/upload" -F "modName=${{ github.event.inputs.modName }}" -F "apiKey=${{ secrets.apiKey }}" -F "file=@ForgedAlliance_exxt.exe" - - name: Create Release + # Upon succesful upload, create a release in the repository + - name: Create a Release id: create_release uses: ncipollo/release-action@v1 env: