Add Flathub Badge to README.md #185
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: Build | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
VULKAN_SDK: C:\VulkanSDK\ | |
jobs: | |
build-alpine-x86: | |
name: Alpine ${{ matrix.Configuration }} ${{ matrix.Platform }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
Configuration: [Release] | |
Platform: [x86] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install latest stable Alpine Linux | |
uses: jirutka/setup-alpine@master | |
with: | |
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 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Run Prepare | |
shell: alpine.sh {0} | |
run: | | |
cd ${{github.workspace}} | |
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: | | |
cd ${{github.workspace}} | |
cmake -B ${{github.workspace}}/build-x86 -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DCMAKE_C_FLAGS=-mmmx -DCMAKE_CXX_FLAGS=-mmmx -DUSE_I386_NASM_ASM=TRUE | |
cd ${{github.workspace}}/build-x86 | |
make -j$(nproc || echo 4) | |
make install | |
mv -f ${{github.workspace}}/SamTFE/Bin ${{github.workspace}}/x32/SamTFE | |
mv -f ${{github.workspace}}/SamTSE/Bin ${{github.workspace}}/x32/SamTSE | |
- name: Run Build XPLUS | |
shell: alpine.sh {0} | |
run: | | |
cd ${{github.workspace}} | |
cmake -B ${{github.workspace}}/build-x86-xplus -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DCMAKE_C_FLAGS=-mmmx -DCMAKE_CXX_FLAGS=-mmmx -DUSE_I386_NASM_ASM=TRUE -DXPLUS=TRUE | |
cd ${{github.workspace}}/build-x86-xplus | |
make -j$(nproc || echo 4) | |
make install | |
mv -f ${{github.workspace}}/SamTFE/Mods/XPLUS/Bin ${{github.workspace}}/x32/SamTFE/Mods/XPLUS | |
mv -f ${{github.workspace}}/SamTSE/Mods/XPLUS/Bin ${{github.workspace}}/x32/SamTSE/Mods/XPLUS | |
echo "*** Create archive ***" | |
cd ${{github.workspace}} | |
cp -fr SamTFE/SE1_10b.gro x32/SamTFE | |
cp -fr SamTFE/ModEXT.txt x32/SamTFE | |
cp -fr SamTSE/SE1_10b.gro x32/SamTSE | |
cp -fr SamTSE/ModEXT.txt x32/SamTSE | |
tar -cJpvf SeriousSamClassicVk-${{ steps.date.outputs.time }}-alpine-x86-bin.tar.xz x32 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-alpine-x86-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-alpine-x86-bin.tar.xz | |
build-alpine-64: | |
name: Alpine ${{ matrix.Configuration }} ${{ matrix.Platform }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
Configuration: [Release] | |
Platform: [x86_64] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install latest stable Alpine Linux | |
uses: jirutka/setup-alpine@master | |
with: | |
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 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Run Prepare | |
shell: alpine.sh {0} | |
run: | | |
cd ${{github.workspace}} | |
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 | |
shell: alpine.sh {0} | |
run: | | |
cd ${{github.workspace}} | |
CFLAGS="-w" CXXFLAGS="-w" cmake -B ${{github.workspace}}/build-x64 -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} | |
cd ${{github.workspace}}/build-x64 | |
make -j$(nproc || echo 4) | |
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: | | |
cd ${{github.workspace}} | |
CFLAGS="-w" CXXFLAGS="-w" cmake -B ${{github.workspace}}/build-x64-xplus -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DXPLUS=TRUE | |
cd ${{github.workspace}}/build-x64-xplus | |
make -j$(nproc || echo 4) | |
make install | |
mv -f ${{github.workspace}}/SamTFE/Mods/XPLUS/Bin ${{github.workspace}}/x64/SamTFE/Mods/XPLUS | |
mv -f ${{github.workspace}}/SamTSE/Mods/XPLUS/Bin ${{github.workspace}}/x64/SamTSE/Mods/XPLUS | |
echo "*** Create archive ***" | |
cd ${{github.workspace}} | |
cp -fr SamTFE/SE1_10b.gro x64/SamTFE | |
cp -fr SamTFE/ModEXT.txt x64/SamTFE | |
cp -fr SamTSE/SE1_10b.gro x64/SamTSE | |
cp -fr SamTSE/ModEXT.txt x64/SamTSE | |
tar -cJpvf SeriousSamClassicVk-${{ steps.date.outputs.time }}-alpine-x86_64-bin.tar.xz x64 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-alpine-x86_64-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-alpine-x86_64-bin.tar.xz | |
build-ubuntu-x64: | |
name: Ubuntu ${{ matrix.Configuration }} ${{ matrix.Platform }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
Configuration: [Release] | |
Platform: [x64] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install packages | |
run: | | |
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 | |
- name: Get current date | |
id: date | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Prepare | |
run: | | |
cd ${{github.workspace}} | |
find . -name "CMakeLists.txt" -exec sed -i 's/-march=native/-mtune=generic/g' {} + | |
mkdir {x64,x64/SamTFE,x64/SamTFE/Mods,x64/SamTFE/Mods/XPLUS,x64/SamTSE,x64/SamTSE/Mods,x64/SamTSE/Mods/XPLUS,} | |
- name: Run Build | |
run: | | |
cd ${{github.workspace}} | |
cmake -B ${{github.workspace}}/build-x64 -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} | |
cd ${{github.workspace}}/build-x64 | |
make -j$(nproc || echo 4) | |
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}} | |
cmake -B ${{github.workspace}}/build-x64-xplus -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DXPLUS=TRUE | |
cd ${{github.workspace}}/build-x64-xplus | |
make -j$(nproc || echo 4) | |
make install | |
mv -f ${{github.workspace}}/SamTFE/Mods/XPLUS/Bin ${{github.workspace}}/x64/SamTFE/Mods/XPLUS | |
mv -f ${{github.workspace}}/SamTSE/Mods/XPLUS/Bin ${{github.workspace}}/x64/SamTSE/Mods/XPLUS | |
echo "*** Create archive ***" | |
cd ${{github.workspace}} | |
cp -fr {SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} x64/SamTFE | |
cp -fr {SamTSE/SE1_10b.gro,SamTSE/ModEXT.txt} x64/SamTSE | |
tar -cJpvf SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-amd64-bin.tar.xz x64 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-amd64-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-amd64-bin.tar.xz | |
build-windows-x86: | |
name: Windows ${{ matrix.Configuration }} ${{ matrix.Platform }} | |
runs-on: windows-2019 | |
strategy: | |
fail-fast: false | |
matrix: | |
Configuration: [Release] | |
Platform: [Win32] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: microsoft/[email protected] | |
with: | |
vs-version: '14.0' | |
- name: Setup Vulkan | |
run: | | |
$ver = (Invoke-WebRequest -Uri "https://vulkan.lunarg.com/sdk/latest.json" | ConvertFrom-Json).windows | |
echo Version $ver | |
$ProgressPreference = 'SilentlyContinue' | |
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 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: MS Build SamTFE XPLUS | |
working-directory: SamTFE\Sources | |
run: | | |
echo "*** Prepare sources and build SamTFE XPLUS ***" | |
del Entities\PlayerWeapons.es | |
copy Entities\PlayerWeaponsHD.es Entities\PlayerWeapons.es | |
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 | |
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 | |
del SamTFE\Bin\*.* | |
- 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 | |
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 | |
del SamTFE\Bin\*.map | |
copy SamTFE\Bin\*.* x32\SamTFE\Bin | |
- name: MS Build SamTSE XPLUS | |
working-directory: SamTSE\Sources | |
run: | | |
echo "*** Prepare sources and build SamTSE XPLUS ***" | |
del Entities\PlayerWeapons.es | |
copy Entities\PlayerWeaponsHD.es Entities\PlayerWeapons.es | |
msbuild /m /p:Configuration="${{ matrix.Configuration }}" /p:Platform="${{ matrix.Platform }}" SamTSE.sln | |
echo "*** Prepare directories ***" | |
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 | |
del SamTSE\Bin\*.* | |
- name: MS Build SamTSE | |
working-directory: SamTSE\Sources | |
run: | | |
echo "*** Prepare sources and clean && build SamTSE ***" | |
del Entities\PlayerWeapons.es | |
copy Entities\PlayerWeapons_old.es Entities\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 SamSFE Libraries and Executables ***" | |
cd ${{github.workspace}} | |
del SamTSE\Bin\*.lib | |
del SamTSE\Bin\*.map | |
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 | |
echo "*** Create archive ***" | |
7z a -mx=9 SeriousSamClassicVk-${{ steps.date.outputs.time }}-win32-bin.7z x32 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-win32-bin.7z | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-win32-bin.7z | |
build-windows-x64: | |
name: Windows ${{ matrix.Configuration }} ${{ matrix.Platform }} | |
runs-on: windows-2019 | |
strategy: | |
fail-fast: false | |
matrix: | |
Configuration: [Release] | |
Platform: [x64] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: microsoft/[email protected] | |
with: | |
vs-version: '14.0' | |
- name: Setup Vulkan | |
run: | | |
$ver = (Invoke-WebRequest -Uri "https://vulkan.lunarg.com/sdk/latest.json" | ConvertFrom-Json).windows | |
echo Version $ver | |
$ProgressPreference = 'SilentlyContinue' | |
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 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: MS Build SamTFE XPLUS | |
working-directory: SamTFE\Sources | |
run: | | |
echo "*** Prepare sources and build SamTFE XPLUS ***" | |
del Entities\PlayerWeapons.es | |
copy Entities\PlayerWeaponsHD.es Entities\PlayerWeapons.es | |
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 | |
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 | |
del SamTFE\Bin\*.* | |
- 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 | |
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 | |
del SamTFE\Bin\*.map | |
copy SamTFE\Bin\*.* x64\SamTFE\Bin | |
- name: MS Build SamTSE XPLUS | |
working-directory: SamTSE\Sources | |
run: | | |
echo "*** Prepare sources and build SamTSE XPLUS ***" | |
del EntitiesMP\PlayerWeapons.es | |
copy EntitiesMP\PlayerWeaponsHD.es EntitiesMP\PlayerWeapons.es | |
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 | |
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 | |
del SamTSE\Bin\*.* | |
- 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 | |
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 | |
del SamTSE\Bin\*.map | |
copy SamTSE\Bin\*.* x64\SamTSE\Bin | |
echo "*** Copy Data files ***" | |
copy SamTFE\SE1_10b.gro x64\SamTFE | |
copy SamTFE\ModEXT.txt x64\SamTFE | |
copy SamTSE\SE1_10b.gro x64\SamTSE | |
copy SamTSE\ModEXT.txt x64\SamTSE | |
echo "*** Create archive ***" | |
7z a -mx=9 SeriousSamClassicVk-${{ steps.date.outputs.time }}-win64-bin.7z x64 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-win64-bin.7z | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-win64-bin.7z | |
build-freebsd-x64: | |
name: FreeBSD ${{ matrix.Configuration }} ${{ matrix.Platform }} | |
runs-on: macos-12 | |
strategy: | |
fail-fast: false | |
matrix: | |
Configuration: [Release] | |
Platform: [x64] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get current date | |
id: date | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Build on FreeBSD | |
uses: cross-platform-actions/[email protected] | |
with: | |
operating_system: freebsd | |
architecture: x86-64 | |
version: '13.1' | |
shell: bash | |
run: | | |
uname -a | |
sudo pkg install -y bison flex sdl2 libogg libvorbis zlib-ng cmake vulkan-headers | |
cd ${{github.workspace}} | |
mkdir {x64,x64/SamTFE,x64/SamTFE/Mods,x64/SamTFE/Mods/XPLUS,x64/SamTSE,x64/SamTSE/Mods,x64/SamTSE/Mods/XPLUS} | |
echo "*** Build ***" | |
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 | |
cd ${{github.workspace}}/SamTSE/Sources | |
awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt | |
cat CMakeLists.txt | grep mtune | |
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}} | |
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}} | |
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 | |
mv -f ${{github.workspace}}/SamTSE/Mods/XPLUS/Bin ${{github.workspace}}/x64/SamTSE/Mods/XPLUS | |
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 SeriousSamClassicVk-${{ steps.date.outputs.time }}-bsd-amd64-bin.tar.xz x64 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-bsd-amd64-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-bsd-amd64-bin.tar.xz | |
build-macos-x64: | |
name: macOS ${{ matrix.Configuration }} ${{ matrix.Platform }} | |
runs-on: macos-12 | |
strategy: | |
fail-fast: false | |
matrix: | |
Configuration: [Release] | |
Platform: [x64] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get current date | |
id: date | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Build on macOS | |
run: | | |
uname -a | |
brew install bison flex sdl2 libogg libvorbis zlib-ng cmake vulkan-loader vulkan-headers | |
cd ${{github.workspace}} | |
mkdir {x64,x64/SamTFE,x64/SamTFE/Mods,x64/SamTFE/Mods/XPLUS,x64/SamTFE/Mods/XPLUS/Bin,x64/SamTFE/Bin,x64/SamTSE,x64/SamTSE/Mods,x64/SamTSE/Mods/XPLUS,x64/SamTSE/Mods/XPLUS/Bin,x64/SamTSE/Bin} | |
echo "*** Build SamTFE ***" | |
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 | |
cd ${{github.workspace}}/SamTFE/Sources/build-x64 | |
make -j$(sysctl -n hw.ncpu || echo 4) | |
cd ${{github.workspace}}/SamTFE/Sources | |
cmake -B ${{github.workspace}}/SamTFE/Sources/build-x64-xplus -DXPLUS=TRUE | |
cd ${{github.workspace}}/SamTFE/Sources/build-x64-xplus | |
make -j$(sysctl -n hw.ncpu || echo 4) | |
echo "*** Build SamTSE ***" | |
cd ${{github.workspace}}/SamTSE/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}}/SamTSE/Sources/build-x64 | |
cd ${{github.workspace}}/SamTSE/Sources/build-x64 | |
make -j$(sysctl -n hw.ncpu || echo 4) | |
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 ***" | |
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 | |
cp -vfr SamTFE/Sources/build-x64-xplus/Debug/libEntities.dylib x64/SamTFE/Mods/XPLUS/Bin | |
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 {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 SeriousSamClassicVk-${{ steps.date.outputs.time }}-macos-amd64-bin.tar.xz x64 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-macos-amd64-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-macos-amd64-bin.tar.xz | |
build-raspios-armv7l: | |
name: RPi OS Lite ${{ matrix.Configuration }} ${{ matrix.arch }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
arch: [armv7l] | |
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 | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- uses: pguyot/arm-runner-action@v2 | |
with: | |
image_additional_mb: 2048 | |
base_image: ${{ matrix.base_image }} | |
cpu: ${{ matrix.cpu }} | |
cpu_info: ${{ matrix.cpu_info }} | |
shell: /bin/bash | |
copy_artifact_path: Release | |
commands: | | |
mkdir Release | |
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 | |
cat /proc/cpuinfo | |
cat /etc/os-release | |
mkdir {x32,x32/SamTFE,x32/SamTFE/Mods,x32/SamTFE/Mods/XPLUS,x32/SamTSE,x32/SamTSE/Mods,x32/SamTSE/Mods/XPLUS} | |
uname -a | |
gcc -c -Q -mcpu=native --help=target | |
git clone https://github.com/tx00100xt/SeriousSamClassic-VK.git | |
echo "***build ***" | |
cmake SeriousSamClassic-VK -B SeriousSamClassic-VK/build-armv7l -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DRPI4=TRUE | |
make -j4 -C SeriousSamClassic-VK/build-armv7l | |
make -C SeriousSamClassic-VK/build-armv7l install | |
echo "*** build XPLUS ***" | |
cmake SeriousSamClassic-VK -B SeriousSamClassic-VK/build-armv7l-xplus -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DXPLUS=TRUE -DRPI4=TRUE | |
make -j4 -C SeriousSamClassic-VK/build-armv7l-xplus | |
make -C SeriousSamClassic-VK/build-armv7l-xplus install | |
mv -f SeriousSamClassic-VK/SamTFE/Bin x32/SamTFE | |
mv -f SeriousSamClassic-VK/SamTSE/Bin x32/SamTSE | |
mv -f SeriousSamClassic-VK/SamTFE/Mods/XPLUS/Bin x32/SamTFE/Mods/XPLUS | |
mv -f SeriousSamClassic-VK/SamTSE/Mods/XPLUS/Bin x32/SamTSE/Mods/XPLUS | |
echo "*** Copy Data files ***" | |
cp -vfr SeriousSamClassic-VK/{SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} x32/SamTFE | |
cp -vfr SeriousSamClassic-VK/{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 SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz armv7l | |
cp SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz Release/ | |
- name: Prepare Release | |
run: | | |
sudo mv ${{github.workspace}}/Release/SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz ${{github.workspace}}/ | |
- name: Upload Release | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-armv7l-bin.tar.xz | |
path: SeriousSamClassicVk-${{ 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] | |
include: | |
- arch: aarch64 | |
cpu: cortex-a72 | |
base_image: raspios_lite_arm64:latest | |
cpu_info: cpuinfo/raspberrypi_4b | |
steps: | |
- name: Get current date | |
id: date | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- uses: pguyot/arm-runner-action@v2 | |
with: | |
image_additional_mb: 2048 | |
base_image: ${{ matrix.base_image }} | |
cpu: ${{ matrix.cpu }} | |
cpu_info: ${{ matrix.cpu_info }} | |
shell: /bin/bash | |
copy_artifact_path: Release | |
commands: | | |
mkdir Release | |
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 | |
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} | |
uname -a | |
gcc -c -Q -mcpu=native --help=target | |
git clone https://github.com/tx00100xt/SeriousSamClassic-VK.git | |
echo "***build ***" | |
cmake SeriousSamClassic-VK -B SeriousSamClassic-VK/build-aarch64 -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DRPI4=TRUE | |
make -j4 -C SeriousSamClassic-VK/build-aarch64 | |
make -C SeriousSamClassic-VK/build-aarch64 install | |
echo "*** build XPLUS ***" | |
cmake SeriousSamClassic-VK -B SeriousSamClassic-VK/build-aarch64-xplus -DCMAKE_BUILD_TYPE=${{ matrix.Configuration }} -DXPLUS=TRUE -DRPI4=TRUE | |
make -j4 -C SeriousSamClassic-VK/build-aarch64-xplus | |
make -C SeriousSamClassic-VK/build-aarch64-xplus install | |
mv -f SeriousSamClassic-VK/SamTFE/Bin x64/SamTFE | |
mv -f SeriousSamClassic-VK/SamTSE/Bin x64/SamTSE | |
mv -f SeriousSamClassic-VK/SamTFE/Mods/XPLUS/Bin x64/SamTFE/Mods/XPLUS | |
mv -f SeriousSamClassic-VK/SamTSE/Mods/XPLUS/Bin x64/SamTSE/Mods/XPLUS | |
echo "*** Copy Data files ***" | |
cp -vfr SeriousSamClassic-VK/{SamTFE/SE1_10b.gro,SamTFE/ModEXT.txt} x64/SamTFE | |
cp -vfr SeriousSamClassic-VK/{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 SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz aarch64 | |
cp SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz Release/ | |
- name: Prepare Release | |
run: | | |
sudo mv ${{github.workspace}}/Release/SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz ${{github.workspace}}/ | |
- name: Upload Release | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-rpios-aarch64-bin.tar.xz | |
build-ubuntu-riscv64: | |
# The host should always be linux | |
runs-on: ubuntu-22.04 | |
name: Ubuntu Release ${{ matrix.arch }} | |
# Run steps on a matrix of 4 arch/distro combinations | |
strategy: | |
matrix: | |
include: | |
- arch: riscv64 | |
distro: ubuntu22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: uraimo/run-on-arch-action@v2 | |
name: Build artifact | |
id: build | |
with: | |
arch: ${{ matrix.arch }} | |
distro: ${{ matrix.distro }} | |
# Not required, but speeds up builds | |
githubToken: ${{ github.token }} | |
# Create an artifacts directory | |
setup: | | |
mkdir -p "${PWD}/artifacts" | |
# Mount the artifacts directory as /artifacts in the container | |
dockerRunArgs: | | |
--volume "${PWD}/artifacts:/artifacts" | |
# Pass some environment variables to the container | |
env: | # YAML, but pipe character is necessary | |
artifact_name: git-${{ matrix.distro }}_${{ matrix.arch }} | |
# The shell to run commands with in the container | |
shell: /bin/bash | |
# Install some dependencies in the container. This speeds up builds if | |
# you are also using githubToken. Any dependencies installed here will | |
# be part of the container image that gets cached, so subsequent | |
# builds don't have to re-install them. The image layer is cached | |
# publicly in your project's package repository, so it is vital that | |
# no secrets are present in the container state or logs. | |
install: | | |
case "${{ matrix.distro }}" in | |
ubuntu*|jessie|stretch|buster|bullseye) | |
apt-get update -qq -y | |
apt-get install -qq -y git cmake build-essential xz-utils && | |
apt-get install -qq -y libsdl2-dev libogg-dev libvorbis-dev && | |
apt-get install -qq -y imagemagick bison flex zlib1g-dev libxxhash-dev && | |
apt-get install -qq -y libvulkan1 libvulkan-dev vulkan-validationlayers vulkan-validationlayers-dev | |
;; | |
fedora*) | |
dnf -y update | |
dnf -y install git which | |
;; | |
alpine*) | |
apk update | |
apk add git | |
;; | |
esac | |
# Produce a binary artifact and place it in the mounted volume | |
run: | | |
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 | |
- name: Get current date | |
id: date | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Make artifact | |
# Items placed in /artifacts in the container will be in | |
# ${PWD}/artifacts on the host. | |
run: | | |
cd ${{github.workspace}} | |
mkdir riscv64 && cd riscv64 | |
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 ***" | |
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 SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz riscv64 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-riscv64-bin.tar.xz | |
build-ubuntu-ppc64le: | |
# The host should always be linux | |
runs-on: ubuntu-22.04 | |
name: Ubuntu Release ${{ matrix.arch }} | |
# Run steps on a matrix of 4 arch/distro combinations | |
strategy: | |
matrix: | |
include: | |
- arch: ppc64le | |
distro: ubuntu22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: uraimo/run-on-arch-action@v2 | |
name: Build artifact | |
id: build | |
with: | |
arch: ${{ matrix.arch }} | |
distro: ${{ matrix.distro }} | |
# Not required, but speeds up builds | |
githubToken: ${{ github.token }} | |
# Create an artifacts directory | |
setup: | | |
mkdir -p "${PWD}/artifacts" | |
# Mount the artifacts directory as /artifacts in the container | |
dockerRunArgs: | | |
--volume "${PWD}/artifacts:/artifacts" | |
# Pass some environment variables to the container | |
env: | # YAML, but pipe character is necessary | |
artifact_name: git-${{ matrix.distro }}_${{ matrix.arch }} | |
# The shell to run commands with in the container | |
shell: /bin/bash | |
# Install some dependencies in the container. This speeds up builds if | |
# you are also using githubToken. Any dependencies installed here will | |
# be part of the container image that gets cached, so subsequent | |
# builds don't have to re-install them. The image layer is cached | |
# publicly in your project's package repository, so it is vital that | |
# no secrets are present in the container state or logs. | |
install: | | |
case "${{ matrix.distro }}" in | |
ubuntu*|jessie|stretch|buster|bullseye) | |
apt-get update -qq -y | |
apt-get install -qq -y git cmake build-essential xz-utils && | |
apt-get install -qq -y libsdl2-dev libogg-dev libvorbis-dev && | |
apt-get install -qq -y imagemagick bison flex zlib1g-dev libxxhash-dev && | |
apt-get install -qq -y libvulkan1 libvulkan-dev vulkan-validationlayers vulkan-validationlayers-dev | |
;; | |
fedora*) | |
dnf -y update | |
dnf -y install git which | |
;; | |
alpine*) | |
apk update | |
apk add git | |
;; | |
esac | |
# Produce a binary artifact and place it in the mounted volume | |
run: | | |
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 | |
- name: Get current date | |
id: date | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Make artifact | |
# Items placed in /artifacts in the container will be in | |
# ${PWD}/artifacts on the host. | |
run: | | |
cd ${{github.workspace}} | |
mkdir ppc64le && cd ppc64le | |
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 ***" | |
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 SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz ppc64le | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-ppc64le-bin.tar.xz | |
build-ubuntu-s390x: | |
# The host should always be linux | |
runs-on: ubuntu-22.04 | |
name: Ubuntu Release ${{ matrix.arch }} | |
# Run steps on a matrix of 4 arch/distro combinations | |
strategy: | |
matrix: | |
include: | |
- arch: s390x | |
distro: ubuntu22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: uraimo/run-on-arch-action@v2 | |
name: Build artifact | |
id: build | |
with: | |
arch: ${{ matrix.arch }} | |
distro: ${{ matrix.distro }} | |
# Not required, but speeds up builds | |
githubToken: ${{ github.token }} | |
# Create an artifacts directory | |
setup: | | |
mkdir -p "${PWD}/artifacts" | |
# Mount the artifacts directory as /artifacts in the container | |
dockerRunArgs: | | |
--volume "${PWD}/artifacts:/artifacts" | |
# Pass some environment variables to the container | |
env: | # YAML, but pipe character is necessary | |
artifact_name: git-${{ matrix.distro }}_${{ matrix.arch }} | |
# The shell to run commands with in the container | |
shell: /bin/bash | |
# Install some dependencies in the container. This speeds up builds if | |
# you are also using githubToken. Any dependencies installed here will | |
# be part of the container image that gets cached, so subsequent | |
# builds don't have to re-install them. The image layer is cached | |
# publicly in your project's package repository, so it is vital that | |
# no secrets are present in the container state or logs. | |
install: | | |
case "${{ matrix.distro }}" in | |
ubuntu*|jessie|stretch|buster|bullseye) | |
apt-get update -qq -y | |
apt-get install -qq -y git cmake build-essential xz-utils && | |
apt-get install -qq -y libsdl2-dev libogg-dev libvorbis-dev && | |
apt-get install -qq -y imagemagick bison flex zlib1g-dev libxxhash-dev && | |
apt-get install -qq -y libvulkan1 libvulkan-dev vulkan-validationlayers vulkan-validationlayers-dev | |
;; | |
fedora*) | |
dnf -y update | |
dnf -y install git which | |
;; | |
alpine*) | |
apk update | |
apk add git | |
;; | |
esac | |
# Produce a binary artifact and place it in the mounted volume | |
run: | | |
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 | |
- name: Get current date | |
id: date | |
uses: Kaven-Universe/github-action-current-date-time@v1 | |
with: | |
format: "YYYYMMDD" | |
- name: Show current date | |
run: | | |
echo "${{ steps.date.outputs.time }}" | |
- name: Make artifact | |
# Items placed in /artifacts in the container will be in | |
# ${PWD}/artifacts on the host. | |
run: | | |
cd ${{github.workspace}} | |
mkdir s390x && cd s390x | |
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 | |
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 SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-s390x-bin.tar.xz s390x | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-s390x-bin.tar.xz | |
path: SeriousSamClassicVk-${{ steps.date.outputs.time }}-lnx-s390x-bin.tar.xz |