From ac09dca9c7e0ee08454b67b938e05d940964c322 Mon Sep 17 00:00:00 2001 From: Alexander Pavlov Date: Sat, 16 Mar 2024 15:20:38 +0300 Subject: [PATCH] Add build XPLUS for riscv64, ppc64le, s390x to GitHub Action --- .github/workflows/cibuild.yml | 278 ++++++++++++++++++---------------- 1 file changed, 147 insertions(+), 131 deletions(-) diff --git a/.github/workflows/cibuild.yml b/.github/workflows/cibuild.yml index 3360102..530c4f1 100644 --- a/.github/workflows/cibuild.yml +++ b/.github/workflows/cibuild.yml @@ -6,9 +6,6 @@ on: pull_request: branches: [ "main" ] -env: - VULKAN_SDK: C:\VulkanSDK\ - jobs: build-alpine-x86: @@ -29,7 +26,7 @@ jobs: arch: ${{ matrix.Platform }} branch: 'latest-stable' packages: build-base cmake bison flex nasm xz sed sdl2-dev zlib-dev libogg-dev libvorbis-dev vulkan-loader vulkan-loader-dev vulkan-headers - + - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -39,7 +36,7 @@ jobs: - name: Show current date run: | echo "${{ steps.date.outputs.time }}" - + - name: Run Prepare shell: alpine.sh {0} run: | @@ -47,7 +44,7 @@ jobs: find . -name "CMakeLists.txt" -exec sed -i 's/-march=native/-mtune=generic/g' {} + mkdir x32 && mkdir x32/SamTFE && mkdir x32/SamTFE/Mods && mkdir x32/SamTFE/Mods/XPLUS mkdir x32/SamTSE && mkdir x32/SamTSE/Mods && mkdir x32/SamTSE/Mods/XPLUS - + - name: Run Build shell: alpine.sh {0} run: | @@ -75,12 +72,12 @@ jobs: cp -fr SamTSE/SE1_10b.gro x32/SamTSE cp -fr SamTSE/ModEXT.txt x32/SamTSE tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86-bin.tar.xz x32 - + - name: Upload artifact uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86-bin.tar.xz - path: SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86-bin.tar.xz + path: SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86-bin.tar.xz build-alpine-64: name: Alpine ${{ matrix.Configuration }} ${{ matrix.Platform }} @@ -118,8 +115,8 @@ jobs: find . -name "CMakeLists.txt" -exec sed -i 's/-march=native/-mtune=generic/g' {} + mkdir x64 && mkdir x64/SamTFE && mkdir x64/SamTFE/Mods && mkdir x64/SamTFE/Mods/XPLUS mkdir x64/SamTSE && mkdir x64/SamTSE/Mods && mkdir x64/SamTSE/Mods/XPLUS - - - name: Run Build + + - name: Run Build shell: alpine.sh {0} run: | cd ${{github.workspace}} @@ -129,7 +126,7 @@ jobs: make install mv -f ${{github.workspace}}/SamTFE/Bin ${{github.workspace}}/x64/SamTFE mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/x64/SamTSE - + - name: Run Build XPLUS shell: alpine.sh {0} run: | @@ -147,12 +144,12 @@ jobs: cp -fr SamTSE/SE1_10b.gro x64/SamTSE cp -fr SamTSE/ModEXT.txt x64/SamTSE tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86_64-bin.tar.xz x64 - + - name: Upload artifact uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86_64-bin.tar.xz - path: SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86_64-bin.tar.xz + path: SeriousSamClassic-${{ steps.date.outputs.time }}-alpine-x86_64-bin.tar.xz build-ubuntu-x64: name: Ubuntu ${{ matrix.Configuration }} ${{ matrix.Platform }} @@ -171,8 +168,8 @@ jobs: sudo apt-get update -qq sudo apt-get install -qq -y libsdl2-dev libogg-dev libvorbis-dev && sudo apt-get install -qq -y bison flex zlib1g-dev libxxhash-dev && - sudo apt-get install libvulkan1 libvulkan-dev vulkan-validationlayers vulkan-validationlayers-dev - + sudo apt-get install libvulkan1 libvulkan-dev vulkan-validationlayers vulkan-validationlayers-dev + - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -181,7 +178,7 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" + echo "${{ steps.date.outputs.time }}" - name: Prepare run: | cd ${{github.workspace}} @@ -196,7 +193,7 @@ jobs: make install mv -f ${{github.workspace}}/SamTFE/Bin ${{github.workspace}}/x64/SamTFE mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/x64/SamTSE - + - name: Run Build XPLUS run: | cd ${{github.workspace}} @@ -215,8 +212,8 @@ jobs: uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-amd64-bin.tar.xz - path: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-amd64-bin.tar.xz - + path: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-amd64-bin.tar.xz + build-windows-x86: name: Windows ${{ matrix.Configuration }} ${{ matrix.Platform }} runs-on: windows-2019 @@ -227,11 +224,11 @@ jobs: Platform: [Win32] steps: - uses: actions/checkout@v4 - + - uses: microsoft/setup-msbuild@v2 with: - vs-version: '14.0' - + vs-version: '14.0' + - name: Setup Vulkan run: | $ver = (Invoke-WebRequest -Uri "https://vulkan.lunarg.com/sdk/latest.json" | ConvertFrom-Json).windows @@ -240,7 +237,7 @@ jobs: Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/$ver/windows/VulkanSDK-$ver-Installer.exe" -OutFile VulkanSDK.exe echo Downloaded .\VulkanSDK.exe --root C:\VulkanSDK --accept-licenses --default-answer --confirm-command install com.lunarg.vulkan.32bit - + - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -249,7 +246,7 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" + echo "${{ steps.date.outputs.time }}" - name: MS Build SamTFE XPLUS working-directory: SamTFE\Sources run: | @@ -259,25 +256,25 @@ jobs: msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTFE.sln echo "*** Prepare directories ***" cd ${{github.workspace}} - mkdir x32 && mkdir x32\SamTFE && mkdir x32\SamTFE\Bin && mkdir x32\SamTFE\Mods\XPLUS && mkdir x32\SamTFE\Mods\XPLUS\Bin + mkdir x32 && mkdir x32\SamTFE && mkdir x32\SamTFE\Bin && mkdir x32\SamTFE\Mods\XPLUS && mkdir x32\SamTFE\Mods\XPLUS\Bin echo "*** Copy SamTFE XPLUS Libraries ***" - copy SamTFE\Bin\Entities.dll x32\SamTFE\Mods\XPLUS\Bin - copy SamTFE\Bin\Game.dll x32\SamTFE\Mods\XPLUS\Bin + copy SamTFE\Bin\Entities.dll x32\SamTFE\Mods\XPLUS\Bin + copy SamTFE\Bin\Game.dll x32\SamTFE\Mods\XPLUS\Bin del SamTFE\Bin\*.* - - - name: MS Build SamTFE + + - name: MS Build SamTFE working-directory: SamTFE\Sources run: | echo "*** Prepare sources and clean && build SamTFE ***" del Entities\PlayerWeapons.es - copy Entities\PlayerWeapons_old.es Entities\PlayerWeapons.es + copy Entities\PlayerWeapons_old.es Entities\PlayerWeapons.es msbuild /t:Clean /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTFE.sln msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTFE.sln echo "*** Copy SamTFE Libraries and Executables ***" - cd ${{github.workspace}} - del SamTFE\Bin\*.lib + cd ${{github.workspace}} + del SamTFE\Bin\*.lib del SamTFE\Bin\*.map - copy SamTFE\Bin\*.* x32\SamTFE\Bin + copy SamTFE\Bin\*.* x32\SamTFE\Bin - name: MS Build SamTSE XPLUS working-directory: SamTSE\Sources run: | @@ -289,11 +286,11 @@ jobs: cd ${{github.workspace}} mkdir x32\SamTSE && mkdir x32\SamTSE\Bin && mkdir x32\SamTSE\Mods && mkdir x32\SamTSE\Mods\XPLUS && mkdir x32\SamTSE\Mods\XPLUS\Bin echo "*** Copy SamTSE XPLUS Libraries ***" - copy SamTSE\Bin\EntitiesMP.dll x32\SamTSE\Mods\XPLUS\Bin - copy SamTSE\Bin\GameMP.dll x32\SamTSE\Mods\XPLUS\Bin + copy SamTSE\Bin\EntitiesMP.dll x32\SamTSE\Mods\XPLUS\Bin + copy SamTSE\Bin\GameMP.dll x32\SamTSE\Mods\XPLUS\Bin del SamTSE\Bin\*.* - - - name: MS Build SamTSE + + - name: MS Build SamTSE working-directory: SamTSE\Sources run: | echo "*** Prepare sources and clean && build SamTSE ***" @@ -302,23 +299,23 @@ jobs: msbuild /t:Clean /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTSE.sln msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTSE.sln echo "*** Copy SamSFE Libraries and Executables ***" - cd ${{github.workspace}} - del SamTSE\Bin\*.lib + cd ${{github.workspace}} + del SamTSE\Bin\*.lib del SamTSE\Bin\*.map - copy SamTSE\Bin\*.* x32\SamTSE\Bin + copy SamTSE\Bin\*.* x32\SamTSE\Bin echo "*** Copy Data files ***" copy SamTFE\SE1_10b.gro x32\SamTFE copy SamTFE\ModEXT.txt x32\SamTFE copy SamTSE\SE1_10b.gro x32\SamTSE - copy SamTSE\ModEXT.txt x32\SamTSE + copy SamTSE\ModEXT.txt x32\SamTSE echo "*** Create archive ***" 7z a -mx=9 SeriousSamClassic-${{ steps.date.outputs.time }}-win32-bin.7z x32 - name: Upload artifact uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-win32-bin.7z - path: SeriousSamClassic-${{ steps.date.outputs.time }}-win32-bin.7z - + path: SeriousSamClassic-${{ steps.date.outputs.time }}-win32-bin.7z + build-windows-x64: name: Windows ${{ matrix.Configuration }} ${{ matrix.Platform }} runs-on: windows-2019 @@ -329,11 +326,11 @@ jobs: Platform: [x64] steps: - uses: actions/checkout@v4 - + - uses: microsoft/setup-msbuild@v2 with: - vs-version: '14.0' - + vs-version: '14.0' + - name: Setup Vulkan run: | $ver = (Invoke-WebRequest -Uri "https://vulkan.lunarg.com/sdk/latest.json" | ConvertFrom-Json).windows @@ -342,7 +339,7 @@ jobs: Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/$ver/windows/VulkanSDK-$ver-Installer.exe" -OutFile VulkanSDK.exe echo Downloaded .\VulkanSDK.exe --root C:\VulkanSDK --accept-licenses --default-answer --confirm-command install - + - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -351,7 +348,7 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" + echo "${{ steps.date.outputs.time }}" - name: MS Build SamTFE XPLUS working-directory: SamTFE\Sources run: | @@ -361,26 +358,26 @@ jobs: msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTFE.sln echo "*** Prepare directories ***" cd ${{github.workspace}} - mkdir x64 && mkdir x64\SamTFE && mkdir x64\SamTFE\Bin && mkdir x64\SamTFE\Mods && mkdir x64\SamTFE\Mods\XPLUS && mkdir x64\SamTFE\Mods\XPLUS\Bin + mkdir x64 && mkdir x64\SamTFE && mkdir x64\SamTFE\Bin && mkdir x64\SamTFE\Mods && mkdir x64\SamTFE\Mods\XPLUS && mkdir x64\SamTFE\Mods\XPLUS\Bin echo "*** Copy SamTFE XPLUS Libraries ***" - copy SamTFE\Bin\Entities.dll x64\SamTFE\Mods\XPLUS\Bin - copy SamTFE\Bin\Game.dll x64\SamTFE\Mods\XPLUS\Bin + copy SamTFE\Bin\Entities.dll x64\SamTFE\Mods\XPLUS\Bin + copy SamTFE\Bin\Game.dll x64\SamTFE\Mods\XPLUS\Bin del SamTFE\Bin\*.* - - - name: MS Build SamTFE + + - name: MS Build SamTFE working-directory: SamTFE\Sources run: | echo "*** Prepare sources and clean && build SamTFE ***" del Entities\PlayerWeapons.es - copy Entities\PlayerWeapons_old.es Entities\PlayerWeapons.es + copy Entities\PlayerWeapons_old.es Entities\PlayerWeapons.es msbuild /t:Clean /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTFE.sln msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTFE.sln echo "*** Copy SamTFE Libraries and Executables ***" - cd ${{github.workspace}} - del SamTFE\Bin\*.lib + cd ${{github.workspace}} + del SamTFE\Bin\*.lib del SamTFE\Bin\*.map - copy SamTFE\Bin\*.* x64\SamTFE\Bin - + copy SamTFE\Bin\*.* x64\SamTFE\Bin + - name: MS Build SamTSE XPLUS working-directory: SamTSE\Sources run: | @@ -390,23 +387,23 @@ jobs: msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTSE.sln echo "*** Prepare directories ***" cd ${{github.workspace}} - mkdir x64\SamTSE && mkdir x64\SamTSE\Bin && mkdir x64\SamTSE\Mods && mkdir x64\SamTSE\Mods\XPLUS && mkdir x64\SamTSE\Mods\XPLUS\Bin + mkdir x64\SamTSE && mkdir x64\SamTSE\Bin && mkdir x64\SamTSE\Mods && mkdir x64\SamTSE\Mods\XPLUS && mkdir x64\SamTSE\Mods\XPLUS\Bin echo "*** Copy SamTSE XPLUS Libraries ***" - copy SamTSE\Bin\EntitiesMP.dll x64\SamTSE\Mods\XPLUS\Bin - copy SamTSE\Bin\GameMP.dll x64\SamTSE\Mods\XPLUS\Bin + copy SamTSE\Bin\EntitiesMP.dll x64\SamTSE\Mods\XPLUS\Bin + copy SamTSE\Bin\GameMP.dll x64\SamTSE\Mods\XPLUS\Bin del SamTSE\Bin\*.* - - - name: MS Build SamTSE + + - name: MS Build SamTSE working-directory: SamTSE\Sources run: | echo "*** Prepare sources and clean && build SamTSE ***" del EntitiesMP\PlayerWeapons.es - copy EntitiesMP\PlayerWeapons_old.es EntitiesMP\PlayerWeapons.es + copy EntitiesMP\PlayerWeapons_old.es EntitiesMP\PlayerWeapons.es msbuild /t:Clean /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTSE.sln msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTSE.sln echo "*** Copy SamTSE Libraries and Executables ***" - cd ${{github.workspace}} - del SamTSE\Bin\*.lib + cd ${{github.workspace}} + del SamTSE\Bin\*.lib del SamTSE\Bin\*.map copy SamTSE\Bin\*.* x64\SamTSE\Bin echo "*** Copy Data files ***" @@ -416,12 +413,12 @@ jobs: copy SamTSE\ModEXT.txt x64\SamTSE echo "*** Create archive ***" 7z a -mx=9 SeriousSamClassic-${{ steps.date.outputs.time }}-win64-bin.7z x64 - + - name: Upload artifact uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-win64-bin.7z - path: SeriousSamClassic-${{ steps.date.outputs.time }}-win64-bin.7z + path: SeriousSamClassic-${{ steps.date.outputs.time }}-win64-bin.7z build-freebsd-x64: name: FreeBSD ${{ matrix.Configuration }} ${{ matrix.Platform }} @@ -430,7 +427,7 @@ jobs: fail-fast: false matrix: Configuration: [Release] - Platform: [x64] + Platform: [x64] steps: - uses: actions/checkout@v4 @@ -443,7 +440,7 @@ jobs: - name: Show current date run: | echo "${{ steps.date.outputs.time }}" - + - name: Build on FreeBSD uses: cross-platform-actions/action@v0.23.0 with: @@ -461,20 +458,20 @@ jobs: awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt cat CMakeLists.txt | grep mtune cd ${{github.workspace}}/SamTSE/Sources - awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt + awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt cat CMakeLists.txt | grep mtune - cd ${{github.workspace}} + cd ${{github.workspace}} cmake -B ${{github.workspace}}/build-x64 -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} cd ${{github.workspace}}/build-x64 make -j$(sysctl -n hw.ncpu || echo 4) make install - cd ${{github.workspace}} + cd ${{github.workspace}} cmake -B ${{github.workspace}}/build-x64-xplus -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DXPLUS=TRUE cd ${{github.workspace}}/build-x64-xplus make -j$(sysctl -n hw.ncpu || echo 4) make install - echo "*** Prepare Archive ***" - cd ${{github.workspace}} + echo "*** Prepare Archive ***" + cd ${{github.workspace}} mv -f ${{github.workspace}}/SamTFE/Bin ${{github.workspace}}/x64/SamTFE mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/x64/SamTSE mv -f ${{github.workspace}}/SamTFE/Mods/XPLUS/Bin ${{github.workspace}}/x64/SamTFE/Mods/XPLUS @@ -483,7 +480,7 @@ jobs: cp -vfr {SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} x64/SamTSE echo "*** Create archive ***" XZ_DEFAULTS="-T 10" tar --use-compress-program=xz -cpvf SeriousSamClassic-${{ steps.date.outputs.time }}-bsd-amd64-bin.tar.xz x64 - + - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -497,7 +494,7 @@ jobs: fail-fast: false matrix: Configuration: [Release] - Platform: [x64] + Platform: [x64] steps: - uses: actions/checkout@v4 @@ -510,7 +507,7 @@ jobs: - name: Show current date run: | echo "${{ steps.date.outputs.time }}" - + - name: Build on macOS run: | uname -a @@ -521,7 +518,7 @@ jobs: cd ${{github.workspace}}/SamTFE/Sources awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt cat CMakeLists.txt | grep mtune - cmake -B ${{github.workspace}}/SamTFE/Sources/build-x64 + cmake -B ${{github.workspace}}/SamTFE/Sources/build-x64 cd ${{github.workspace}}/SamTFE/Sources/build-x64 make -j$(sysctl -n hw.ncpu || echo 4) cd ${{github.workspace}}/SamTFE/Sources @@ -538,8 +535,8 @@ jobs: cd ${{github.workspace}}/SamTSE/Sources cmake -B ${{github.workspace}}/SamTSE/Sources/build-x64-xplus -DXPLUS=TRUE cd ${{github.workspace}}/SamTSE/Sources/build-x64-xplus - make -j$(sysctl -n hw.ncpu || echo 4) - echo "*** Prepare Archive ***" + make -j$(sysctl -n hw.ncpu || echo 4) + echo "*** Prepare Archive ***" cd ${{github.workspace}} cp -vfr SamTFE/Sources/build-x64/Debug/*.dylib x64/SamTFE/Bin cp -vfr SamTFE/Sources/build-x64/{DedicatedServer,TEXConv,MakeFONT,SeriousSam} x64/SamTFE/Bin @@ -547,13 +544,13 @@ jobs: cp -vfr SamTFE/Sources/build-x64-xplus/Debug/libGame.dylib x64/SamTFE/Mods/XPLUS/Bin cp -vfr SamTSE/Sources/build-x64/Debug/*.dylib x64/SamTSE/Bin cp -vfr SamTSE/Sources/build-x64/{DedicatedServer,TEXConv,MakeFONT,SeriousSam} x64/SamTSE/Bin - cp -vfr SamTSE/Sources/build-x64-xplus/Debug/libEntitiesMP.dylib x64/SamTSE/Mods/XPLUS/Bin - cp -vfr SamTSE/Sources/build-x64-xplus/Debug/libGameMP.dylib x64/SamTSE/Mods/XPLUS/Bin + cp -vfr SamTSE/Sources/build-x64-xplus/Debug/libEntitiesMP.dylib x64/SamTSE/Mods/XPLUS/Bin + cp -vfr SamTSE/Sources/build-x64-xplus/Debug/libGameMP.dylib x64/SamTSE/Mods/XPLUS/Bin cp -vfr {SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} x64/SamTFE cp -vfr {SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} x64/SamTSE echo "*** Create archive ***" XZ_DEFAULTS="-T 10" tar --use-compress-program=xz -cpvf SeriousSamClassic-${{ steps.date.outputs.time }}-macos-amd64-bin.tar.xz x64 - + - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -566,13 +563,13 @@ jobs: strategy: matrix: arch: [armv7l] - Configuration: [Release] + Configuration: [Release] include: - arch: armv7l cpu: cortex-a53 base_image: raspios_lite:latest cpu_info: cpuinfo/raspberrypi_3b - + steps: - name: Get current date id: date @@ -582,8 +579,8 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" - + echo "${{ steps.date.outputs.time }}" + - uses: pguyot/arm-runner-action@v2 with: image_additional_mb: 2048 @@ -605,7 +602,7 @@ jobs: gcc -c -Q -mcpu=native --help=target git clone https://github.com/tx00100xt/SeriousSamClassic.git echo "***build ***" - cmake SeriousSamClassic -B SeriousSamClassic/build-armv7l -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DRPI4=TRUE + cmake SeriousSamClassic -B SeriousSamClassic/build-armv7l -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DRPI4=TRUE make -j4 -C SeriousSamClassic/build-armv7l make -C SeriousSamClassic/build-armv7l install echo "*** build XPLUS ***" @@ -615,37 +612,37 @@ jobs: mv -f SeriousSamClassic/SamTFE/Bin x32/SamTFE mv -f SeriousSamClassic/SamTSE/Bin x32/SamTSE mv -f SeriousSamClassic/SamTFE/Mods/XPLUS/Bin x32/SamTFE/Mods/XPLUS - mv -f SeriousSamClassic/SamTSE/Mods/XPLUS/Bin x32/SamTSE/Mods/XPLUS + mv -f SeriousSamClassic/SamTSE/Mods/XPLUS/Bin x32/SamTSE/Mods/XPLUS echo "*** Copy Data files ***" cp -vfr SeriousSamClassic/{SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} x32/SamTFE - cp -vfr SeriousSamClassic/{SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} x32/SamTSE - echo "*** Create archive ***" + cp -vfr SeriousSamClassic/{SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} x32/SamTSE + echo "*** Create archive ***" mv x32 armv7l XZ_DEFAULTS="-T 10" tar --use-compress-program=xz -cpvf SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz armv7l cp SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz Release/ - name: Prepare Release - run: | + run: | sudo mv ${{github.workspace}}/Release/SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz ${{github.workspace}}/ - + - name: Upload Release uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz path: SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz - + build-raspios-aarch64: name: RPi OS Lite ${{ matrix.Configuration }} ${{ matrix.arch }} runs-on: ubuntu-latest strategy: matrix: arch: [aarch64] - Configuration: [Release] + Configuration: [Release] include: - arch: aarch64 cpu: cortex-a72 base_image: raspios_lite_arm64:latest cpu_info: cpuinfo/raspberrypi_4b - + steps: - name: Get current date id: date @@ -655,8 +652,8 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" - + echo "${{ steps.date.outputs.time }}" + - uses: pguyot/arm-runner-action@v2 with: image_additional_mb: 2048 @@ -670,15 +667,15 @@ jobs: test `uname -m` = ${{ matrix.arch }} grep Model /proc/cpuinfo apt-get update -y --allow-releaseinfo-change - apt-get install --no-install-recommends -y git bison flex cmake make gcc libc6-dev libsdl2-dev libogg-dev libvorbis-dev zlib1g-dev libvulkan1 libvulkan-dev + apt-get install --no-install-recommends -y git bison flex cmake make gcc libc6-dev libsdl2-dev libogg-dev libvorbis-dev zlib1g-dev libvulkan1 libvulkan-dev cat /proc/cpuinfo cat /etc/os-release - mkdir {x64,x64/SamTFE,x64/SamTFE/Mods,x64/SamTFE/Mods/XPLUS,x64/SamTSE,x64/SamTSE/Mods,x64/SamTSE/Mods/XPLUS} + mkdir {x64,x64/SamTFE,x64/SamTFE/Mods,x64/SamTFE/Mods/XPLUS,x64/SamTSE,x64/SamTSE/Mods,x64/SamTSE/Mods/XPLUS} uname -a gcc -c -Q -mcpu=native --help=target git clone https://github.com/tx00100xt/SeriousSamClassic.git echo "***build ***" - cmake SeriousSamClassic -B SeriousSamClassic/build-aarch64 -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DRPI4=TRUE + cmake SeriousSamClassic -B SeriousSamClassic/build-aarch64 -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DRPI4=TRUE make -j4 -C SeriousSamClassic/build-aarch64 make -C SeriousSamClassic/build-aarch64 install echo "*** build XPLUS ***" @@ -688,23 +685,23 @@ jobs: mv -f SeriousSamClassic/SamTFE/Bin x64/SamTFE mv -f SeriousSamClassic/SamTSE/Bin x64/SamTSE mv -f SeriousSamClassic/SamTFE/Mods/XPLUS/Bin x64/SamTFE/Mods/XPLUS - mv -f SeriousSamClassic/SamTSE/Mods/XPLUS/Bin x64/SamTSE/Mods/XPLUS + mv -f SeriousSamClassic/SamTSE/Mods/XPLUS/Bin x64/SamTSE/Mods/XPLUS echo "*** Copy Data files ***" cp -vfr SeriousSamClassic/{SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} x64/SamTFE - cp -vfr SeriousSamClassic/{SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} x64/SamTSE + cp -vfr SeriousSamClassic/{SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} x64/SamTSE echo "*** Create archive ***" mv x64 aarch64 XZ_DEFAULTS="-T 10" tar --use-compress-program=xz -cpvf SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz aarch64 cp SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz Release/ - name: Prepare Release - run: | + run: | sudo mv ${{github.workspace}}/Release/SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz ${{github.workspace}}/ - + - name: Upload Release uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz - path: SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz + path: SeriousSamClassic-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz build-ubuntu-riscv64: # The host should always be linux @@ -767,11 +764,16 @@ jobs: esac # Produce a binary artifact and place it in the mounted volume run: | - cd ${{github.workspace}} + cd ${{github.workspace}} cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DUSE_I386_NASM_ASM=FALSE cd ${{github.workspace}}/build make -j$(nproc || echo 4) - make install + make install + cd ${{github.workspace}} + cmake -B ${{github.workspace}}/build-xplus -DCMAKE_BUILD_TYPE=Release -DUSE_I386_NASM_ASM=FALSE -DXPLUS=TRUE + cd ${{github.workspace}}/build-xplus + make -j$(nproc || echo 4) + make install - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -780,7 +782,7 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" + echo "${{ steps.date.outputs.time }}" - name: Make artifact # Items placed in /artifacts in the container will be in # ${PWD}/artifacts on the host. @@ -790,19 +792,20 @@ jobs: mkdir {SamTFE,SamTFE/Mods,SamTFE/Mods/XPLUS,SamTSE,SamTSE/Mods,SamTSE/Mods/XPLUS} cd ${{github.workspace}} mv -f ${{github.workspace}}/SamTFE/Bin ${{github.workspace}}/riscv64/SamTFE - mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/riscv64/SamTSE - echo "*** Copy Data files ***" + mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/riscv64/SamTSE + mv -f ${{github.workspace}}/SamTFE/Mods/XPLUS/Bin ${{github.workspace}}/riscv64/SamTFE/Mods/XPLUS + mv -f ${{github.workspace}}/SamTSE/Mods/XPLUS/Bin ${{github.workspace}}/riscv64/SamTSE/Mods/XPLUS echo "*** Copy Data files ***" cp -vfr {SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} riscv64/SamTFE cp -vfr {SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} riscv64/SamTSE echo "*** Create archive ***" - tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz riscv64 - + tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz riscv64 + - name: Upload artifact uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz - path: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz + path: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz build-ubuntu-ppc64le: # The host should always be linux @@ -865,11 +868,16 @@ jobs: esac # Produce a binary artifact and place it in the mounted volume run: | - cd ${{github.workspace}} + cd ${{github.workspace}} cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DUSE_I386_NASM_ASM=FALSE cd ${{github.workspace}}/build make -j$(nproc || echo 4) - make install + make install + cd ${{github.workspace}} + cmake -B ${{github.workspace}}/build-xplus -DCMAKE_BUILD_TYPE=Release -DUSE_I386_NASM_ASM=FALSE -DXPLUS=TRUE + cd ${{github.workspace}}/build-xplus + make -j$(nproc || echo 4) + make install - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -878,7 +886,7 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" + echo "${{ steps.date.outputs.time }}" - name: Make artifact # Items placed in /artifacts in the container will be in # ${PWD}/artifacts on the host. @@ -888,19 +896,20 @@ jobs: mkdir {SamTFE,SamTFE/Mods,SamTFE/Mods/XPLUS,SamTSE,SamTSE/Mods,SamTSE/Mods/XPLUS} cd ${{github.workspace}} mv -f ${{github.workspace}}/SamTFE/Bin ${{github.workspace}}/ppc64le/SamTFE - mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/ppc64le/SamTSE - echo "*** Copy Data files ***" + mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/ppc64le/SamTSE + mv -f ${{github.workspace}}/SamTFE/Mods/XPLUS/Bin ${{github.workspace}}/ppc64le/SamTFE/Mods/XPLUS + mv -f ${{github.workspace}}/SamTSE/Mods/XPLUS/Bin ${{github.workspace}}/ppc64le/SamTSE/Mods/XPLUS echo "*** Copy Data files ***" cp -vfr {SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} ppc64le/SamTFE cp -vfr {SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} ppc64le/SamTSE echo "*** Create archive ***" - tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz ppc64le - + tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz ppc64le + - name: Upload artifact uses: actions/upload-artifact@v4 with: name: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz - path: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz + path: SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz build-ubuntu-s390x: # The host should always be linux @@ -963,11 +972,16 @@ jobs: esac # Produce a binary artifact and place it in the mounted volume run: | - cd ${{github.workspace}} + cd ${{github.workspace}} cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DUSE_I386_NASM_ASM=FALSE cd ${{github.workspace}}/build make -j$(nproc || echo 4) - make install + make install + cd ${{github.workspace}} + cmake -B ${{github.workspace}}/build-xplus -DCMAKE_BUILD_TYPE=Release -DUSE_I386_NASM_ASM=FALSE -DXPLUS=TRUE + cd ${{github.workspace}}/build-xplus + make -j$(nproc || echo 4) + make install - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -976,7 +990,7 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" + echo "${{ steps.date.outputs.time }}" - name: Make artifact # Items placed in /artifacts in the container will be in # ${PWD}/artifacts on the host. @@ -986,13 +1000,15 @@ jobs: mkdir {SamTFE,SamTFE/Mods,SamTFE/Mods/XPLUS,SamTSE,SamTSE/Mods,SamTSE/Mods/XPLUS} cd ${{github.workspace}} mv -f ${{github.workspace}}/SamTFE/Bin ${{github.workspace}}/s390x/SamTFE - mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/s390x/SamTSE + mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/s390x/SamTSE + mv -f ${{github.workspace}}/SamTFE/Mods/XPLUS/Bin ${{github.workspace}}/s390x/SamTFE/Mods/XPLUS + mv -f ${{github.workspace}}/SamTSE/Mods/XPLUS/Bin ${{github.workspace}}/s390x/SamTSE/Mods/XPLUS echo "*** Copy Data files ***" cp -vfr {SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} s390x/SamTFE cp -vfr {SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} s390x/SamTSE echo "*** Create archive ***" - tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-s390x-bin.tar.xz s390x - + tar -cJpvf SeriousSamClassic-${{ steps.date.outputs.time }}-lnx-s390x-bin.tar.xz s390x + - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -1030,7 +1046,7 @@ jobs: sudo apt-get install -qq -y libsdl2-dev libogg-dev libvorbis-dev && sudo apt-get install -qq -y bison flex zlib1g-dev libxxhash-dev && sudo apt-get install libvulkan1 libvulkan-dev libcurl4-nss-dev libopenal-dev libopenal1 - + - name: Get current date id: date uses: Kaven-Universe/github-action-current-date-time@v1 @@ -1039,7 +1055,7 @@ jobs: - name: Show current date run: | - echo "${{ steps.date.outputs.time }}" + echo "${{ steps.date.outputs.time }}" - name: Run Build run: | cd ${{github.workspace}}