Update extended to latest CC build. #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build latest (Windows) | |
| # trigger via either push to selected branches or on manual run | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| - ModernLighting | |
| - AngledLighting | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.ref }}-windows | |
| cancel-in-progress: true | |
| jobs: | |
| #============================================ | |
| # ============== 32 BIT WINDOWS ============= | |
| # =========================================== | |
| build-32: | |
| timeout-minutes: 10 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install packages | |
| shell: bash | |
| run: | | |
| sudo apt-get -y install gcc-mingw-w64-i686 | |
| - name: Compile 32 bit Windows builds | |
| shell: bash | |
| id: compile | |
| env: | |
| LIBS: "-lwinmm -limagehlp" | |
| SRCS: "src/*.c third_party/bearssl/*.c" | |
| COMMON_FLAGS: "-O1 -s -fno-stack-protector -fno-math-errno -Qn" | |
| WIN32_FLAGS: "-mwindows -nostartfiles -Wl,-e_main_real -DCC_NOMAIN src/CCicon_32.res" | |
| run: | | |
| LATEST_FLAG=-DCC_COMMIT_SHA=\"$(git rev-parse --short "$GITHUB_SHA")\" | |
| cp misc/windows/CCicon_32.res src/CCicon_32.res | |
| i686-w64-mingw32-gcc ${{ env.SRCS }} ${{ env.COMMON_FLAGS }} ${{ env.WIN32_FLAGS }} -o cc-w32-d3d9.exe $LATEST_FLAG ${{ env.LIBS }} | |
| i686-w64-mingw32-gcc ${{ env.SRCS }} ${{ env.COMMON_FLAGS }} ${{ env.WIN32_FLAGS }} -o cc-w32-ogl.exe $LATEST_FLAG -DCC_GFX_BACKEND=CC_GFX_BACKEND_GL1 ${{ env.LIBS }} | |
| i686-w64-mingw32-gcc ${{ env.SRCS }} ${{ env.COMMON_FLAGS }} ${{ env.WIN32_FLAGS }} -o cc-w32-d3d11.exe $LATEST_FLAG -DCC_GFX_BACKEND=CC_GFX_BACKEND_D3D11 ${{ env.LIBS }} | |
| # mingw defaults to i686, but some really old CPUs only support i586 | |
| i686-w64-mingw32-gcc ${{ env.SRCS }} ${{ env.COMMON_FLAGS }} ${{ env.WIN32_FLAGS }} -march=i586 -o cc-w9x-ogl.exe $LATEST_FLAG -DCC_GFX_BACKEND=CC_GFX_BACKEND_GL1 -DCC_BUILD_NOSTDLIB ${{ env.LIBS }} | |
| - uses: ./.github/actions/upload_build | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| SOURCE_FILE: 'cc-w32-d3d9.exe' | |
| DEST_NAME: 'ClassiCube-Win32-Direct3D9.exe' | |
| - uses: ./.github/actions/upload_build | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| SOURCE_FILE: 'cc-w32-ogl.exe' | |
| DEST_NAME: 'ClassiCube-Win32-OpenGL.exe' | |
| - uses: ./.github/actions/upload_build | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| SOURCE_FILE: 'cc-w32-d3d11.exe' | |
| DEST_NAME: 'ClassiCube-Win32-Direct3D11.exe' | |
| - uses: ./.github/actions/upload_build | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| SOURCE_FILE: 'cc-w9x-ogl.exe' | |
| DEST_NAME: 'ClassiCube-Win9x.exe' | |
| - uses: ./.github/actions/notify_success | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| NOTIFY_MESSAGE: 'Successfully compiled 32 bit ClassiCube Windows builds.' | |
| WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' | |
| - uses: ./.github/actions/notify_failure | |
| if: failure() | |
| with: | |
| NOTIFY_MESSAGE: 'Failed to produce 32 bit Windows build' | |
| WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' | |
| #============================================ | |
| # ============== 64 BIT WINDOWS ============= | |
| # =========================================== | |
| build-64: | |
| timeout-minutes: 10 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install packages | |
| shell: bash | |
| run: | | |
| sudo apt-get -y install gcc-mingw-w64-x86-64 | |
| - name: Compile 64 bit Windows builds | |
| shell: bash | |
| id: compile | |
| env: | |
| LIBS: "-lwinmm -limagehlp" | |
| SRCS: "src/*.c third_party/bearssl/*.c" | |
| COMMON_FLAGS: "-O1 -s -fno-stack-protector -fno-math-errno -Qn" | |
| WIN64_FLAGS: "-mwindows -nostartfiles -Wl,-emain_real -DCC_NOMAIN src/CCicon_64.res" | |
| run: | | |
| LATEST_FLAG=-DCC_COMMIT_SHA=\"$(git rev-parse --short "$GITHUB_SHA")\" | |
| cp misc/windows/CCicon_64.res src/CCicon_64.res | |
| x86_64-w64-mingw32-gcc ${{ env.SRCS }} ${{ env.COMMON_FLAGS }} ${{ env.WIN64_FLAGS }} -o cc-w64-d3d9.exe $LATEST_FLAG ${{ env.LIBS }} | |
| x86_64-w64-mingw32-gcc ${{ env.SRCS }} ${{ env.COMMON_FLAGS }} ${{ env.WIN64_FLAGS }} -o cc-w64-ogl.exe $LATEST_FLAG -DCC_GFX_BACKEND=CC_GFX_BACKEND_GL1 ${{ env.LIBS }} | |
| x86_64-w64-mingw32-gcc ${{ env.SRCS }} ${{ env.COMMON_FLAGS }} ${{ env.WIN64_FLAGS }} -o cc-w64-d3d11.exe $LATEST_FLAG -DCC_GFX_BACKEND=CC_GFX_BACKEND_D3D11 ${{ env.LIBS }} | |
| - uses: ./.github/actions/upload_build | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| SOURCE_FILE: 'cc-w64-d3d9.exe' | |
| DEST_NAME: 'ClassiCube-Win64-Direct3D9.exe' | |
| - uses: ./.github/actions/upload_build | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| SOURCE_FILE: 'cc-w64-ogl.exe' | |
| DEST_NAME: 'ClassiCube-Win64-OpenGL.exe' | |
| - uses: ./.github/actions/upload_build | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| SOURCE_FILE: 'cc-w64-d3d11.exe' | |
| DEST_NAME: 'ClassiCube-Win64-Direct3D11.exe' | |
| - uses: ./.github/actions/notify_success | |
| if: ${{ always() && steps.compile.outcome == 'success' }} | |
| with: | |
| NOTIFY_MESSAGE: 'Successfully compiled 64 bit ClassiCube Windows builds.' | |
| WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' | |
| - uses: ./.github/actions/notify_failure | |
| if: failure() | |
| with: | |
| NOTIFY_MESSAGE: 'Failed to produce 64 bit Windows build' | |
| WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' |