forked from ezEngine/ezEngine
-
Notifications
You must be signed in to change notification settings - Fork 0
109 lines (92 loc) · 3.48 KB
/
build-release-package.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
name: Build Release Package
on:
workflow_dispatch:
inputs:
full-binaries-artifact:
description: 'Create full binaries artifact'
required: true
default: 'false'
release-artifact:
description: 'Create release artifact'
required: true
default: 'true'
transform-projects:
description: 'Transform Projects'
required: true
default: 'true'
compile-shaders:
description: 'Compile Shaders'
required: true
default: 'true'
jobs:
build:
runs-on: windows-2022
steps:
- name: Checkout ezEngine repository
uses: actions/checkout@v4
with:
path: repo
submodules: 'recursive'
- name: Read SDK Version
id: sdk-version
uses: juliangruber/read-file-action@v1
with:
path: repo/version.txt
- name: Echo SDK Version
run: echo "SDK Version is ${{ steps.sdk-version.outputs.content }}"
- name: Checkout template repository
uses: actions/checkout@v4
with:
repository: ezEngine/release-template
path: template_repo
token: ${{ secrets.API_TOKEN_GITHUB }}
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.0.2
- name: Run CMake
run: |
cmake.exe -S repo -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_SYSTEM_VERSION:STRING="10.0.18362.0" -DEZ_ENABLE_QT_SUPPORT:BOOL=ON -DEZ_BUILD_UNITTESTS:BOOL=OFF -DEZ_SOLUTION_NAME:string="solution"
- name: Build Full Solution
run: msbuild build/solution.sln /p:Configuration=Dev
- name: Artifact - Full Binaries
if: github.event.inputs.full-binaries-artifact == 'true'
uses: actions/upload-artifact@v2
with:
name: full-binaries
path: repo\Output\Bin\WinVs2022Dev64
retention-days: 3
- name: Compile Shaders
if: github.event.inputs.compile-shaders == 'true'
run: |
repo\Output\Bin\WinVs2022Dev64\ShaderCompiler.exe -project repo\Data\Base -shader "Shaders" -IgnoreErrors
- name: Transform All Projects
if: github.event.inputs.transform-projects == 'true'
shell: pwsh
run: repo\Utilities\Scripts\transform-all-projects.ps1
- name: Remove Unwanted Files
run: |
Get-ChildItem * -Include *.pdb -Recurse | Remove-Item
Get-ChildItem repo\Data\Samples\* -Include Build -Recurse | Remove-Item -Recurse -Force
rm -r -fo repo\Data\Platform
rm -r -fo repo\Data\UnitTests
- name: Generate Package
run: |
mkdir _package
mkdir _package\Output
mkdir _package\Data
mkdir _package\Code
copy repo\version.txt _package
copy repo\ezCMakeConfig.cmake _package
xcopy repo\Output _package\Output /s
xcopy repo\Data _package\Data /s
xcopy repo\Code _package\Code /s
xcopy template_repo\package _package /s /y
- name: Create Zip Archive
run: |
repo\Data\Tools\Precompiled\7z.exe a ezEngine.Release.${{ steps.sdk-version.outputs.content }}.zip .\_package\* -mx9
- name: Artifact - Release Package
if: github.event.inputs.release-artifact == 'true'
uses: actions/upload-artifact@v2
with:
name: ezEngine.Release.${{ steps.sdk-version.outputs.content }}
path: ezEngine.Release.${{ steps.sdk-version.outputs.content }}.zip
retention-days: 3