mirror of
https://github.com/Gurge44/EndlessHostRoles.git
synced 2026-10-19 15:51:58 +00:00
add alternative
This commit is contained in:
1 parent
c068725b5d
commit
cb13685c81
2 files changed
+326
-1
No files matched your search
@@ -0,0 +1,325 @@
|
||||
name: Build & Release EHR Il2Cpp Only
|
||||
|
||||
permissions:
|
||||
actions: read
|
||||
contents: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: "Version (e.g. 7.0.2)"
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
prepare-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Sync translations from Crowdin
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
upload_sources: false
|
||||
download_translations: true
|
||||
push_translations: true
|
||||
push_sources: false
|
||||
localization_branch_name: main
|
||||
crowdin_branch_name: main
|
||||
commit_message: "chore: update translations for release ${{ github.event.inputs.version }}"
|
||||
create_pull_request: false
|
||||
config: crowdin.yml
|
||||
env:
|
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 1) Build EHR - IL2CPP
|
||||
# ---------------------------------------------------------
|
||||
build-ehr:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [prepare-build]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
- name: Restore IL2CPP
|
||||
run: dotnet restore EHR.csproj -p:Configuration=IL2CPP
|
||||
|
||||
- name: Build IL2CPP
|
||||
run: dotnet build EHR.csproj -c IL2CPP --no-restore -o build/il2cpp
|
||||
|
||||
- name: Upload IL2CPP EHR
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ehr-il2cpp
|
||||
path: build/il2cpp/EHR.dll
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 2) Build Control Panel on Windows using MSBuild
|
||||
# ---------------------------------------------------------
|
||||
build-control-panel:
|
||||
runs-on: windows-latest
|
||||
needs: [prepare-build]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
- name: Setup MSBuild
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Restore .NET packages
|
||||
run: dotnet restore -p:SelfContained=true CTA/CustomTeamAssigner/CustomTeamAssigner.csproj
|
||||
|
||||
- name: Build Control Panel (MSBuild)
|
||||
run: |
|
||||
msbuild CTA/CustomTeamAssigner/CustomTeamAssigner.csproj `
|
||||
/p:Configuration=Release `
|
||||
/p:Platform="x64" `
|
||||
/p:PublishSingleFile=true `
|
||||
/p:SelfContained=true `
|
||||
/p:RuntimeIdentifier=win-x64 `
|
||||
/p:IncludeAllContentForSelfExtract=true `
|
||||
/p:DebugType=None `
|
||||
/p:PublishDir=build\ `
|
||||
/t:publish
|
||||
|
||||
- name: Rename exe file
|
||||
run: |
|
||||
mkdir build/
|
||||
mv CTA/CustomTeamAssigner/build/CustomTeamAssigner.exe build/EHR_Control-Panel_BETA.exe
|
||||
|
||||
- name: Upload Control Panel artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: control-panel
|
||||
path: build\EHR_Control-Panel_BETA.exe
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 3) Sign binaries using SignPath
|
||||
# ---------------------------------------------------------
|
||||
sign:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build-ehr, build-control-panel]
|
||||
|
||||
steps:
|
||||
- name: Download IL2CPP EHR
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ehr-il2cpp
|
||||
path: signing/il2cpp
|
||||
|
||||
- name: Download Control Panel
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: control-panel
|
||||
path: signing
|
||||
|
||||
- name: Create SignPath ZIP
|
||||
run: |
|
||||
cd signing
|
||||
zip ../signpath-input.zip \
|
||||
il2cpp/EHR.dll \
|
||||
EHR_Control-Panel_BETA.exe
|
||||
|
||||
- name: Upload unsigned artifact
|
||||
id: upload-unsigned-artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: signpath-input
|
||||
path: signpath-input.zip
|
||||
|
||||
- name: Submit signing request
|
||||
uses: signpath/github-action-submit-signing-request@v2
|
||||
with:
|
||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||
organization-id: 298f5e96-d02b-40b5-88f6-32bddafcd47d
|
||||
project-slug: EndlessHostRoles
|
||||
signing-policy-slug: release-signing
|
||||
artifact-configuration-slug: initial
|
||||
github-artifact-id: ${{ steps.upload-unsigned-artifact.outputs.artifact-id }}
|
||||
wait-for-completion: true
|
||||
output-artifact-directory: signed
|
||||
|
||||
- name: Extract signed ZIP
|
||||
run: |
|
||||
mkdir extracted
|
||||
unzip signed/*.zip -d extracted
|
||||
|
||||
- name: Upload signed binaries
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: signed-binaries
|
||||
path: extracted/*
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 4) Package everything on Linux
|
||||
# ---------------------------------------------------------
|
||||
package:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [sign]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Download signed binaries
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: signed-binaries
|
||||
path: artifacts/signed
|
||||
|
||||
- name: Prepare release folders
|
||||
run: |
|
||||
mkdir -p epic
|
||||
mkdir -p steam
|
||||
|
||||
# -----------------------------
|
||||
# IL2CPP
|
||||
# -----------------------------
|
||||
|
||||
- name: Download BepInEx 6 pre-release 735
|
||||
run: |
|
||||
curl -L https://builds.bepinex.dev/projects/bepinex_be/735/BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.735%2B5fef357.zip -o bepinex-x64.zip
|
||||
unzip bepinex-x64.zip -d epic
|
||||
chmod -R u+rwX,go+rX epic
|
||||
|
||||
curl -L https://builds.bepinex.dev/projects/bepinex_be/735/BepInEx-Unity.IL2CPP-win-x86-6.0.0-be.735%2B5fef357.zip -o bepinex-x86.zip
|
||||
unzip bepinex-x86.zip -d steam
|
||||
chmod -R u+rwX,go+rX steam
|
||||
|
||||
- name: Copy IL2CPP EHR dll to plugins
|
||||
run: |
|
||||
cp artifacts/signed/il2cpp/EHR.dll epic/BepInEx/plugins/
|
||||
cp artifacts/signed/il2cpp/EHR.dll steam/BepInEx/plugins/
|
||||
|
||||
- name: Download modded regions DLL
|
||||
run: |
|
||||
curl -L https://github.com/miniduikboot/Mini.RegionInstall/releases/download/v1.2.0/Mini.RegionInstall.dll -o epic/BepInEx/plugins/Mini.RegionInstall.dll
|
||||
cp epic/BepInEx/plugins/Mini.RegionInstall.dll steam/BepInEx/plugins/Mini.RegionInstall.dll
|
||||
|
||||
- name: Copy IL2CPP packaging files
|
||||
run: |
|
||||
cp -rf packaging/epic/* epic/
|
||||
cp -rf packaging/steam/* steam/
|
||||
cp -rf packaging/il2cppinterop/* steam/BepInEx/core/
|
||||
cp -rf packaging/il2cppinterop/* epic/BepInEx/core/
|
||||
|
||||
- name: Steam App ID
|
||||
run: |
|
||||
echo "945360" > steam/steam_appid.txt
|
||||
echo "945360" > epic/steam_appid.txt
|
||||
|
||||
# -----------------------------
|
||||
# Create ZIPs
|
||||
# -----------------------------
|
||||
|
||||
- name: Create Epic/MS Store ZIP
|
||||
run: |
|
||||
cd epic
|
||||
zip -r "../EHR.v${{ github.event.inputs.version }}_Steam_Epic-Games_Microsoft-Store.zip" .
|
||||
|
||||
- name: Create Steam ZIP
|
||||
run: |
|
||||
cd steam
|
||||
zip -r "../EHR.v${{ github.event.inputs.version }}_Itch.zip" .
|
||||
|
||||
- name: Upload release artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: final-zips
|
||||
path: ./EHR*.zip
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 5) Upload releases to CurseForge
|
||||
# ---------------------------------------------------------
|
||||
publish-curseforge:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [package]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Download packaged ZIPs
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: final-zips
|
||||
path: release-artifacts
|
||||
|
||||
- name: Upload Epic / Microsoft Store build to CurseForge
|
||||
uses: itsmeow/curseforge-upload@v3
|
||||
with:
|
||||
token: ${{ secrets.CURSEFORGE_API_TOKEN }}
|
||||
project_id: ${{ secrets.CURSEFORGE_PROJECT_ID }}
|
||||
game_endpoint: among-us
|
||||
file_path: release-artifacts/EHR.v${{ github.event.inputs.version }}_Steam_Epic-Games_Microsoft-Store.zip
|
||||
display_name: EHR v${{ github.event.inputs.version }} (x64 - Steam/Epic/MS Store)
|
||||
release_type: release
|
||||
game_versions: "18.0.0"
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# 6) Create GitHub Release
|
||||
# ---------------------------------------------------------
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [package]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# -----------------------------
|
||||
# Download all artifacts
|
||||
# -----------------------------
|
||||
- name: Download packaged ZIPs
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: final-zips
|
||||
path: release-artifacts/zips
|
||||
|
||||
- name: Download signed binaries
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: signed-binaries
|
||||
path: release-artifacts/signed
|
||||
|
||||
# -----------------------------
|
||||
# Create GitHub Release
|
||||
# -----------------------------
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: "v${{ github.event.inputs.version }}"
|
||||
name: "EHR v${{ github.event.inputs.version }}"
|
||||
generate_release_notes: true
|
||||
body_path: CHANGELOG.md
|
||||
files: |
|
||||
release-artifacts/zips/*
|
||||
release-artifacts/signed/il2cpp/EHR.dll
|
||||
release-artifacts/signed/*.exe
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# -----------------------------
|
||||
# Send Mod News
|
||||
# -----------------------------
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.x
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip install requests markdown
|
||||
|
||||
- name: Run script and send ModNews
|
||||
env:
|
||||
MODNEWS_API_URL: ${{ secrets.MODNEWS_API_URL }}
|
||||
MODNEWS_API_TOKEN: ${{ secrets.MODNEWS_API_TOKEN }}
|
||||
run: python release_to_modnews.py
|
||||
@@ -297,7 +297,7 @@ jobs:
|
||||
project_id: ${{ secrets.CURSEFORGE_PROJECT_ID }}
|
||||
game_endpoint: among-us
|
||||
file_path: release-artifacts/EHR.v${{ github.event.inputs.version }}_Steam_Epic-Games_Microsoft-Store.zip
|
||||
display_name: EHR v${{ github.event.inputs.version }} (x64 - Epic/MS Store)
|
||||
display_name: EHR v${{ github.event.inputs.version }} (x64 - Steam/Epic/MS Store)
|
||||
release_type: release
|
||||
game_versions: "18.0.0"
|
||||
|
||||
|
||||
Reference in new issue
Block a user