-
Notifications
You must be signed in to change notification settings - Fork 0
178 lines (152 loc) · 5.33 KB
/
SegsNightlyRelease.yaml
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
name: segs-ci-nightly
on:
push:
branches:
- develop
env:
BUILD_TYPE: Debug
QT_VERSION: "6.5.3"
QT_WIN_TARGET_ARCHITECTURE: "win64_msvc2019_64"
jobs:
tidy-up-releases: # Delete the currently nightly release.
runs-on: 'ubuntu-latest'
permissions:
contents: write
steps:
- name: Delete Current Nightly Release
run: gh release delete nightly
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-windows:
needs: tidy-up-releases
runs-on: 'windows-latest'
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: Install Qt Windows
uses: jurplel/install-qt-action@v2.14.0
with:
host: windows
target: desktop
version: ${{ env.QT_VERSION }}
arch: ${{ env.QT_WIN_TARGET_ARCHITECTURE }}
dir: "${{ github.workspace }}/qt"
install-deps: "true"
- name: Configure CMake Windows
env:
CMAKE_PREFIX_PATH: ${{ env.Qt6_Dir }}
run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
- name: Build Windows
run: cmake --build ${{ github.workspace }}/build --config ${{ env.BUILD_TYPE }}
- name: Get OpenSSL Libraries # Download OpenSSL 1.1.1 and extract required dlls, copy to out directory for SEGSAdmin.
continue-on-error: true # Robocopy uses an exit code 1 on successful copy which causes the step to fail. Allowing this step to continue even if reported as failure.
run: |
mkdir ${{ github.workspace }}\build\openssl
curl -o ${{ github.workspace }}\build\openssl\openssl.zip https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1n.zip
tar -xf ${{ github.workspace }}\build\openssl\openssl.zip -C ${{ github.workspace }}\build\openssl
robocopy ${{ github.workspace }}\build\openssl\openssl-1.1\x64\bin\ ${{ github.workspace }}\build\out *.dll
- name: Create Windows Archive
uses: thedoctor0/zip-release@main
with:
type: 'zip'
directory: ${{ github.workspace }}/build/out
filename: 'windows-release-x64.zip'
exclusions: '*.git*'
- name: Deploy Windows Release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: "true"
tag: "nightly"
artifacts: ${{ github.workspace }}/build/out/windows-release-x64.zip
commit: ${{ github.sha }}
prerelease: "true"
name: "Nightly Development Release"
body: |
Commit reference: ${{ github.sha }}
Built on branch: ${{ github.ref_name }}
build-linux:
needs: tidy-up-releases
runs-on: 'ubuntu-24.04'
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: Install Qt Linux
uses: jurplel/install-qt-action@v4
with:
host: linux
target: desktop
version: ${{ env.QT_VERSION }}
dir: "${{ github.workspace }}/qt"
install-deps: "true"
- name: Configure CMake Linux
env:
CMAKE_PREFIX_PATH: ${{ env.Qt6_Dir }}
CXX: "/usr/bin/g++-13"
CC: "/usr/bin/gcc-13"
run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
- name: Build Linux
run: cmake --build ${{ github.workspace }}/build --config ${{ env.BUILD_TYPE }}
- name: Create Linux Archive
uses: thedoctor0/zip-release@main
with:
type: 'zip'
directory: ${{ github.workspace }}/build/out
filename: 'linux-release-x64.zip'
exclusions: '*.git*'
- name: Deploy Linux Release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: "true"
tag: "nightly"
artifacts: ${{ github.workspace }}/build/out/linux-release-x64.zip
commit: ${{ github.sha }}
prerelease: "true"
name: "Nightly Development Release"
body: |
Commit reference: ${{ github.sha }}
Built on branch: ${{ github.ref_name }}
build-macos:
needs: tidy-up-releases
runs-on: 'macos-latest'
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: Install Qt MacOS
uses: jurplel/install-qt-action@v2.14.0
with:
host: mac
target: desktop
version: ${{ env.QT_VERSION }}
dir: "${{ github.workspace }}/qt"
install-deps: "true"
- name: Configure CMake MacOS
env:
CMAKE_PREFIX_PATH: ${{ env.Qt6_Dir }}
run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
- name: Build MacOS
run: cmake --build ${{ github.workspace }}/build --config ${{ env.BUILD_TYPE }}
- name: Create MacOS Archive
uses: thedoctor0/zip-release@main
with:
type: 'zip'
directory: ${{ github.workspace }}/build/out
filename: 'macos-release-x64.zip'
exclusions: '*.git*'
- name: Deploy MacOS Release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: "true"
tag: "nightly"
artifacts: ${{ github.workspace }}/build/out/macos-release-x64.zip
commit: ${{ github.sha }}
prerelease: "true"
name: "Nightly Development Release"
body: |
Commit reference: ${{ github.sha }}
Built on branch: ${{ github.ref_name }}