diff --git a/.github/actions/pandemonium-build/action.yml b/.github/actions/pandemonium-build/action.yml index ab0d6c3f3..963129acd 100644 --- a/.github/actions/pandemonium-build/action.yml +++ b/.github/actions/pandemonium-build/action.yml @@ -13,6 +13,9 @@ inputs: platform: description: The Pandemonium platform to build. required: false + arch: + description: Platform-dependent architecture (arm/arm64/x86/x64/mips/...). + default: "x64" sconsflags: default: "" scons-cache: @@ -34,5 +37,5 @@ runs: SCONS_CACHE_LIMIT: ${{ inputs.scons-cache-limit }} run: | echo "Building with flags:" ${{ env.SCONSFLAGS }} - scons p=${{ inputs.platform }} target=${{ inputs.target }} tools=${{ inputs.tools }} tests=${{ inputs.tests }} --jobs=2 ${{ env.SCONSFLAGS }} + scons p=${{ inputs.platform }} target=${{ inputs.target }} tools=${{ inputs.tools }} arch=${{ inputs.arch }} tests=${{ inputs.tests }} --jobs=2 ${{ env.SCONSFLAGS }} ls -l bin/ diff --git a/.github/workflows/windows_x86_builds.yml b/.github/workflows/windows_x86_builds.yml new file mode 100644 index 000000000..255d8cd75 --- /dev/null +++ b/.github/workflows/windows_x86_builds.yml @@ -0,0 +1,65 @@ +name: 🏁 Windows x86 Builds +on: [push, pull_request] + +# Global Settings +# SCONS_CACHE for windows must be set in the build environment +#werror=yes +env: + PANDEMONIUM_BASE_BRANCH: master + SCONSFLAGS: verbose=yes warnings=all debug_symbols=no + SCONS_CACHE_MSVC_CONFIG: true + +concurrency: + group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-windows + cancel-in-progress: true + +jobs: + build-windows: + # Windows 10 with latest image + runs-on: "windows-latest" + name: ${{ matrix.name }} + strategy: + fail-fast: false + matrix: + include: + - name: Editor (target=release_debug, tools=yes) + cache-name: windows-editor + target: release_debug + tools: true + arch: x86 + bin: "./bin/pandemonium.windows.opt.tools.32.exe" + + - name: Template (target=release, tools=no) + cache-name: windows-template + target: release + arch: x86 + tools: false + + steps: + - uses: actions/checkout@v3 + + - name: Setup Pandemonium build cache + uses: ./.github/actions/pandemonium-cache + with: + cache-name: ${{ matrix.cache-name }} + continue-on-error: true + + - name: Setup python and scons + uses: ./.github/actions/pandemonium-deps + + - name: Compilation + uses: ./.github/actions/pandemonium-build + with: + sconsflags: ${{ env.SCONSFLAGS }} + platform: windows + target: ${{ matrix.target }} + tools: ${{ matrix.tools }} + + - name: Prepare artifact + run: | + Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force + + - name: Upload artifact + uses: ./.github/actions/upload-artifact + with: + name: ${{ matrix.cache-name }}