Auto publish eepp sdk builds in nightlys and tagged releases (not tested beyond Linux, let's see...).

This commit is contained in:
Martín Lucas Golini
2026-08-22 17:44:26 -03:00
parent 681841e11d
commit 7f0633afb6
8 changed files with 808 additions and 0 deletions
@@ -2,6 +2,9 @@ name: Linux
on: [push, pull_request]
permissions:
contents: write
jobs:
Linux:
runs-on: ubuntu-24.04
@@ -27,6 +30,35 @@ jobs:
./premake5 --disable-static-build --with-debug-symbols gmake
cd make/linux
make all -j$(nproc) -e config=release_x86_64
- name: Set SDK version
id: sdk_version
run: |
if [[ "$GITHUB_REF" == refs/tags/eepp-* ]]; then
echo "version=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
else
echo "version=nightly" >> "$GITHUB_OUTPUT"
fi
- name: Package eepp SDK
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
run: |
bash projects/scripts/package_sdk.sh linux x86_64 --strip --version ${{ steps.sdk_version.outputs.version }}
- name: Upload SDK package
if: always()
uses: actions/upload-artifact@v4
with:
name: linux-eepp-sdk-x86_64
path: projects/linux/sdk/eepp-sdk-*.tar.gz
- name: Publish stable release package
if: startsWith(github.ref, 'refs/tags/eepp-')
uses: softprops/action-gh-release@v3
with:
tag_name: ${{ steps.sdk_version.outputs.version }}
draft: false
prerelease: false
generate_release_notes: false
fail_on_unmatched_files: true
files: |
projects/linux/sdk/eepp-sdk-linux-x86_64-*.tar.gz
- name: Unit Tests
run: |
cd projects/scripts
@@ -2,6 +2,9 @@ name: macOS
on: [push, pull_request]
permissions:
contents: write
jobs:
MacOS:
runs-on: macos-latest
@@ -21,6 +24,36 @@ jobs:
run: |
premake5 --disable-static-build --with-debug-symbols gmake
make -C make/macosx/ -j$(sysctl -n hw.ncpu) -e config=release_arm64
- name: Set SDK version
id: sdk_version
run: |
if [[ "$GITHUB_REF" == refs/tags/eepp-* ]]; then
echo "version=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
else
echo "version=nightly" >> "$GITHUB_OUTPUT"
fi
- name: Package eepp SDK
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
run: |
bash projects/scripts/package_sdk.sh macos arm64 --version ${{ steps.sdk_version.outputs.version }}
- name: Upload SDK package
if: always()
uses: actions/upload-artifact@v4
with:
name: macos-eepp-sdk-arm64
path: projects/macos/sdk/eepp-sdk-*.tar.gz
- name: Publish stable release package
if: startsWith(github.ref, 'refs/tags/eepp-')
uses: softprops/action-gh-release@v3
with:
tag_name: ${{ steps.sdk_version.outputs.version }}
draft: false
prerelease: false
generate_release_notes: false
fail_on_unmatched_files: true
files: |
projects/macos/sdk/eepp-sdk-macos-arm64-*.tar.gz
- name: Unit Tests
- name: Unit Tests
run: |
set +e
+65
View File
@@ -0,0 +1,65 @@
name: Windows MinGW Nightly
on:
push:
branches:
- 'develop'
tags:
- 'eepp-*'
workflow_dispatch:
permissions: write-all
jobs:
build_windows_mingw:
name: Windows x86_64 MinGW SDK
runs-on: ubuntu-24.04
steps:
- name: Configure Git
run: |
git config --global core.autocrlf false
- name: Checkout repository
uses: actions/checkout@v6
with:
ref: ${{ github.ref }}
fetch-depth: 2
submodules: 'recursive'
- name: Install dependencies
run: |
sudo add-apt-repository -y universe
sudo add-apt-repository -y multiverse
sudo apt update
sudo apt install -y mingw-w64 gcc-12 g++-12 zip wget
wget https://cdn.ensoft.dev/eepp-assets/premake-5.0.0-beta6-linux.tar.gz
tar xvzf premake-5.0.0-beta6-linux.tar.gz
- name: Set SDK version
id: sdk_version
run: |
if [[ "$GITHUB_REF" == refs/tags/eepp-* ]]; then
echo "version=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
else
echo "version=nightly" >> "$GITHUB_OUTPUT"
fi
- name: Build
run: |
bash projects/mingw32/make.sh -e config=release_x86_64 -j$(nproc)
- name: Package eepp SDK
run: |
bash projects/scripts/package_sdk.sh windows x86_64 --strip --version ${{ steps.sdk_version.outputs.version }}
- name: Upload SDK package
uses: actions/upload-artifact@v4
with:
name: windows-eepp-sdk-x86_64-mingw
path: projects/windows/sdk/eepp-sdk-*.zip
- name: Publish package
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
uses: softprops/action-gh-release@v3
with:
tag_name: ${{ steps.sdk_version.outputs.version }}
draft: false
prerelease: ${{ steps.sdk_version.outputs.version == 'nightly' }}
generate_release_notes: false
fail_on_unmatched_files: true
files: |
projects/windows/sdk/eepp-sdk-windows-x86_64-mingw-*.zip
@@ -2,6 +2,9 @@ name: Windows
on: [push, pull_request]
permissions:
contents: write
jobs:
Windows:
runs-on: windows-latest
@@ -33,6 +36,38 @@ jobs:
shell: cmd
run: |
msbuild .\make\windows\eepp.sln -m /p:Platform="x64" /p:Configuration="release"
- name: Set SDK version
id: sdk_version
shell: powershell
run: |
if ($env:GITHUB_REF -like "refs/tags/eepp-*") {
$tag = $env:GITHUB_REF -replace "^refs/tags/", ""
Add-Content $env:GITHUB_OUTPUT "version=$tag"
} else {
Add-Content $env:GITHUB_OUTPUT "version=nightly"
}
- name: Package eepp SDK
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
shell: powershell
run: |
.\projects\scripts\package_sdk.ps1 -Platform msvc -Version ${{ steps.sdk_version.outputs.version }}
- name: Upload SDK package
if: always()
uses: actions/upload-artifact@v4
with:
name: windows-eepp-sdk-x86_64-msvc
path: projects\windows\sdk\eepp-sdk-*.zip
- name: Publish stable release package
if: startsWith(github.ref, 'refs/tags/eepp-')
uses: softprops/action-gh-release@v3
with:
tag_name: ${{ steps.sdk_version.outputs.version }}
draft: false
prerelease: false
generate_release_notes: false
fail_on_unmatched_files: true
files: |
projects\windows\sdk\eepp-sdk-windows-x86_64-msvc-*.zip
- name: Install Mesa for software rendering
uses: f3d-app/install-mesa-windows-action@v1
with: