mirror of
https://github.com/RoyalnetworkTR/simple-launcher.git
synced 2026-09-25 01:39:49 +03:00
Backend (PHP+SQLite): Discord OAuth2 + JWT, coklu hesap (1 Discord = 3-5), tek-kullanimlik join token (/api/join/prepare+verify), custom skin yukleme/sunma, hesap/Discord/HWID ban, admin paneli kartlari; deterministik offline UUID (PHP<->C# paritesi dogrulandi). 25 entegrasyon testi gecti. AthenaCore (Forge 1.12.2): tek client+server mod — join token dogrulama + kick, grace-gate, custom skin uygulama. Sunucu offline-mode kalir (UUID/dunya verisi korunur). Masaustu: WPF -> Avalonia (Windows+Linux), Discord giris/hesap/skin/oyna; WMI/DPAPI yerine cross-platform (machine-id HWID, AES-GCM secret store). Derlenir + calisir. CI: athenacore-mod.yml (JDK8), desktop-release.yml (Win+Linux self-contained). Deploy: deploy.sh (.env uretimi, php-gd, nginx Authorization gecisi) + HANDOFF.md. Android: backend hazir; entegrasyon spec'i ANDROID_INTEGRATION.md.
67 lines
2.2 KiB
YAML
67 lines
2.2 KiB
YAML
name: Athena Desktop (Windows + Linux)
|
||
|
||
# Avalonia masaüstü launcher'ını Windows ve Linux için derler.
|
||
# - "v1.0.0" gibi bir tag push'larsanız: kendi-içinde (self-contained) tek dosya
|
||
# yapılar üretilir ve Release'e eklenir (Win .zip, Linux .tar.gz).
|
||
# - Actions'tan elle de tetiklenebilir (workflow_dispatch) -> artifact olarak iner.
|
||
|
||
on:
|
||
push:
|
||
tags:
|
||
- 'v*'
|
||
workflow_dispatch:
|
||
|
||
permissions:
|
||
contents: write
|
||
|
||
jobs:
|
||
build:
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
include:
|
||
- os: windows-latest
|
||
rid: win-x64
|
||
- os: ubuntu-latest
|
||
rid: linux-x64
|
||
runs-on: ${{ matrix.os }}
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
|
||
- name: .NET 9 kur
|
||
uses: actions/setup-dotnet@v4
|
||
with:
|
||
dotnet-version: '9.0.x'
|
||
|
||
- name: Publish (self-contained, tek dosya)
|
||
run: dotnet publish AthenaLauncher.Desktop/AthenaLauncher.Desktop.csproj -c Release -r ${{ matrix.rid }} --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish-${{ matrix.rid }}
|
||
|
||
- name: Paketle (Windows .zip)
|
||
if: matrix.rid == 'win-x64'
|
||
shell: pwsh
|
||
run: Compress-Archive -Path "publish-${{ matrix.rid }}/*" -DestinationPath "AthenaStudiosLauncher-${{ matrix.rid }}.zip" -Force
|
||
|
||
- name: Paketle (Linux .tar.gz)
|
||
if: matrix.rid == 'linux-x64'
|
||
run: tar -czf "AthenaStudiosLauncher-${{ matrix.rid }}.tar.gz" -C "publish-${{ matrix.rid }}" .
|
||
|
||
- name: Artifact olarak yükle
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: athena-desktop-${{ matrix.rid }}
|
||
path: |
|
||
AthenaStudiosLauncher-${{ matrix.rid }}.zip
|
||
AthenaStudiosLauncher-${{ matrix.rid }}.tar.gz
|
||
if-no-files-found: error
|
||
|
||
- name: Otomatik Release (yalnız tag)
|
||
if: startsWith(github.ref, 'refs/tags/')
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: |
|
||
AthenaStudiosLauncher-${{ matrix.rid }}.zip
|
||
AthenaStudiosLauncher-${{ matrix.rid }}.tar.gz
|
||
env:
|
||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|