ref: 1fcb507e98d51bbf6c03967964d02f3c621daf6c
dir: /.github/workflows/release-windows.yml/
name: Release Windows on: [workflow_dispatch, workflow_call] env: SDL2_VERSION: "2.28.1" GAME_SHORTNAME: "CandyCrisis" GAME_LONGNAME: "Candy Crisis" jobs: release-windows: runs-on: windows-2022 timeout-minutes: 20 steps: - name: Checkout uses: actions/checkout@v3 with: submodules: 'recursive' - name: Get SDL run: | Invoke-WebRequest -OutFile SDL2-VC.zip -Uri https://github.com/libsdl-org/SDL/releases/download/release-${{env.SDL2_VERSION}}/SDL2-devel-${{env.SDL2_VERSION}}-VC.zip Expand-Archive SDL2-VC.zip move SDL2-VC/SDL2-* SDL2 - name: Configure run: cmake -S . -B build -G 'Visual Studio 17 2022' - name: Prepare artifact names run: | $GAME_VERSION = Get-Content build/version.txt $FOLDER_NAME = "${{env.GAME_LONGNAME}} $GAME_VERSION" $ARTIFACT_NAME = "${{env.GAME_SHORTNAME}}-$GAME_VERSION-windows-x64.zip" echo "GAME_VERSION=$GAME_VERSION" >> $env:GITHUB_ENV echo "FOLDER_NAME=$FOLDER_NAME" >> $env:GITHUB_ENV echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> $env:GITHUB_ENV - name: Build run: cmake --build build --config Release -- -m # Note: if the game contains C++, you should also copy msvcp140.dll and vcruntime140_1.dll - name: Copy extra stuff run: | cmake --install build --prefix build/install copy build/ReadMe.txt build/Release copy build/install/bin/vcruntime140.dll build/Release - name: Zip it up run: | move build/Release "build/${{env.FOLDER_NAME}}" Compress-Archive -Path "build/${{env.FOLDER_NAME}}" -DestinationPath build/${{env.ARTIFACT_NAME}} -CompressionLevel Optimal - name: Upload uses: actions/upload-artifact@v3 with: name: ${{env.ARTIFACT_NAME}} path: build/${{env.ARTIFACT_NAME}}