diff --git a/.forgejo/workflows/build-3rdparty.yml b/.forgejo/workflows/build-3rdparty.yml new file mode 100644 index 000000000..cd2e1a70b --- /dev/null +++ b/.forgejo/workflows/build-3rdparty.yml @@ -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 }} diff --git a/.forgejo/workflows/build-w64-mingw32.yml b/.forgejo/workflows/build-w64-mingw32.yml new file mode 100644 index 000000000..56fed6d45 --- /dev/null +++ b/.forgejo/workflows/build-w64-mingw32.yml @@ -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 }}