forked from cleolibrary/CLEO4
-
Notifications
You must be signed in to change notification settings - Fork 6
138 lines (117 loc) · 5.18 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
136
137
138
name: CLEO 5 Release Build
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+**'
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Read Version Tag
id: read_version
run: node.exe .github/workflows/version.js
- name: Build Projects
shell: cmd
run: |
set PLUGIN_SDK_DIR=%GITHUB_WORKSPACE%\third-party\plugin-sdk
msbuild -m CLEO5.sln /property:Configuration=Release /property:Platform=GTASA
msbuild -m cleo_plugins/CLEO_Plugins.sln /property:Configuration=Release /property:Platform=x86
- name: Sign code
uses: x87/code-sign-action
with:
certificate: '${{ secrets.DIG_KEY_CERT }}'
password: '${{ secrets.DIG_KEY_PWD }}'
certificatename: 'CLEO 5'
description: 'CLEO 5'
timestampUrl: 'http://timestamp.digicert.com'
filename: './.output/Release/cleo.asi'
- name: Prepare Base Files
id: prepare_archive
shell: cmd
run: |
@REM create output directory
mkdir .output\Release\cleo
mkdir .output\Release\cleo\.config
mkdir .output\Release\cleo\cleo_modules
mkdir .output\Release\cleo\cleo_plugins
mkdir .output\Release\cleo\cleo_saves
mkdir .output\Release\cleo\cleo_text
mkdir .output\Release\cleo_readme
@REM copy files
copy source\cleo_config.ini .output\Release\cleo\.cleo_config.ini
copy cleo_plugins\.output\*.cleo .output\Release\cleo\cleo_plugins
copy cleo_plugins\.output\*.ini .output\Release\cleo\cleo_plugins
copy cleo_plugins\Audio\bass\bass.dll .output\Release\bass.dll
xcopy /E /I tests .output\Release\cleo
@REM copy SDK
copy .output\Release\CLEO.lib cleo_sdk\CLEO.lib
@REM download Sanny Builder Library json
curl https://raw.githubusercontent.com/sannybuilder/library/master/sa/sa.json -o .output\Release\cleo\.config\sa.json
- name: Convert Markdown to HTML
id: md_to_html
run: |
npm install showdown
node.exe .github/workflows/markdown.js
move README.html .output\Release\cleo_readme\README.html
move CHANGELOG.html .output\Release\cleo_readme\CHANGELOG.html
- name: Download ASI Loaders
id: download_asi_loaders
shell: cmd
run: |
xcopy /E /I .output\Release .output\Release_with_Silent_ASI_Loader
xcopy /E /I .output\Release .output\Release_with_Ultimate_ASI_Loader
@REM install Silent's ASI Loader
curl https://silent.rockstarvision.com/uploads/silents_asi_loader_13.zip -o silents_asi_loader_13.zip
powershell.exe -NoP -NonI -Command "Expand-Archive '.\silents_asi_loader_13.zip' '.\.output\Release_with_Silent_ASI_Loader'"
move .output\Release_with_Silent_ASI_Loader\ReadMe.txt ".output\Release_with_Silent_ASI_Loader\cleo_readme\ASI Loader Readme.txt"
rmdir /s /q .output\Release_with_Silent_ASI_Loader\advanced_plugin_management_example
rmdir /s /q .output\Release_with_Silent_ASI_Loader\scripts
@REM install Ultimate ASI Loader
curl https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases/download/Win32-latest/vorbisFile-Win32.zip -L -o ual.zip
powershell.exe -NoP -NonI -Command "Expand-Archive '.\ual.zip' '.\.output\Release_with_Ultimate_ASI_Loader'"
rm .\.output\Release_with_Ultimate_ASI_Loader\vorbisFile-Win32.SHA512
- name: Pack Base Archive
uses: ThirteenAG/zip-release@master
with:
path: ./.output/Release/*
type: "zip"
filename: SA.CLEO_${{ github.ref_name }}.zip
exclusions: "*.pdb *.lib *.exp"
- name: Pack Base + Silent's ASI Loader
uses: ThirteenAG/zip-release@master
with:
path: ./.output/Release_with_Silent_ASI_Loader/*
type: "zip"
filename: SA.CLEO_${{ github.ref_name }}+Silent_ASI_Loader.zip
exclusions: "*.pdb *.lib *.exp"
- name: Pack Base + UAL
uses: ThirteenAG/zip-release@master
with:
path: ./.output/Release_with_Ultimate_ASI_Loader/*
type: "zip"
filename: SA.CLEO_${{ github.ref_name }}+Ultimate_ASI_Loader.zip
exclusions: "*.pdb *.lib *.exp"
- name: CLEO SDK
uses: ThirteenAG/zip-release@master
with:
path: ./cleo_sdk/*
type: "zip"
filename: SA.CLEO_${{ github.ref_name }}_SDK.zip
exclusions: "*.pdb *.exp"
- name: Upload Release
uses: ncipollo/release-action@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: ${{ steps.read_version.outputs.version }}
bodyFile: 'changes.txt' # generated in read_version
tag: ${{ github.ref_name }}
prerelease: ${{ contains(github.ref_name, 'beta') || contains(github.ref_name, 'alpha') }}
artifacts: "SA.CLEO_*.zip"