Introduce w64-mingw32 workflows
All checks were successful
/ build (pull_request) Successful in 18m20s
All checks were successful
/ build (pull_request) Successful in 18m20s
- build-3rdparty.yml cross-builds all third-party dependencies for Windows. This workflow is meant to be run only sparingly, since it fetches source code from many repositories and takes a long time to build. - build-w64-mingw32.yml cross-builds the game engine and tools for Windows. It requires a pre-existing build of the third-party libraries.
This commit is contained in:
parent
44429fab1f
commit
b4662b65b9
2 changed files with 71 additions and 0 deletions
34
.forgejo/workflows/build-3rdparty.yml
Normal file
34
.forgejo/workflows/build-3rdparty.yml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '/packaging/3rdParty-devel/**'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: docker
|
||||||
|
container:
|
||||||
|
image: forge.a-lec.org/speed-dreams/debian-i686-w64-mingw32:stable
|
||||||
|
steps:
|
||||||
|
- name: Clone repository
|
||||||
|
run: |
|
||||||
|
git clone -q \
|
||||||
|
-b ${{ env.GITHUB_HEAD_REF }} \
|
||||||
|
${{ env.GITHUB_SERVER_URL }}/${{ env.GITHUB_REPOSITORY }}.git \
|
||||||
|
/src
|
||||||
|
- name: Configure third-party libraries
|
||||||
|
run: cmake -B build -DCMAKE_TOOLCHAIN_FILE=i686-w64-mingw32.cmake
|
||||||
|
working-directory: /src/packaging/3rdParty-devel
|
||||||
|
- name: Build third-party libraries
|
||||||
|
run: cmake --build build -j$(nproc --all)
|
||||||
|
working-directory: /src/packaging/3rdParty-devel
|
||||||
|
- name: Archive third-party libraries
|
||||||
|
run: tar -czf 3rdparty-${{ env.GITHUB_SHA }}.tar.gz 3rdParty/
|
||||||
|
working-directory: /src/packaging/3rdParty-devel/build
|
||||||
|
- name: Upload third-party libraries
|
||||||
|
run: upload-artifact 3rdparty-${{ env.GITHUB_SHA }}.tar.gz
|
||||||
|
working-directory: /src/packaging/3rdParty-devel/build
|
||||||
|
env:
|
||||||
|
URL: ${{ vars.STORE_URL }}
|
||||||
|
USERNAME: ${{ secrets.STORE_USERNAME }}
|
||||||
|
PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
37
.forgejo/workflows/build-w64-mingw32.yml
Normal file
37
.forgejo/workflows/build-w64-mingw32.yml
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
on: [pull_request]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: docker
|
||||||
|
container:
|
||||||
|
image: forge.a-lec.org/speed-dreams/debian-i686-w64-mingw32:stable
|
||||||
|
steps:
|
||||||
|
- name: Download third-party libraries
|
||||||
|
run: curl -so 3rdparty.tar.gz ${{ vars.THIRDPARTY_URL }}
|
||||||
|
- name: Untar third-party libraries
|
||||||
|
run: tar -xf 3rdparty.tar.gz
|
||||||
|
- name: Clone repository
|
||||||
|
run: |
|
||||||
|
git clone -q \
|
||||||
|
-b ${{ env.GITHUB_HEAD_REF }} \
|
||||||
|
${{ env.GITHUB_SERVER_URL }}/${{ env.GITHUB_REPOSITORY }}.git \
|
||||||
|
src
|
||||||
|
- name: Configure project
|
||||||
|
run: |
|
||||||
|
cmake -B build \
|
||||||
|
-DSD_ASSUME_DATADIR=1 \
|
||||||
|
-DCMAKE_FIND_ROOT_PATH=${{ env.GITHUB_WORKSPACE }}/3rdParty \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=packaging/3rdParty-devel/i686-w64-mingw32.cmake
|
||||||
|
working-directory: src
|
||||||
|
- name: Build project
|
||||||
|
run: cmake --build build -j$(nproc --all)
|
||||||
|
working-directory: src
|
||||||
|
- name: Build installer
|
||||||
|
run: cpack -G NSIS
|
||||||
|
working-directory: src/build
|
||||||
|
- name: Upload installer
|
||||||
|
run: upload-artifact *.exe
|
||||||
|
working-directory: src/build
|
||||||
|
env:
|
||||||
|
URL: ${{ vars.STORE_URL }}
|
||||||
|
USERNAME: ${{ secrets.STORE_USERNAME }}
|
||||||
|
PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
Loading…
Reference in a new issue