Updated setup-msbuild to v2 #96
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-2019 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: "recursive" | ||
- 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: Build CLEO core | ||
shell: cmd | ||
run: | | ||
set PLUGIN_SDK_DIR=%GITHUB_WORKSPACE%\third-party\plugin-sdk | ||
msbuild -m CLEO5.sln /property:Configuration=Release /property:Platform=GTASA | ||
- name: Build CLEO plugins | ||
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 | ||
- 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: 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" |