Skip to content

Commit 3d02335

Browse files
committed
Add macOS release workflow, change triggers back to normal.
1 parent bf0201e commit 3d02335

File tree

4 files changed

+133
-7
lines changed

4 files changed

+133
-7
lines changed

.github/workflows/buildcheck.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
# The resulting binaries are not considered for public use though.
44
name: Build Check
55

6-
#on: [ push, pull_request ]
7-
on: workflow_dispatch
6+
on: [ push, pull_request ]
87

98
jobs:
109
build-linux:

.github/workflows/release-linux.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# while POCO will be linked statically.
55
name: Build Release Package for Linux
66

7-
on: push
7+
on: workflow_dispatch
88

99
jobs:
1010
build-deb:
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# Release workflow for macOS
2+
# Builds a universal binary on macOS.
3+
name: Build Release Package for macOS
4+
5+
on: workflow_dispatch
6+
7+
jobs:
8+
build-deb:
9+
name: ProductBuild Installer, macOS x86_64+arm64
10+
runs-on: macos-latest
11+
12+
steps:
13+
14+
# We need to build third-party libraries (POCO, SDL2 and projectM) ourselves, as neither Homebrew
15+
# nor vcpkg support building universal binaries.
16+
- name: Checkout libSDL2 Sources
17+
uses: actions/checkout@v4
18+
with:
19+
repository: libsdl-org/SDL
20+
path: libsdl2
21+
ref: 'release-2.32.10'
22+
submodules: recursive
23+
24+
- name: Build libSDL2
25+
run: |
26+
mkdir cmake-build-libsdl2
27+
cmake -G Ninja -S libsdl2 -B cmake-build-libsdl2 \
28+
'-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64' \
29+
-DBUILD_SHARED_LIBS=ON \
30+
-DCMAKE_BUILD_TYPE=Release \
31+
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install-libsdl2
32+
cmake --build cmake-build-libsdl2 --parallel
33+
cmake --install "${{ github.workspace }}/cmake-build-libsdl2"
34+
35+
- name: Checkout Poco Sources
36+
uses: actions/checkout@v4
37+
with:
38+
repository: pocoproject/poco
39+
path: poco
40+
ref: 'poco-1.14.1'
41+
submodules: recursive
42+
43+
- name: Build Poco
44+
run: |
45+
mkdir cmake-build-poco
46+
cmake -G Ninja -S poco -B cmake-build-poco \
47+
'-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64' \
48+
-DBUILD_SHARED_LIBS=ON \
49+
-DCMAKE_BUILD_TYPE=Release \
50+
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install-poco \
51+
-DENABLE_CRYPTO=OFF \
52+
-DENABLE_NET=OFF \
53+
-DENABLE_NETSSL=OFF \
54+
-DENABLE_ZIP=OFF \
55+
-DENABLE_MONGODB=OFF \
56+
-DENABLE_REDIS=OFF \
57+
-DENABLE_PAGECOMPILER=OFF \
58+
-DENABLE_PAGECOMPILER_FILE2PAGE=OFF \
59+
-DENABLE_ACTIVERECORD=OFF \
60+
-DENABLE_ACTIVERECORD_COMPILER=OFF \
61+
-DENABLE_DATA_ODBC=OFF \
62+
-DENABLE_DATA_POSTGRESQL=OFF \
63+
-DENABLE_DATA_MYSQL=OFF \
64+
-DENABLE_JWT=OFF \
65+
-DENABLE_PROMETHEUS=OFF
66+
cmake --build cmake-build-poco --parallel
67+
cmake --install "${{ github.workspace }}/cmake-build-poco"
68+
69+
- name: Checkout libprojectM Sources
70+
uses: actions/checkout@v4
71+
with:
72+
repository: projectM-visualizer/projectm
73+
path: projectm
74+
submodules: recursive
75+
76+
- name: Build/Install libprojectM
77+
run: |
78+
mkdir cmake-build-libprojectm
79+
cmake -G Ninja -S projectm -B cmake-build-libprojectm \
80+
'-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64' \
81+
-DBUILD_SHARED_LIBS=OFF \
82+
-DCMAKE_BUILD_TYPE=Release \
83+
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install-libprojectm
84+
cmake --build cmake-build-libprojectm --parallel
85+
cmake --install "${{ github.workspace }}/cmake-build-libprojectm"
86+
87+
- name: Checkout projectMSDL Sources
88+
uses: actions/checkout@v4
89+
with:
90+
path: frontend-sdl2
91+
submodules: recursive
92+
93+
- name: Checkout Cream of the Crop preset pack
94+
uses: actions/checkout@v4
95+
with:
96+
repository: projectM-visualizer/presets-cream-of-the-crop
97+
path: presets-cream-of-the-crop
98+
99+
- name: Checkout Milkdrop Texture Pack
100+
uses: actions/checkout@v4
101+
with:
102+
repository: projectM-visualizer/presets-milkdrop-texture-pack
103+
path: presets-milkdrop-texture-pack
104+
105+
- name: Build projectMSDL
106+
run: |
107+
mkdir cmake-build-frontend-sdl2
108+
cmake -G Ninja -S frontend-sdl2 -B cmake-build-frontend-sdl2 \
109+
'-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64' \
110+
-DCMAKE_BUILD_TYPE=Release \
111+
-DENABLE_FREETYPE=OFF \
112+
"-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install-libprojectm;${GITHUB_WORKSPACE}/install-poco;${GITHUB_WORKSPACE}/install-libsdl2" \
113+
"-DPRESET_DIRS=${{ github.workspace }}/presets-cream-of-the-crop" \
114+
"-DTEXTURE_DIRS=${{ github.workspace }}/presets-milkdrop-texture-pack/textures" \
115+
'-DDEFAULT_CONFIG_PATH=${application.dir}/../share/projectMSDL/' \
116+
'-DDEFAULT_PRESETS_PATH=${application.dir}/../share/projectMSDL/presets/' \
117+
'-DDEFAULT_TEXTURES_PATH=${application.dir}/../share/projectMSDL/textures/'
118+
cmake --build cmake-build-frontend-sdl2 --parallel
119+
120+
- name: Package projectMSDL
121+
run: |
122+
cd cmake-build-frontend-sdl2
123+
cpack -G productbuild
124+
125+
- name: Upload Artifact
126+
uses: actions/upload-artifact@v4
127+
with:
128+
name: projectMSDL-macOS-Universal
129+
path: cmake-build-frontend-sdl2/*.pkg

.github/workflows/release-windows.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# including projectM.
44
name: Build Release Package for Windows
55

6-
on: push
6+
on: workflow_dispatch
77

88
jobs:
99
build:
@@ -78,12 +78,10 @@ jobs:
7878
run: |
7979
cd cmake-build-frontend-sdl2
8080
cpack -G ZIP
81-
cpack -G WIX
8281
8382
- name: Upload Artifact
8483
uses: actions/upload-artifact@v4
8584
with:
86-
name: projectMSDL-Windows-Portable-x32
85+
name: projectMSDL-Windows-Portable-x64
8786
path: |
8887
cmake-build-frontend-sdl2/*.zip
89-
cmake-build-frontend-sdl2/*.msi

0 commit comments

Comments
 (0)