Skip to content

About

Slafurry discord bot for deploying games to Itch.io or github releases

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Build and Deploy to itch.io

GitHub Actions workflow untuk build project Unity (Windows, macOS, WebGL) dan deploy otomatis ke itch.io via Butler, dengan notifikasi Discord dan opsi GitHub Release.

Trigger

Manual via workflow_dispatch dengan input:

Input Deskripsi Default
platforms Platform yang di-build: All, Windows, macOS, WebGL All
release_tag Tag release (mis. v1.0.0). Kosongkan untuk build biasa tanpa GitHub Release ""

Runner per Platform

Platform Runner Build Target
Windows windows-latest StandaloneWindows64
macOS macos-latest StandaloneOSX
WebGL macos-latest WebGL

Windows dan macOS dibuild di runner native masing-masing (bukan cross-compile), karena buildalon/unity-setup gagal install module Build Support yang benar saat dipaksa cross-compile dari macOS (Windows: build target was unsupported, Linux: scripting backend Mono not installed).

Jobs

  1. prepare — menentukan matrix build berdasarkan input platforms.
  2. build — checkout, cache Library, setup Unity (buildalon/unity-setup@v2), aktivasi lisensi, build (buildalon/unity-action@v3 memanggil BuildScript.Build), diagnosa log jika gagal, verifikasi output, upload artifact.
  3. deploy — download artifact tiap platform yang dibuild, install Butler, push ke channel itch.io masing-masing.
  4. github-release — hanya jalan jika release_tag diisi; zip build tiap platform dan publish GitHub Release.
  5. notify — generate teks flavor via Gemini API, kirim embed ke Discord dengan status tiap platform.

Environment Variables (Repo/Org Variables)

Variable Deskripsi Default
UNITY_PROJECT_PATH Path project Unity .
ITCH_USER Username itch.io —
ITCH_GAME Slug game itch.io —
GAME_DISPLAY_NAME Nama tampilan game ITCH_GAME
ITCH_CHANNEL_WINDOWS Channel Butler untuk Windows windows
ITCH_CHANNEL_MAC Channel Butler untuk macOS mac
ITCH_CHANNEL_WEBGL Channel Butler untuk WebGL html5
GEMINI_MODEL Model Gemini untuk flavor text gemini-2.5-flash
GEMINI_PERSONA Persona/gaya penulisan Gemini (persona default announcer)
GEMINI_LANGUAGE Bahasa output Gemini mengikuti bahasa persona

Secrets

Secret Deskripsi
UNITY_EMAIL Email akun Unity (lisensi Personal)
UNITY_PASSWORD Password akun Unity
BUTLER_API_KEY API key Butler (itch.io)
GEMINI_API_KEY API key Gemini
DISCORD_WEBHOOK_URL_DEPLOY Webhook URL Discord untuk notifikasi deploy

Catatan

  • Job build memakai fail-fast: false — kegagalan satu platform tidak menghentikan platform lain.
  • Cache Library di-key per matrix.os dan matrix.target agar tidak bentrok antar runner.
  • Jika ingin menambah target Linux kembali, build harus dijalankan di ubuntu-latest (bukan macos-latest), bukan sekadar menambah StandaloneLinux64 ke matrix yang jalan di macOS.

About

Slafurry discord bot for deploying games to Itch.io or github releases

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors