mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-26 07:28:45 -07:00
b1c1239165
A Jenkinsfile builds, on push (only what changed) or on demand: - the PC patcher zip (MelonLoader, the mod, config template, Steam stub), - the full PC client (stock build + patcher + config), - the Quest APK and .xapk. Stock builds come out of the restic build archive on the FTP: restic through its rclone backend, picked by snapshot tag per run and cached. The FTP login and restic password are Jenkins credentials, and the repository folders are environment settings, so nothing about the archive is fixed in the repo. ci/jenkins/Dockerfile is the Jenkins image with the toolchain added (.NET SDK, Android NDK and build-tools, apktool, Python with LIEF, restic, rclone), for the existing Jenkins service. The build scripts move from PowerShell to Python so they run the same on Windows, Linux and in CI: - DorkNet.Quest/scripts/build.py replaces build.ps1 + package.ps1; it can use a committed hook table (checked against the APK's libil2cpp.so) instead of dump.cs, and takes a persistent keystore. - tools/build_pc.py replaces build-patcher-zip.ps1 (now with the 2023 install layout) and adds the full-client build. Setup steps are in ci/jenkins/README.md.
59 lines
2.0 KiB
YAML
59 lines
2.0 KiB
YAML
name: Release (december-2020-12-18)
|
|
|
|
# Auto-publishes dorknet-server + dorknet-clientpatch zips to a
|
|
# GitHub Release on tag push. The launcher (on the public main
|
|
# branch) fetches the most-recent tag matching its prefix and
|
|
# downloads these assets, so the tag format MUST start with the
|
|
# branch's release_tag_prefix declared in versions.json.
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v1-december-*'
|
|
|
|
permissions:
|
|
contents: write # create the GitHub release + upload assets
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: windows-latest
|
|
|
|
env:
|
|
VERSION_KEY: december_2020_12_18
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '9.0.x'
|
|
|
|
# ── Server self-contained publish ────────────────────────────────
|
|
- name: Publish DorkNet.Server (win-x64, self-contained)
|
|
run: |
|
|
dotnet publish DorkNet.Server/DorkNet.Server.csproj `
|
|
-c Release -r win-x64 --self-contained `
|
|
-p:PublishSingleFile=true `
|
|
-p:IncludeNativeLibrariesForSelfExtract=true `
|
|
-p:EnableCompressionInSingleFile=true `
|
|
-o publish/server
|
|
|
|
- name: Zip server publish
|
|
run: |
|
|
Compress-Archive -Path publish/server/* `
|
|
-DestinationPath dorknet-server-${{ env.VERSION_KEY }}-win-x64.zip
|
|
|
|
# ── Client patcher zip (built via tools/build_pc.py) ─────────────
|
|
- name: Build client patcher zip
|
|
run: |
|
|
python tools/build_pc.py patcher --version-key ${{ env.VERSION_KEY }}
|
|
|
|
# ── Publish both as Release assets ───────────────────────────────
|
|
- name: Upload Release assets
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
dorknet-server-${{ env.VERSION_KEY }}-win-x64.zip
|
|
dist/dorknet-clientpatch-${{ env.VERSION_KEY }}.zip
|
|
fail_on_unmatched_files: true
|