Skip to content

Release

Release #25

Workflow file for this run

name: Release
on: workflow_dispatch
permissions:
contents: write
discussions: write
env:
PROJECT_NAME: ShadowEngine
jobs:
build:
name: ${{ matrix.name }}
strategy:
matrix:
include:
- name: Windows i686
os: windows-2025
buildArgs: "windows -final -32 -D HXCPP_M32 -D officialBuild"
assetType: S3TC
artifactName: windowsBuild-i686
artifactPath: export\release\windows\bin\*
- name: Windows x86_64
os: windows-2025
buildArgs: "windows -final -64 -D HXCPP_M64 -D officialBuild"
assetType: S3TC
artifactName: windowsBuild-x86_64
artifactPath: export\release\windows\bin\*
- name: Windows ARM64
os: windows-2025
buildArgs: "windows -final -arm64 -D HXCPP_ARM64 -D officialBuild"
assetType: S3TC
artifactName: windowsBuild-arm64
artifactPath: export\release\windows\bin\*
- name: Linux i686
os: ubuntu-24.04
buildArgs: "linux -final -32 -D HXCPP_M32 -D officialBuild"
assetType: S3TC
artifactName: linuxBuild-i686
artifactPath: export/release/linux/bin/*
- name: Linux x86_64
os: ubuntu-24.04
buildArgs: "linux -final -64 -D HXCPP_M64 -D officialBuild"
assetType: S3TC
artifactName: linuxBuild-x86_64
artifactPath: export/release/linux/bin/*
- name: Linux ARMV7
os: ubuntu-24.04-arm
buildArgs: "linux -final -armv7 -D HXCPP_ARMV7 -D officialBuild"
assetType: ASTC
artifactName: linuxBuild-armv7
artifactPath: export/release/linux/bin/*
- name: Linux ARM64
os: ubuntu-24.04-arm
buildArgs: "linux -final -arm64 -D HXCPP_ARM64 -D officialBuild"
assetType: ASTC
artifactName: linuxBuild-arm64
artifactPath: export/release/linux/bin/*
- name: Android
os: macos-26
buildArgs: "android -final -D officialBuild"
assetType: ASTC
artifactName: androidBuild
artifactPath: "export/release/android/bin/app/build/outputs/apk/release/*.apk"
- name: iOS
os: macos-26
buildArgs: "ios -final -nosign -D officialBuild"
assetType: ASTC
artifactName: iOSBuild
artifactPath: "export/release/ios/build/Release-iphoneos/*.ipa"
uses: ./.github/workflows/build.yml
secrets:
SE_KEYSTORE_FILE: ${{ secrets.SE_KEYSTORE_FILE }}
SE_KEYSTORE_INFO_FILE: ${{ secrets.SE_KEYSTORE_INFO_FILE }}
with:
name: ${{ matrix.name }}
os: ${{ matrix.os }}
buildArgs: ${{ matrix.buildArgs }}
assetType: ${{ matrix.assetType }}
artifactName: ${{ matrix.artifactName }}
artifactPath: ${{ matrix.artifactPath }}
Build-macOS-x86_64:
name: Build (macOS x86_64)
uses: ./.github/workflows/build.yml
with:
name: macOS x86_64
os: macos-26
buildArgs: "mac -64 -D HXCPP_M64"
assetType: S3TC
artifactName: macOSBuild-x86_64
artifactPath: export/release/macos/bin/*
Build-macOS-ARM64:
name: Build (macOS ARM64)
uses: ./.github/workflows/build.yml
with:
name: macOS ARM64
os: macos-26
buildArgs: "mac -arm64 -D HXCPP_ARM64"
assetType: S3TC
artifactName: macOSBuild-arm64
artifactPath: export/release/macos/bin/*
macOS-universal:
name: macOS Universal
runs-on: macos-26
needs:
- Build-macOS-x86_64
- Build-macOS-ARM64
steps:
- name: Download x86_64 build
uses: actions/download-artifact@main
with:
name: macOSBuild-x86_64-S3TC
path: intel
- name: Download ARM64 build
uses: actions/download-artifact@main
with:
name: macOSBuild-arm64-S3TC
path: arm
- name: Remove ARM64 and x86_64 artifacts
uses: geekyeggo/delete-artifact@main
with:
name: macOSBuild-*
- name: Create Universal App Bundle
shell: bash
run: |
BIN="ShadowEngine.app/Contents/MacOS"
INTEL="intel/ShadowEngine.app/Contents/MacOS"
ARM="arm/ShadowEngine.app/Contents/MacOS"
cp -R intel/ShadowEngine.app ShadowEngine.app
lipo -create "$INTEL/ShadowEngine" "$ARM/ShadowEngine" -output "$BIN/ShadowEngine"
lipo -create "$INTEL/lime.ndll" "$ARM/lime.ndll" -output "$BIN/lime.ndll"
- name: Upload Universal macOS bundle
uses: actions/upload-artifact@main
with:
name: macOSBuild-Universal-S3TC
path: ShadowEngine.app
Releaser:
needs: [build]
runs-on: ubuntu-latest
permissions: write-all
steps:
- name: Download Android Build
uses: actions/download-artifact@main
with:
name: androidBuild-ASTC
path: /home/runner
- name: Move Android File
run: mv /home/runner/${{ env.PROJECT_NAME }}-release.apk /home/runner/${{ env.PROJECT_NAME }}-ASTC-Android.apk
- name: Download iOS Build
uses: actions/download-artifact@main
with:
name: iOSBuild-ASTC
path: ${{ github.workspace }}
- name: Move iOS File
run: mv ${{ github.workspace }}/${{ env.PROJECT_NAME }}.ipa /home/runner/${{ env.PROJECT_NAME }}-ASTC-iOS.ipa
- name: Download Linux i686 Build
uses: actions/download-artifact@main
with:
name: linuxBuild-i686-S3TC
path: /home/runner/linuxBuild-i686
- name: Tar Linux i686 Build For Release
run: |
cd /home/runner/linuxBuild-i686
tar czf "/home/runner/${{ env.PROJECT_NAME }}-S3TC-linux-i686.tar" .
- name: Download Linux x86_64 Build
uses: actions/download-artifact@main
with:
name: linuxBuild-x86_64-S3TC
path: /home/runner/linuxBuild-x86_64
- name: Tar Linux x86_64 Build For Release
run: |
cd /home/runner/linuxBuild-x86_64
tar czf "/home/runner/${{ env.PROJECT_NAME }}-S3TC-linux-x86_64.tar" .
- name: Download Linux ARMV7 Build
uses: actions/download-artifact@main
with:
name: linuxBuild-armv7-ASTC
path: /home/runner/linuxBuild-armv7
- name: Tar Linux ARMV7 Build For Release
run: |
cd /home/runner/linuxBuild-armv7
tar czf "/home/runner/${{ env.PROJECT_NAME }}-ASTC-linux-armv7.tar" .
- name: Download Linux ARM64 Build
uses: actions/download-artifact@main
with:
name: linuxBuild-arm64-ASTC
path: /home/runner/linuxBuild-arm64
- name: Tar Linux ARM64 Build For Release
run: |
cd /home/runner/linuxBuild-arm64
tar czf "/home/runner/${{ env.PROJECT_NAME }}-ASTC-linux-arm64.tar" .
- name: Download macOS Universal Build
uses: actions/download-artifact@main
with:
name: macOSBuild-Universal-S3TC
path: /home/runner/macOSBuild-Universal
- name: Tar macOS x86_64 Build For Release
run: |
cd /home/runner/macOSBuild-Universal
tar czf "/home/runner/${{ env.PROJECT_NAME }}-S3TC-macOS-Universal.tar" .
- name: Download Windows i686 Build
uses: actions/download-artifact@main
with:
name: windowsBuild-i686-S3TC
path: /home/runner/windowsBuild-i686
- name: Zip Windows i686 Build For Release
run: |
cd /home/runner/windowsBuild-i686
zip -r "/home/runner/${{ env.PROJECT_NAME }}-S3TC-windows-i686.zip" .
- name: Download Windows x86_64 Build
uses: actions/download-artifact@main
with:
name: windowsBuild-x86_64-S3TC
path: /home/runner/windowsBuild-x86_64
- name: Zip Windows x86_64 Build For Release
run: |
cd /home/runner/windowsBuild-x86_64
zip -r "/home/runner/${{ env.PROJECT_NAME }}-S3TC-windows-x86_64.zip" .
- name: Download Windows ARM64 Build
uses: actions/download-artifact@main
with:
name: windowsBuild-arm64-S3TC
path: /home/runner/windowsBuild-arm64
- name: Zip Windows ARM64 Build For Release
run: |
cd /home/runner/windowsBuild-arm64
zip -r "/home/runner/${{ env.PROJECT_NAME }}-S3TC-windows-arm64.zip" .
- name: Publish The Release
uses: softprops/action-gh-release@v2
with:
name: "0.4.4"
tag_name: "0.4.4"
prerelease: false
files: |
/home/runner/*.apk
/home/runner/*.ipa
/home/runner/*.tar
/home/runner/*.zip