Skip to content

fix: Guard all standalone app builds on eapps_port target (39 CMakeLi… #21

fix: Guard all standalone app builds on eapps_port target (39 CMakeLi…

fix: Guard all standalone app builds on eapps_port target (39 CMakeLi… #21

Workflow file for this run

name: Release Suite
on:
push:
tags: ["v*"]
permissions:
contents: write
jobs:
build-cli:
name: CLI Suite (${{ matrix.platform }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
platform: linux-x64
- os: windows-latest
platform: windows-x64
- os: macos-latest
platform: macos-x64
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install SDL2 (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y cmake libsdl2-dev
- name: Install SDL2 (macOS)
if: runner.os == 'macOS'
run: brew install sdl2
- name: Build Suite + All Standalone Apps
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release -DEAPPS_BUILD_STANDALONE=ON
cmake --build build --config Release
- name: Package (Unix)
if: runner.os != 'Windows'
run: |
VERSION="${{ github.ref_name }}"
PKG="eapps-cli-${VERSION}-${{ matrix.platform }}"
mkdir -p ${PKG}/bin
# Suite
cp build/apps/suite/eapps_suite ${PKG}/bin/ 2>/dev/null || true
# All standalone apps
find build/apps -name "*_standalone" -type f -executable | while read f; do
cp "$f" ${PKG}/bin/
done
echo "eApps CLI Suite ${VERSION}" > ${PKG}/README.txt
echo "All apps as standalone CLI executables." >> ${PKG}/README.txt
ls -la ${PKG}/bin/ >> ${PKG}/README.txt
tar czf ${PKG}.tar.gz ${PKG}/
- name: Package (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
$VERSION = "${{ github.ref_name }}"
$PKG = "eapps-cli-${VERSION}-${{ matrix.platform }}"
New-Item -ItemType Directory -Force "${PKG}/bin"
Get-ChildItem -Path build/apps -Recurse -Filter "*.exe" | Copy-Item -Destination "${PKG}/bin/" -ErrorAction SilentlyContinue
"eApps CLI Suite ${VERSION} - All apps as standalone CLI executables." | Set-Content "${PKG}/README.txt"
Compress-Archive -Path "${PKG}/*" -DestinationPath "${PKG}.zip"
- name: Upload
uses: actions/upload-artifact@v4
with:
name: cli-${{ matrix.platform }}
path: eapps-cli-*
if-no-files-found: ignore
retention-days: 90