-
Notifications
You must be signed in to change notification settings - Fork 0
147 lines (123 loc) · 4.62 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: Release
on:
release:
types:
- published
env:
BUILD_TYPE: release
jobs:
build-windows:
name: Build (Windows)
runs-on: windows-latest
steps:
- name: Check out git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Set version
run: node -e "const fs=require('fs');fs.writeFileSync('CMakeLists.txt',fs.readFileSync('CMakeLists.txt','utf-8').replace(/1\.0\.0/g,'${{ github.event.release.tag_name }}'.replace('refs/tags/','')))"
- name: Build x64
run: |
node patch
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.exe
tag: ${{ github.ref }}
asset_name: EIMHost-x64.exe
- name: Build x86
run: |
rm -r build
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A Win32 .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.exe
tag: ${{ github.ref }}
asset_name: EIMHost-x86.exe
build-macos:
name: Build (MacOS)
runs-on: macos-latest
steps:
- name: Check out git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Set version
run: node -e "const fs=require('fs');fs.writeFileSync('CMakeLists.txt',fs.readFileSync('CMakeLists.txt','utf-8').replace(/1\.0\.0/g,'${{ github.event.release.tag_name }}'.replace('refs/tags/','')))"
- name: Build
run: |
node patch
mkdir build
cd build
brew install ninja
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
cd EIMHost_artefacts/Release && zip -r -q EIMHost.zip EIMHost.app
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.zip
tag: ${{ github.ref }}
asset_name: EIMHost-MacOS-x68.zip
- name: Build apple silicon version
run: |
rm -r build
mkdir build
cd build
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64
cmake --build . --config Release
cd EIMHost_artefacts/Release && zip -r -q EIMHost.zip EIMHost.app
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.zip
tag: ${{ github.ref }}
asset_name: EIMHost-MacOS.zip
build-linux:
name: Build (Linux)
runs-on: ubuntu-latest
steps:
- name: Check out git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Set version
run: node -e "const fs=require('fs');fs.writeFileSync('CMakeLists.txt',fs.readFileSync('CMakeLists.txt','utf-8').replace(/1\.0\.0/g,'${{ github.event.release.tag_name }}'.replace('refs/tags/','')))"
- name: Build
run: |
mkdir build
cd build
sudo apt-get install ninja-build libasound2-dev ladspa-sdk libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost
tag: ${{ github.ref }}
asset_name: EIMHost-Linux