Work flow updated #102
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CLEO 5 Release Build | ||
on: | ||
push: | ||
tags: | ||
- 'v[0-9]+.[0-9]+.[0-9]+**' | ||
jobs: | ||
build: | ||
runs-on: windows-2022 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: "recursive" | ||
- name: Select Windows SDK | ||
uses: GuillaumeFalourd/setup-windows10-sdk-action@v2 | ||
with: | ||
sdk-version: 22000 | ||
- name: Add msbuild to PATH | ||
uses: microsoft/setup-msbuild@v2 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: lts/* | ||
- name: Read Version Tag | ||
id: read_version | ||
run: node.exe .github/workflows/version.js | ||
- name: Core - Build | ||
shell: cmd | ||
run: | | ||
set PLUGIN_SDK_DIR=%GITHUB_WORKSPACE%\third-party\plugin-sdk | ||
msbuild -m CLEO5.sln /property:Configuration=Release /property:Platform=GTASA | ||
- name: Core - Sign | ||
uses: x87/code-sign-action@develop | ||
with: | ||
certificate: '${{ secrets.DIG_KEY_CERT }}' | ||
password: '${{ secrets.DIG_KEY_PWD }}' | ||
certificatename: 'Seemann' | ||
description: 'CLEO 5' | ||
timestampUrl: 'http://timestamp.digicert.com' | ||
filename: './.output/Release/cleo.asi' | ||
- name: Core - VirusTotal Scan | ||
uses: crazy-max/ghaction-virustotal@v4 | ||
with: | ||
vt_api_key: ${{ secrets.VT_KEY }} | ||
files: | | ||
./.output/Release/CLEO.asi | ||
- name: Plugins - Build | ||
shell: cmd | ||
run: | | ||
set PLUGIN_SDK_DIR=%GITHUB_WORKSPACE%\third-party\plugin-sdk | ||
msbuild -m cleo_plugins/CLEO_Plugins.sln /property:Configuration=Release /property:Platform=x86 | ||
msbuild -m cleo_plugins/CLEO_Plugins.sln /property:Configuration=Release /property:Platform=x86 | ||
- name: Plugins - Sign | ||
uses: x87/code-sign-action@develop | ||
with: | ||
certificate: '${{ secrets.DIG_KEY_CERT }}' | ||
password: '${{ secrets.DIG_KEY_PWD }}' | ||
certificatename: 'Seemann' | ||
description: 'CLEO 5' | ||
timestampUrl: 'http://timestamp.digicert.com' | ||
folder: './cleo_plugins/.output', | ||
recursive: true | ||
- name: Plugins - VirusTotal Scan | ||
uses: crazy-max/ghaction-virustotal@v4 | ||
with: | ||
vt_api_key: ${{ secrets.VT_KEY }} | ||
files: | | ||
./cleo_plugins/.output/*.cleo | ||
- name: Gather Output 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" |