Compare commits

...
15 Commits
Author SHA1 Message Date
Vasilii Rogin 0ee6c264c2 Comment cpack for macos 2025-09-09 21:45:50 +03:00
Vasilii Rogin 462063ca85 Temporarely disable cmake cache on Windows 2025-09-09 21:39:06 +03:00
Vasilii Rogin f17c61efa6 Expect signed apk 2025-09-09 21:38:50 +03:00
Vasilii Rogin e996107403 Change secrets for android signing 2025-09-09 21:38:28 +03:00
Vasilii Rogin 933e5bf822 Use unsigned version 2025-09-09 21:30:10 +03:00
Vasilii Rogin e084300713 Comment cpack 2025-09-09 21:28:02 +03:00
Vasilii Rogin 325c86ddfc Remove prerelease 2025-09-09 21:21:34 +03:00
Vasilii Rogin 324957526f Add more ls -laR 2025-09-09 21:20:41 +03:00
Vasilii Rogin acd5d979c9 Bump windows cache 2025-09-09 21:19:10 +03:00
Vasilii Rogin c2cd174516 Add ls -laR to debug 2025-09-09 21:17:29 +03:00
Vasilii Rogin 4cb451de51 Fix cpack 2025-09-09 21:15:40 +03:00
Vasilii Rogin 33c2cf268d Rename steps 2025-09-09 21:10:01 +03:00
Vasilii Rogin b47af8de8d Adding release 2025-09-09 21:05:16 +03:00
Vasilii Rogin efd4f9e434 Add debug suffixes 2025-09-09 21:00:38 +03:00
Vasilii Rogin 2d0a2047ba Add debug prefixes 2025-09-09 20:58:23 +03:00
2 changed files with 411 additions and 25 deletions
+384
View File
@@ -0,0 +1,384 @@
name: Build
on:
push:
branches:
- main
pull_request: # TODO: Remove this after debugging
types:
- opened
- synchronize
defaults:
run:
shell: bash
jobs:
android:
name: Android Release
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
cache: gradle
- name: Cache cmake build
uses: actions/cache@v4
with:
path: os/android/app/.cxx
key: android-cmake-v101
- name: Setup signing config
if: env.KEYSTORE_FILE_BASE64 != '' && env.KEYSTORE_PROPERTIES_FILE_BASE64 != ''
run: |
cd os/android
echo "$KEYSTORE_FILE_BASE64" | base64 --decode > release.keystore
echo "$KEYSTORE_PROPERTIES_FILE_BASE64" | base64 --decode > release-keystore.properties
env:
KEYSTORE_FILE_BASE64: ${{ secrets.ANDROID_RELEASE_KEYSTORE_FILE_BASE64 }}
KEYSTORE_PROPERTIES_FILE_BASE64: ${{ secrets.ANDROID_RELEASE_KEYSTORE_PROPERTIES_FILE_BASE64 }}
- name: Build
run: |
cd os/android
./gradlew assembleRelease
- name: Change apk file name
run: |
ls -laR .
mv os/android/app/build/outputs/apk/release/app-release.apk os/android/app/build/outputs/apk/release/fallout2-ce.apk
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce.apk
path: os/android/app/build/outputs/apk/release/fallout2-ce.apk
retention-days: 7
ios:
name: iOS Release
runs-on: macos-14
steps:
- name: Clone
uses: actions/checkout@v4
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: ios-cmake-v101
- name: Configure
run: |
cmake --preset ios
- name: Build
run: |
cmake --build --preset ios-release
- name: Pack
run: |
ls -laR .
cd out/build/ios
# cpack -C Release # No need, we already have .ipa
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce.ipa
path: out/build/ios/fallout2-ce.ipa
retention-days: 7
linux:
name: Linux ${{ matrix.arch }} Release
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
arch:
- x86
- x64
steps:
- name: Clone
uses: actions/checkout@v4
- name: Dependencies (x86)
if: matrix.arch == 'x86'
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install g++-multilib libsdl2-dev:i386 zlib1g-dev:i386
- name: Dependencies (x64)
if: matrix.arch == 'x64'
run: |
sudo apt update
sudo apt install libsdl2-dev zlib1g-dev
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: linux-${{ matrix.arch }}-cmake-v101
- name: Configure
run: |
cmake --preset linux-${{ matrix.arch }}-release
- name: Build
run: |
cmake --build --preset linux-${{ matrix.arch }}-release
- name: Change executable file name
run: |
mv out/build/linux-${{ matrix.arch }}-release/fallout2-ce out/build/linux-${{ matrix.arch }}-release/fallout2-ce-linux-${{ matrix.arch }}
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-${{ matrix.arch }}
path: out/build/linux-${{ matrix.arch }}-release/fallout2-ce-linux-${{ matrix.arch }}
retention-days: 7
linux-armhf:
name: Linux armhf Release
runs-on: ubuntu-22.04-arm
steps:
- name: Clone
uses: actions/checkout@v4
- name: Dependencies
run: |
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libsdl2-dev:armhf zlib1g-dev:armhf
- name: Configure
run: |
cmake \
-B build \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D FALLOUT_VENDORED=OFF \
-D CMAKE_SYSTEM_PROCESSOR=arm \
-D CMAKE_C_COMPILER=arm-linux-gnueabihf-gcc \
-D CMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ \
# EOL
- name: Build
run: cmake --build build
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-armhf
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-armhf
path: build/fallout2-ce-linux-armhf
retention-days: 7
linux-arm64:
name: Linux arm64 Release
runs-on: ubuntu-22.04-arm
steps:
- name: Clone
uses: actions/checkout@v4
- name: Dependencies
run: |
sudo apt update
sudo apt install libsdl2-dev zlib1g-dev
- name: Configure
run: cmake -B build -D CMAKE_BUILD_TYPE=RelWithDebInfo -D FALLOUT_VENDORED=OFF
- name: Build
run: cmake --build build
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-arm64
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-arm64
path: build/fallout2-ce-linux-arm64
retention-days: 7
macos:
name: macOS Release
runs-on: macos-14
steps:
- name: Clone
uses: actions/checkout@v4
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: macos-cmake-v101
- name: Configure
run: |
cmake --preset macos
- name: Build
run: |
cmake --build --preset macos-release
- name: Pack
run: |
ls -laR .
cd out/build/macos
# cpack -C Release # There is already .dmg in the folder
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-macos.dmg
path: out/build/macos/Fallout II Community Edition.dmg
retention-days: 7
windows:
name: Windows ${{ matrix.arch }} Release
runs-on: windows-2025
strategy:
fail-fast: false
matrix:
include:
- arch: x86
generator-platform: Win32
- arch: x64
generator-platform: x64
steps:
- name: Clone
uses: actions/checkout@v4
- name: Install Visual Studio 2019 Build Tools with v141_xp
shell: cmd
run: |
choco install visualstudio2019buildtools -y --package-parameters="'--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.v141.x86.x64 --add Microsoft.VisualStudio.Component.VC.v141.xp --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.10240 --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP --add Microsoft.VisualStudio.Component.WinXP'"
# - name: Cache cmake build
# uses: actions/cache@v4
# with:
# path: out
# key: windows-${{ matrix.arch }}-cmake-v101
- name: Configure
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" ^
&& cmake --preset windows-${{ matrix.arch }}
- name: Build
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" ^
&& cmake --build --preset windows-${{ matrix.arch }}-release
- name: Change executable file name
run: |
mv out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce.exe out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-windows-${{ matrix.arch }}
path: out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
retention-days: 7
release:
name: Release Continuous build
runs-on: ubuntu-latest
needs: [android, ios, linux, linux-armhf, linux-arm64, macos, windows]
permissions: write-all
steps:
- name: Fetch artifacts
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
uses: actions/download-artifact@v4.1.7
with:
path: artifacts/
- name: Remove old release
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
uses: dev-drprasad/delete-tag-and-release@v0.2.1
with:
delete_release: true
tag_name: continious
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Move unpacked artifacts to root folder
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
run: |
ls -Rlah .
find .
cd artifacts/
for folder in *; do
if [[ -d "$folder" && "$folder" != "." ]]; then
echo "Processing $folder"
mv "$folder" "$folder.dir"
cd "$folder.dir"
for file in *; do
if [ -f "$file" ]; then
if [ -f "../$file" ]; then
echo "ERROR: Duplicate artifact file name $file"
exit 1
fi
if [ -d "../$file" ]; then
echo "ERROR: Duplicate artifact folder $file"
exit 1
fi
echo "Moving $file"
mv "$file" "../$file"
fi
done
cd ..
rm -rf "$folder.dir"
fi
done
ls -Rlah .
find .
cd ../
- name: Allow GitHub to process removed release for few seconds
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
run: |
sleep 20s
- name: Upload new release
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
uses: softprops/action-gh-release@v0.1.15
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: artifacts/*
tag_name: continious
draft: false
prerelease: false
name: Fallout2-CE Continuous Build
+27 -25
View File
@@ -106,13 +106,13 @@ jobs:
- name: Change apk file name
run: |
mv os/android/app/build/outputs/apk/debug/app-debug.apk os/android/app/build/outputs/apk/debug/fallout2-ce.apk
mv os/android/app/build/outputs/apk/debug/app-debug.apk os/android/app/build/outputs/apk/debug/fallout2-ce-debug.apk
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-debug.apk
path: os/android/app/build/outputs/apk/debug/fallout2-ce.apk
path: os/android/app/build/outputs/apk/debug/fallout2-ce-debug.apk
retention-days: 7
ios:
@@ -142,12 +142,13 @@ jobs:
run: |
cd out/build/ios
cpack -C Debug
mv fallout2-ce.ipa fallout2-ce-debug.ipa
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce.ipa
path: out/build/ios/fallout2-ce.ipa
name: fallout2-ce-debug.ipa
path: out/build/ios/fallout2-ce-debug.ipa
retention-days: 7
linux:
@@ -200,7 +201,7 @@ jobs:
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-${{ matrix.arch }}
name: fallout2-ce-linux-${{ matrix.arch }}-debug
path: out/build/linux-${{ matrix.arch }}-debug/fallout2-ce-linux-${{ matrix.arch }}
retention-days: 7
@@ -235,13 +236,13 @@ jobs:
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-armhf
mv build/fallout2-ce build/fallout2-ce-linux-armhf-debug
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-armhf
path: build/fallout2-ce-linux-armhf
name: fallout2-ce-linux-armhf-debug
path: build/fallout2-ce-linux-armhf-debug
retention-days: 7
linux-arm64:
@@ -266,13 +267,13 @@ jobs:
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-arm64
mv build/fallout2-ce build/fallout2-ce-linux-arm64-debug
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-arm64
path: build/fallout2-ce-linux-arm64
name: fallout2-ce-linux-arm64-debug
path: build/fallout2-ce-linux-arm64-debug
retention-days: 7
macos:
@@ -302,12 +303,13 @@ jobs:
run: |
cd out/build/macos
cpack -C Debug
mv "Fallout II Community Edition.dmg" "Fallout II Community Edition Debug.dmg"
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-macos.dmg
path: out/build/macos/Fallout II Community Edition.dmg
name: fallout2-ce-macos-debug.dmg
path: out/build/macos/Fallout II Community Edition Debug.dmg
retention-days: 7
windows:
@@ -333,11 +335,11 @@ jobs:
run: |
choco install visualstudio2019buildtools -y --package-parameters="'--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.v141.x86.x64 --add Microsoft.VisualStudio.Component.VC.v141.xp --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.10240 --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP --add Microsoft.VisualStudio.Component.WinXP'"
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: windows-${{ matrix.arch }}-cmake-v101
# - name: Cache cmake build
# uses: actions/cache@v4
# with:
# path: out
# key: windows-${{ matrix.arch }}-cmake-v102
- name: Configure
shell: cmd
@@ -349,22 +351,22 @@ jobs:
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" ^
&& cmake --build --preset windows-${{ matrix.arch }}-release
&& cmake --build --preset windows-${{ matrix.arch }}-debug
- name: Change executable file name
run: |
mv out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce.exe out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
mv out/build/windows-${{ matrix.arch }}/Debug/fallout2-ce.exe out/build/windows-${{ matrix.arch }}/Debug/fallout2-ce-${{ matrix.arch }}-debug.exe
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-windows-${{ matrix.arch }}
path: out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
name: fallout2-ce-windows-${{ matrix.arch }}-debug
path: out/build/windows-${{ matrix.arch }}/Debug/fallout2-ce-${{ matrix.arch }}-debug.exe
retention-days: 7
release:
name: Release Continuous build
name: Debug Release Continuous build
runs-on: ubuntu-latest
needs: [android, ios, linux, linux-armhf, linux-arm64, macos, windows]
permissions: write-all
@@ -380,7 +382,7 @@ jobs:
uses: dev-drprasad/delete-tag-and-release@v0.2.1
with:
delete_release: true
tag_name: continious
tag_name: continious-debug
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -429,7 +431,7 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: artifacts/*
tag_name: continious
tag_name: continious-debug
draft: false
prerelease: true
name: Fallout2-CE Continuous Build