-
Notifications
You must be signed in to change notification settings - Fork 3
135 lines (107 loc) · 3.31 KB
/
main.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
name: Build release
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build-manual:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Nim
uses: iffy/install-nim@v5
with:
version: binary:2.0.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Sass
run: |
npm install -g sass
sass --version
- name: Install Sphinx
run: |
pip install sphinx
sphinx-build --version
- name: Inject version string
run: |
set -x
VERSION=$(./scripts/get-version.sh version-and-hash)
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Build manual
run: |
nim manual
build-release-mac:
runs-on: macOS-12
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Nim
uses: iffy/install-nim@v5
with:
version: binary:2.0.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Nim dependencies
run: nimble -y install koi osdialog riff semver winim with
- name: Inject version string
run: |
set -x
VERSION=$(./scripts/get-version.sh version-and-hash)
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: macOS arm64 release build
run: nim -f releaseMacX64
- name: macOS x86-64 release build
run: nim -f releaseMacArm64
- name: Create macOS universal binary
run: nim mergeMacUniversal
- name: Create macOS app bundle
run: nim packageMac
- name: Upload release artifact
uses: actions/upload-artifact@v4
with:
name: gridmonger-v${{ env.VERSION }}-macos
path: dist/macos/gridmonger-v${{ env.VERSION }}-macos.zip
build-release-windows:
runs-on: windows-2019
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Nim
uses: iffy/install-nim@v5
with:
version: binary:2.0.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Nim dependencies
run: nimble -y install koi osdialog riff semver winim with
# TODO
# - name: Inject version string
# run: |
# set -x
# VERSION=$(./scripts/get-version.sh version-and-hash)
# echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Windows 32-bit build
run: |
nim -f --cpu:i386 release
nim --cpu:i386 packageWinInstaller
nim --cpu:i386 packageWinPortable
nim --cpu:i386 publishPackageWin
- name: macOS 64-bit build
run: |
nim clean
nim -f release
nim packageWinInstaller
nim packageWinPortable
nim publishPackageWin
- name: Upload release artifact
uses: actions/upload-artifact@v4
with:
name: gridmonger-v${{ env.VERSION }}-win32
path: dist/windows/gridmonger-v${{ env.VERSION }}-win32.zip
- name: Upload release artifact
uses: actions/upload-artifact@v4
with:
name: gridmonger-v${{ env.VERSION }}-macos
path: dist/windows/gridmonger-v${{ env.VERSION }}-macos.zip