chore: run generate script in ci

This commit is contained in:
Jan 2025-01-13 00:07:05 +01:00
parent 6e6bfca38c
commit d1d4752114
No known key found for this signature in database
GPG Key ID: 44B581F78FF5C57C
4 changed files with 35 additions and 45 deletions

View File

@ -8,20 +8,15 @@ on:
branches: branches:
- "main" - "main"
env:
PREMAKE_VERSION: "5.0.0-beta4"
jobs: jobs:
build-test-linux: build-test-linux:
env:
PREMAKE_CONFIG: gmake2
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: ubuntu:24.04 container: ubuntu:24.04
steps: steps:
- name: Install g++ and multilib - name: Install g++ and multilib
run: | run: |
apt-get update apt-get update
apt-get install -y git make gcc-13 g++-13 gcc-13-multilib g++-13-multilib apt-get install -y wget tar git make gcc-13 g++-13 gcc-13-multilib g++-13-multilib
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13 update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13
update-alternatives --set gcc /usr/bin/gcc-13 update-alternatives --set gcc /usr/bin/gcc-13
@ -32,14 +27,11 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup premake
uses: abel0b/setup-premake@v2.4
with:
version: ${{ env.PREMAKE_VERSION }}
- name: Premake generate - name: Premake generate
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: premake5 ${{ env.PREMAKE_CONFIG }} env:
OAT_CI_NO_PROMPT: 1
run: ./generate.sh
- name: Build - name: Build
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
@ -56,8 +48,6 @@ jobs:
./ZoneCommonTests ./ZoneCommonTests
build-test-windows: build-test-windows:
env:
PREMAKE_CONFIG: vs2022
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
@ -68,14 +58,11 @@ jobs:
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2.0.0 uses: microsoft/setup-msbuild@v2.0.0
- name: Setup premake
uses: abel0b/setup-premake@v2.4
with:
version: ${{ env.PREMAKE_VERSION }}
- name: Premake generate - name: Premake generate
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: premake5 ${{ env.PREMAKE_CONFIG }} env:
OAT_CI_NO_PROMPT: 1
run: ./generate.bat
- name: Build - name: Build
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}

View File

@ -5,20 +5,15 @@ on:
tags: tags:
- "v*.*.*" - "v*.*.*"
env:
PREMAKE_VERSION: "5.0.0-beta4"
jobs: jobs:
build-release-linux: build-release-linux:
env:
PREMAKE_CONFIG: gmake2
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: ubuntu:24.04 container: ubuntu:24.04
steps: steps:
- name: Install g++ and multilib - name: Install g++ and multilib
run: | run: |
apt-get update apt-get update
apt-get install -y git make gcc-13 g++-13 gcc-13-multilib g++-13-multilib apt-get install -y wget tar git make gcc-13 g++-13 gcc-13-multilib g++-13-multilib
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13 update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13
update-alternatives --set gcc /usr/bin/gcc-13 update-alternatives --set gcc /usr/bin/gcc-13
@ -29,14 +24,11 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Setup premake
uses: abel0b/setup-premake@v2.4
with:
version: ${{ env.PREMAKE_VERSION }}
- name: Premake generate - name: Premake generate
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: premake5 ${{ env.PREMAKE_CONFIG }} env:
OAT_CI_NO_PROMPT: 1
run: ./generate.sh
- name: Build - name: Build
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
@ -50,8 +42,6 @@ jobs:
${{ github.workspace }}/build/bin/Release_x86 ${{ github.workspace }}/build/bin/Release_x86
build-release-windows: build-release-windows:
env:
PREMAKE_CONFIG: vs2022
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
@ -62,14 +52,11 @@ jobs:
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2.0.0 uses: microsoft/setup-msbuild@v2.0.0
- name: Setup premake
uses: abel0b/setup-premake@v2.4
with:
version: ${{ env.PREMAKE_VERSION }}
- name: Premake generate - name: Premake generate
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: premake5 ${{ env.PREMAKE_CONFIG }} env:
OAT_CI_NO_PROMPT: 1
run: ./generate.bat
- name: Build - name: Build
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}

View File

@ -9,13 +9,22 @@ goto start
if not exist "build" mkdir "build" if not exist "build" mkdir "build"
powershell -Command "Invoke-WebRequest %PREMAKE_URL% -OutFile build/premake.zip" where /q "pwsh"
IF %ERRORLEVEL% EQU 0 (
set POWERSHELL_BIN="pwsh"
) else (
set POWERSHELL_BIN="powershell"
)
echo Downloading...
%POWERSHELL_BIN% -Command "Invoke-WebRequest %PREMAKE_URL% -OutFile build/premake.zip"
IF %ERRORLEVEL% NEQ 0 ( IF %ERRORLEVEL% NEQ 0 (
echo Download failed >&2 echo Download failed >&2
exit 2 exit 2
) )
powershell -Command "Expand-Archive -LiteralPath build/premake.zip -DestinationPath build" echo Extracting...
%POWERSHELL_BIN% -Command "Expand-Archive -LiteralPath build/premake.zip -DestinationPath build"
IF %ERRORLEVEL% NEQ 0 ( IF %ERRORLEVEL% NEQ 0 (
echo Extraction failed >&2 echo Extraction failed >&2
exit 2 exit 2
@ -23,7 +32,8 @@ IF %ERRORLEVEL% NEQ 0 (
rm build/premake.zip rm build/premake.zip
powershell -Command "if ((Get-FileHash -LiteralPath build/premake5.exe -Algorithm SHA256).Hash -eq \"%PREMAKE_HASH%\") { exit 0 } else { exit 1 }" echo Verifying hash...
%POWERSHELL_BIN% -Command "if ((Get-FileHash -LiteralPath build/premake5.exe -Algorithm SHA256).Hash -eq \"%PREMAKE_HASH%\") { exit 0 } else { exit 1 }"
IF %ERRORLEVEL% NEQ 0 ( IF %ERRORLEVEL% NEQ 0 (
echo Hash verification failed >&2 echo Hash verification failed >&2
rm build/premake5.exe rm build/premake5.exe
@ -46,9 +56,15 @@ IF EXIST build/premake5.exe (
goto runpremake goto runpremake
) )
if "%OAT_CI_NO_PROMPT%" NEQ "" (
call:downloadpremake
set PREMAKE_BIN="build/premake5.exe"
goto runpremake
)
echo Could not find premake5. You can either install it yourself or this script download it for you. echo Could not find premake5. You can either install it yourself or this script download it for you.
set /p choice="Do you wish to download it automatically? [y/N]> " set /p choice="Do you wish to download it automatically? [y/N]> "
if /i "%choice%"=="y" ( if /i "%choice%" == "y" (
call:downloadpremake call:downloadpremake
set PREMAKE_BIN="build/premake5.exe" set PREMAKE_BIN="build/premake5.exe"
goto runpremake goto runpremake

View File

@ -57,7 +57,7 @@ elif [[ -x "$(command -v build/premake5)" ]]; then
PREMAKE_BIN='build/premake5' PREMAKE_BIN='build/premake5'
else else
echo "Could not find premake5. You can either install it yourself or this script download it for you." echo "Could not find premake5. You can either install it yourself or this script download it for you."
if [[ "$(read -e -p 'Do you wish to download it automatically? [y/N]> '; echo $REPLY)" == [Yy]* ]]; then if [[ ! -z "$OAT_CI_NO_PROMPT" ]] || [[ "$(read -e -p 'Do you wish to download it automatically? [y/N]> '; echo $REPLY)" == [Yy]* ]]; then
echo "Installing premake" echo "Installing premake"
install_premake install_premake
PREMAKE_BIN='build/premake5' PREMAKE_BIN='build/premake5'