summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-05-08 13:56:00 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-05-08 14:56:01 +0200
commitb8c311b41840f0c7c13b96ecc9faff02f9962165 (patch)
tree4ace1acd011484a40f0e70deed043ea4c13b97e3
parent6c1b03e1f5a8d29de5a91ca3c0896a2d83b72e43 (diff)
downloadmana-b8c311b41840f0c7c13b96ecc9faff02f9962165.tar.gz
mana-b8c311b41840f0c7c13b96ecc9faff02f9962165.tar.bz2
mana-b8c311b41840f0c7c13b96ecc9faff02f9962165.tar.xz
mana-b8c311b41840f0c7c13b96ecc9faff02f9962165.zip
CI: Added GitHub Actions MSYS2 build
Similar to the AppVeyor build, but thanks to caching and faster compilation this build arrives about 4 times faster. This also fixes the snap build, which now has to check out the enet submodule.
-rw-r--r--.github/workflows/packages.yml63
-rw-r--r--.github/workflows/snap.yml18
2 files changed, 63 insertions, 18 deletions
diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml
new file mode 100644
index 00000000..779491ae
--- /dev/null
+++ b/.github/workflows/packages.yml
@@ -0,0 +1,63 @@
+name: Packages
+on: [push, pull_request]
+
+jobs:
+ msys2-ucrt64:
+ runs-on: windows-latest
+ defaults:
+ run:
+ shell: msys2 {0}
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: true
+
+ - uses: msys2/setup-msys2@v2
+ with:
+ msystem: UCRT64
+ update: true
+ install: >
+ git
+ mingw-w64-ucrt-x86_64-gcc
+ mingw-w64-ucrt-x86_64-cmake
+ mingw-w64-ucrt-x86_64-physfs
+ mingw-w64-ucrt-x86_64-curl-winssl
+ mingw-w64-ucrt-x86_64-SDL2_image
+ mingw-w64-ucrt-x86_64-SDL2_mixer
+ mingw-w64-ucrt-x86_64-SDL2_net
+ mingw-w64-ucrt-x86_64-SDL2_ttf
+ mingw-w64-ucrt-x86_64-libxml2
+ mingw-w64-ucrt-x86_64-nsis
+
+ - name: CI-Build
+ run: |
+ cmake -B build . -DUSE_SYSTEM_GUICHAN=OFF -DCMAKE_BUILD_TYPE=Release
+ cmake --build build
+ pushd build
+ cpack
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: Mana installer for Windows (64-bit)
+ path: build/Mana-*-win64.exe
+
+ snap:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: true
+
+ - uses: snapcore/action-build@v1
+ id: snapcraft
+
+ - uses: actions/upload-artifact@v4
+ if: ${{ failure() }}
+ with:
+ name: snapcraft.log
+ path: '/home/runner/.local/state/snapcraft/log/*.log'
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: mana_amd64.snap
+ path: ${{ steps.snapcraft.outputs.snap }}
diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml
deleted file mode 100644
index 8ce2750b..00000000
--- a/.github/workflows/snap.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-on: push
-
-jobs:
- snap:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: snapcore/action-build@v1
- id: snapcraft
- - uses: actions/upload-artifact@v4
- if: always()
- with:
- name: snapcraft.log
- path: '/home/runner/.local/state/snapcraft/log/*.log'
- - uses: actions/upload-artifact@v4
- with:
- name: mana_amd64.snap
- path: ${{ steps.snapcraft.outputs.snap }}