Merge pull request #4071 from KBVE/dev #571
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI - Alpha | |
on: | |
push: | |
branches: | |
- 'alpha*' | |
jobs: | |
globals: | |
runs-on: ubuntu-latest | |
name: Global Variables | |
outputs: | |
sha256head: ${{ steps.hash.outputs.sha256head }} | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Calculate SHA-256 Hash | |
id: hash | |
run: | | |
echo "::set-output name=sha256head::$(echo -n ${{ github.sha }} | sha256sum | awk '{print $1}')" | |
setup: | |
name: 'Setup' | |
runs-on: ubuntu-latest | |
outputs: | |
build_unity: ${{ steps.set_output.outputs.build_unity }} | |
steps: | |
- id: set_output | |
shell: bash | |
run: | | |
echo "build_unity=true" >> $GITHUB_OUTPUT | |
handle: | |
name: 'Alpha to Beta' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Auto-Pull | |
id: open-pr | |
uses: diillson/[email protected] | |
with: | |
destination_branch: 'beta' | |
pr_title: 'Preparing Beta Branch' | |
pr_body: | | |
*An automated PR for Beta* | |
This PR is for the beta branch | |
pr_label: 'auto-pr' | |
- name: output-url | |
run: echo ${{steps.open-pr.outputs.pr_url}} | |
- name: output-number | |
run: echo ${{steps.open-pr.outputs.pr_number}} | |
- name: output-created | |
run: echo ${{steps.open-pr.outputs.pr_created}} | |
- name: output-has-changed-files | |
run: echo ${{steps.open-pr.outputs.has_changed_files}} | |
alter: | |
name: 'Alpha Deployment Checks' | |
runs-on: ubuntu-latest | |
if: github.repository == 'kbve/kbve' | |
outputs: | |
herbmail: ${{ steps.delta.outputs.herbmail_any_changed }} | |
kbve: ${{ steps.delta.outputs.kbve_any_changed }} | |
rareicon: ${{ steps.delta.outputs.rareicon_all_changed_files }} | |
discordsh: ${{ steps.delta.outputs.discordsh_all_changed_files }} | |
atlas: ${{ steps.delta.outputs.atlas_any_changed }} | |
rustapiprofile: ${{ steps.delta.outputs.rustapiprofile_any_changed }} | |
expolcagents: ${{ steps.delta.outputs.expolcagents_any_changed }} | |
kilonet: ${{ steps.delta.outputs.kilonet_any_changed }} | |
rustrareicongameserver: ${{ steps.delta.outputs.rustrareicongameserver_any_changed }} | |
kanban: ${{ steps.delta.outputs.kanban_any_changed }} | |
pydiscordsh: ${{ steps.delta.outputs.pydiscordsh_any_changed }} | |
pirate16: ${{ steps.delta.outputs.pirate16_any_changed }} | |
godottowerdefense: ${{ steps.delta.outputs.godottowerdefense_any_changed }} | |
steps: | |
- name: Checkout the repository using git | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: File Changes | |
id: delta | |
uses: tj-actions/changed-files@v39 | |
with: | |
files_yaml: | | |
herbmail: | |
- 'apps/herbmail.com/**' | |
kbve: | |
- 'apps/kbve/kbve.com/**' | |
rareicon: | |
- 'apps/rareicon.com/**' | |
discordsh: | |
- 'apps/discord.sh/**' | |
atlas: | |
- 'apps/atlas/kbve_atlas/**' | |
rustapiprofile: | |
- 'apps/rust_api_profile/**' | |
expolcagents: | |
- 'apps/expo-lcagents/**' | |
kilonet: | |
- 'packages/kilonet/README.md' | |
rustrareicongameserver: | |
- 'apps/rust_rareicon_gameserver/README.md' | |
kanban: | |
- 'apps/rust_kanban/README.md' | |
pydiscordsh: | |
- 'apps/pydiscordsh/README.md' | |
pirate16: | |
- 'apps/kbve.com/src/content/docs/project/pirate16.mdx' | |
godottowerdefense: | |
- 'apps/rust_godot_towerdefense/README.md' | |
## ! Builds | |
#### Godot | |
godot-towerdefense-build: | |
needs: ['alter', 'globals'] | |
name: GoDot TowerDefense Build | |
#runs-on: ubuntu-latest | |
runs-on: ubuntu-20.04 | |
container: | |
image: barichello/godot-ci:4.3 | |
if: needs.alter.outputs.godottowerdefense == 'true' | |
env: | |
GODOT_VERSION: 4.3 | |
EXPORT_NAME: TowerDef | |
PROJECT_PATH: ./apps/rust_godot_towerdefense/godot | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: false | |
- name: Setup | |
run: | | |
mkdir -v -p ~/.local/share/godot/export_templates/ | |
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable | |
- name: Web Build | |
run: | | |
mkdir -v -p build/web | |
EXPORT_DIR="$(readlink -f build)" | |
cd $PROJECT_PATH | |
ls -a | |
godot --headless --verbose --export-release "Web" "$EXPORT_DIR/web/index.html" | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: godottowerdefenseweb | |
path: build/web | |
godot-towerdefense-itch-deployment: | |
needs: ['godot-towerdefense-build'] | |
name: GoDot Tower Defense Itch Deployment | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download WebGL Build | |
uses: actions/download-artifact@v4 | |
id: download | |
with: | |
name: godottowerdefenseweb | |
path: build/web | |
- name: Itch Deploy | |
uses: KikimoraGames/[email protected] | |
with: | |
butlerApiKey: ${{ secrets.ITCH_API }} | |
gameData: ${{steps.download.outputs.download-path}} | |
itchUsername: kbve | |
itchGameId: tower-defense | |
buildChannel: webgl | |
expo-lcagents-web-build: | |
needs: ['alter', 'globals'] | |
name: Expo LC Agents Web Build | |
runs-on: ubuntu-latest | |
if: needs.alter.outputs.expolcagents == 'true' | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Setup PNPM | |
uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
run_install: false | |
- name: Install react-native-cli globally | |
run: pnpm add -g react-native-cli | |
- name: Install dependencies | |
run: pnpm install | |
- name: Setup Watchman (if applicable) | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y watchman | |
watchman --version | |
- name: NX Command | |
shell: bash | |
continue-on-error: true | |
run: | | |
pnpm nx run expo-lcagents:export --verbose | |
- name: NX Command - 2 | |
shell: bash | |
continue-on-error: true | |
run: | | |
pnpm nx run expo-lcagents:export --verbose | |
- name: LCA Expo Build | |
uses: ./.github/actions/kbve-shell | |
with: | |
flag: '-nx expo-lcagents:export' | |
create_pull_request: false | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create .nojekyll file | |
run: | | |
mkdir -p dist/apps/expo-lcagents/ | |
touch dist/apps/expo-lcagents/.nojekyll | |
- name: Create CNAME file | |
run: | | |
mkdir -p dist/apps/expo-lcagents/ | |
echo "lc-agents.com" > dist/apps/expo-lcagents/CNAME | |
- name: LC Agents -> Deployment | |
uses: dobbelina/copy_file_to_another_repo_action@main | |
env: | |
API_TOKEN_GITHUB: ${{ secrets.UNITY_PAT }} | |
with: | |
source_file: 'dist/apps/expo-lcagents/' | |
destination_repo: 'KBVE/lc-agents.com' | |
destination_folder: '/docs' | |
destination_branch: 'main' | |
destination_branch_create: 'patch-kbve-lcagents-deploy-${{ needs.globals.outputs.sha256head }}' | |
user_email: '[email protected]' | |
user_name: 'h0lybyte' | |
commit_message: ${{ github.event.head_commit.message }} | |
rsync_option: '-avrh --delete' | |
pirate16-build: | |
needs: ['alter', 'globals'] | |
name: Pirate16 Unity Build | |
runs-on: ubuntu-20.04 | |
if: needs.alter.outputs.pirate16 == 'true' | |
strategy: | |
fail-fast: false | |
matrix: | |
projectPath: | |
- azure-pirate16 | |
unityVersion: | |
- 6000.0.25f1 | |
targetPlatform: | |
- WebGL | |
steps: | |
# - name: Checkout this repository | |
# uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
- name: Pull Pirate16 Repo | |
env: | |
AZURE_PAT: ${{ secrets.AZURE_NOV2025_TOKEN_SECRET }} | |
run: | | |
git config --global user.name "GitHub Actions" | |
git config --global user.email "[email protected]" | |
git clone https://kbve:${AZURE_PAT}@dev.azure.com/kbve/pirate16/_git/pirate16 azure-pirate16 | |
- name: Unity Cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ matrix.projectPath }}/Library | |
key: Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }} | |
restore-keys: | | |
Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}- | |
Library-${{ matrix.projectPath }}- | |
Library- | |
- name: Unity Builder | |
uses: game-ci/unity-builder@v4 | |
env: | |
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} | |
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} | |
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} | |
with: | |
projectPath: ${{ matrix.projectPath }} | |
unityVersion: ${{ matrix.unityVersion }} | |
targetPlatform: ${{ matrix.targetPlatform }} | |
- name: Unity Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: P16Build-${{ matrix.targetPlatform }} | |
path: build/${{ matrix.targetPlatform }} | |
pirate-16-itch-deployment: | |
needs: ['pirate16-build'] | |
name: Pirate 16 Itch Deployment | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download WebGL Build | |
uses: actions/download-artifact@v4 | |
id: download | |
with: | |
name: P16Build-WebGL | |
path: build/WebGL | |
- name: Itch Deploy | |
uses: KikimoraGames/[email protected] | |
with: | |
butlerApiKey: ${{ secrets.ITCH_API }} | |
gameData: ${{steps.download.outputs.download-path}} | |
itchUsername: kbve | |
itchGameId: pirate16 | |
buildChannel: webgl | |
pirate16_webgl_deployment: | |
needs: ['pirate16-build', 'globals'] | |
name: Pirate16 GH Pages Deployment | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: Download Cache | |
uses: actions/download-artifact@v4 | |
id: download | |
with: | |
name: P16Build-WebGL | |
path: build/WebGL | |
- name: Check Downloaded Artifact | |
run: | | |
echo "Checking contents of build/WebGL..." | |
ls -al build/WebGL | |
- name: Copy WebGL files | |
run: | | |
echo "Preparing files for deployment..." | |
mkdir -p dist/apps/pirate16/ | |
cp -R build/WebGL/WebGL/* dist/apps/pirate16/ | |
echo "Files prepared in dist/apps/pirate16/" | |
ls -al dist/apps/pirate16/ | |
- name: Create .nojekyll and CNAME files | |
run: | | |
echo "Creating .nojekyll and CNAME files..." | |
touch dist/apps/pirate16/.nojekyll | |
echo "pirate16.kbve.com" > dist/apps/pirate16/CNAME | |
echo "CNAME file content:" | |
cat dist/apps/pirate16/CNAME | |
- name: WebGL Build -> Deployment | |
uses: dobbelina/copy_file_to_another_repo_action@main | |
env: | |
API_TOKEN_GITHUB: ${{ secrets.UNITY_PAT }} | |
with: | |
source_file: 'dist/apps/pirate16/' | |
destination_repo: 'KBVE/pirate16' | |
destination_folder: '/docs' | |
destination_branch: 'main' | |
destination_branch_create: 'patch-kbve-pirate16-unity-deploy-${{ needs.globals.outputs.sha256head }}' | |
user_email: '[email protected]' | |
user_name: 'h0lybyte' | |
commit_message: ${{ github.event.head_commit.message }} | |
rsync_option: '-avrh --delete' | |
kilonet-rareicon-build: | |
needs: ['alter', 'globals'] | |
name: Kilonet RareIcon | |
runs-on: ubuntu-20.04 | |
if: needs.alter.outputs.kilonet == 'true' | |
strategy: | |
fail-fast: false | |
matrix: | |
projectPath: | |
- azure-rareicon | |
unityVersion: | |
- 6000.0.25f1 | |
targetPlatform: | |
- StandaloneWindows64 | |
- WebGL | |
steps: | |
# - name: Checkout this repository | |
# uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
- name: Pull RareIcon Kilonet Repo | |
env: | |
AZURE_PAT: ${{ secrets.AZURE_NOV2025_TOKEN_SECRET }} | |
run: | | |
git config --global user.name "GitHub Actions" | |
git config --global user.email "[email protected]" | |
git clone https://kbve:${AZURE_PAT}@dev.azure.com/kbve/rareicon/_git/rareicon azure-rareicon | |
- name: Unity Cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ matrix.projectPath }}/Library | |
key: Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }} | |
restore-keys: | | |
Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}- | |
Library-${{ matrix.projectPath }}- | |
Library- | |
- name: Unity Builder | |
uses: game-ci/unity-builder@v4 | |
env: | |
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} | |
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} | |
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} | |
with: | |
projectPath: ${{ matrix.projectPath }} | |
unityVersion: ${{ matrix.unityVersion }} | |
targetPlatform: ${{ matrix.targetPlatform }} | |
- name: Unity Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Build-${{ matrix.targetPlatform }} | |
path: build/${{ matrix.targetPlatform }} | |
kilonet-rareicon-itch-deployment: | |
needs: ['kilonet-rareicon-build'] | |
name: Kilonet Rareicon Itch Deployment | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download WebGL Build | |
uses: actions/download-artifact@v4 | |
id: download | |
with: | |
name: Build-WebGL | |
path: build/WebGL | |
- name: Itch Deploy | |
uses: KikimoraGames/[email protected] | |
with: | |
butlerApiKey: ${{ secrets.ITCH_API }} | |
gameData: ${{steps.download.outputs.download-path}} | |
itchUsername: kbve | |
itchGameId: rareicon | |
buildChannel: webgl | |
python_discordsh: | |
needs: ['alter', 'globals'] | |
if: needs.alter.outputs.pydiscordsh == 'true' | |
name: PyDiscordSH Docker | |
runs-on: 'ubuntu-latest' | |
permissions: | |
contents: read | |
packages: write | |
# id-token: write | |
steps: | |
- name: Checkout the monorepo using git | |
uses: actions/checkout@v4 | |
- name: Setup Node v20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
run_install: false | |
- name: Get pnpm Store | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
- name: Setup pnpm Cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install pnpm dependencies | |
shell: bash | |
run: | | |
pnpm install | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build PyDiscordSH container with Nx | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pnpm nx run pydiscordsh:container --configuration=production --push | |
rust_kanban: | |
needs: ['alter', 'globals'] | |
if: needs.alter.outputs.kanban == 'true' | |
name: Rust Kanaban Docker | |
runs-on: 'ubuntu-latest' | |
permissions: | |
contents: read | |
packages: write | |
# id-token: write | |
steps: | |
- name: Checkout the monorepo using git | |
uses: actions/checkout@v4 | |
- name: Setup Node v20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
run_install: false | |
- name: Get pnpm Store | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
- name: Setup pnpm Cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install pnpm dependencies | |
shell: bash | |
run: | | |
pnpm install | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build Kanban container with Nx | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pnpm nx run rust_kanban:container --configuration=production --push | |
rareicon_gameserver: | |
needs: ['alter', 'globals'] | |
if: needs.alter.outputs.rustrareicongameserver == 'true' | |
name: RareIcon Game Server | |
runs-on: 'ubuntu-latest' | |
permissions: | |
contents: read | |
packages: write | |
# id-token: write | |
steps: | |
- name: Checkout the monorepo using git | |
uses: actions/checkout@v4 | |
- name: Setup Node v20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
run_install: false | |
- name: Get pnpm Store | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
- name: Setup pnpm Cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install pnpm dependencies | |
shell: bash | |
run: | | |
pnpm install | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build RareIcon GS container with Nx | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pnpm nx run rust_rareicon_gameserver:container --configuration=production --push | |
rareicon_webgl_deployment: | |
needs: ['kilonet-rareicon-build', 'globals'] | |
name: RareIcon GH Pages Deployment | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: Download Cache | |
uses: actions/download-artifact@v4 | |
id: download | |
with: | |
name: Build-WebGL | |
path: build/WebGL | |
- name: Check Downloaded Artifact | |
run: | | |
echo "Checking contents of build/WebGL..." | |
ls -al build/WebGL | |
- name: Copy WebGL files | |
run: | | |
echo "Preparing files for deployment..." | |
mkdir -p dist/apps/rareicon/ | |
cp -R build/WebGL/WebGL/* dist/apps/rareicon/ | |
echo "Files prepared in dist/apps/rareicon/" | |
ls -al dist/apps/rareicon/ | |
- name: Create .nojekyll and CNAME files | |
run: | | |
echo "Creating .nojekyll and CNAME files..." | |
touch dist/apps/rareicon/.nojekyll | |
echo "unity.rareicon.com" > dist/apps/rareicon/CNAME | |
echo "CNAME file content:" | |
cat dist/apps/rareicon/CNAME | |
- name: WebGL Build -> Deployment | |
uses: dobbelina/copy_file_to_another_repo_action@main | |
env: | |
API_TOKEN_GITHUB: ${{ secrets.UNITY_PAT }} | |
with: | |
source_file: 'dist/apps/rareicon/' | |
destination_repo: 'KBVE/unity.rareicon.com' | |
destination_folder: '/docs' | |
destination_branch: 'main' | |
destination_branch_create: 'patch-kbve-rareicon-unity-deploy-${{ needs.globals.outputs.sha256head }}' | |
user_email: '[email protected]' | |
user_name: 'h0lybyte' | |
commit_message: ${{ github.event.head_commit.message }} | |
rsync_option: '-avrh --delete' | |
# Alpha Builds | |
# buildSaber: | |
# needs: [alter, setup] | |
# name: 'Saber Alpha Build' | |
# runs-on: ubuntu-latest | |
# if: needs.alter.outputs.saber == 'true' && needs.setup.outputs.build_unity == 'true' | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# projectPath: | |
# - apps/saber | |
# unityVersion: | |
# - 2022.3.12f1 | |
# targetPlatform: | |
# - StandaloneWindows64 | |
# # - WebGL * Disabled WebGL for DoTs | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# token: ${{ secrets.UNITY_PAT }} | |
# - uses: actions/cache@v4 | |
# with: | |
# path: ${{ matrix.projectPath }}/Library | |
# key: | |
# Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}-${{ | |
# hashFiles(matrix.projectPath) }} | |
# restore-keys: | | |
# Library-${{ matrix.projectPath }}-${{ matrix.targetPlatform }}- | |
# Library-${{ matrix.projectPath }}- | |
# Library- | |
# - uses: game-ci/unity-builder@v4 | |
# env: | |
# UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} | |
# UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} | |
# UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} | |
# with: | |
# projectPath: ${{ matrix.projectPath }} | |
# unityVersion: ${{ matrix.unityVersion }} | |
# targetPlatform: ${{ matrix.targetPlatform }} | |
# # WebGL * Disalbed WebGL for DoTs | |
# # | |
# #- uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: build-WebGL | |
# # path: build/WebGL | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: build-StandaloneWindows64 | |
# path: build/StandaloneWindows64 | |
# deploy: | |
# needs: alter | |
# name: 'Process Alpha Branch' | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout the repository using git | |
# uses: actions/checkout@v4 | |
# - name: Setup Node v20 | |
# uses: actions/setup-node@v4 | |
# with: | |
# node-version: 20 | |
# - name: Setup pnpm | |
# uses: pnpm/action-setup@v3 | |
# with: | |
# version: 9 | |
# run_install: false | |
# # @[CACHE]-> [PNPM] -> [START] | |
# - name: Get pnpm Store | |
# shell: bash | |
# run: | | |
# echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
# - name: Setup pnpm Cache | |
# uses: actions/cache@v4 | |
# with: | |
# path: ${{ env.STORE_PATH }} | |
# key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
# restore-keys: | | |
# ${{ runner.os }}-pnpm-store- | |
# # @[CACHE] -> [PNPM] -> [END] | |
# - name: Install pnpm dependencies | |
# run: pnpm install | |
# # @[REPORT] -> [START] | |
# - name: Generate NX Report | |
# shell: bash | |
# run: | | |
# pnpm nx report | |
# # @[REPORT] -> [END] | |
# # [SABER] -> [UNITY] -> [START] | |
# - name: Saber Deployment | |
# if: needs.alter.outputs.saber == 'true' | |
# shell: bash | |
# run: | | |
# echo "Deploying Saber..." | |
# # [SABER] -> [UNITY] -> [END] | |
# # - name: Itch Fish Chip Build | |
# # if: needs.alter.outputs.itchfishchip == 'true' | |
# # shell: bash | |
# # run: | | |
# # pnpm nx build next-itch-fishchip | |
# # - name: Itch Fish Chip Upload Deployment | |
# # if: needs.alter.outputs.itchfishchip == 'true' | |
# # uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: build-WebGL | |
# # path: apps/next-itch-fishchip/dist | |
# # [React] Fish & Chip | |
# # [React] Phaser TravelBox | |
# # - name: Itch TravelBox Build | |
# # if: needs.alter.outputs.reacttravelbox == 'true' | |
# # shell: bash | |
# # run: | | |
# # pnpm nx build react-phaser-travelbox | |
# # - name: Itch Fish Chip Upload Deployment | |
# # if: needs.alter.outputs.reacttravelbox == 'true' | |
# # uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: build-WebGL | |
# # path: apps/kbve.com/public/embed/js/travelbox | |
# # [Build Test] | |
# - name: Build KBVE.com | |
# if: needs.alter.outputs.kbve == 'true' | |
# shell: bash | |
# run: | | |
# pnpm nx build kbve.com | |
# itchdev: | |
# needs: ['alter', 'buildSaber', 'setup'] | |
# name: Itch Dev Saber Deployment | |
# runs-on: ubuntu-latest | |
# if: needs.alter.outputs.saber == 'true' && needs.setup.outputs.build_unity == 'true' | |
# steps: | |
# - name: Checkout repository | |
# uses: actions/checkout@v4 | |
# - name: Download Windows Build | |
# uses: actions/download-artifact@v4 | |
# id: download | |
# with: | |
# name: build-StandaloneWindows64 | |
# path: build/StandaloneWindows64 | |
# #- name: Download WebGL Build | |
# # uses: actions/download-artifact@v4 | |
# # id: download | |
# # with: | |
# # name: build-WebGL | |
# # path: build/WebGL | |
# - name: Itch Deploy | |
# uses: KikimoraGames/[email protected] | |
# with: | |
# butlerApiKey: ${{ secrets.ITCH_API }} | |
# gameData: ${{steps.download.outputs.download-path}} | |
# itchUsername: kbve | |
# itchGameId: dev-saber | |
# #buildChannel: webgl | |
# buildChannel: windows | |
# itchfishchipdeploy: | |
# needs: ['alter', 'deploy'] | |
# name: Itch Fish Chip Deployment | |
# runs-on: ubuntu-latest | |
# if: needs.alter.outputs.itchfishchip == 'true' | |
# steps: | |
# - name: Checkout repository | |
# uses: actions/checkout@v4 | |
# - name: Download WebGL Build | |
# uses: actions/download-artifact@v4 | |
# id: download | |
# with: | |
# name: build-WebGL | |
# path: apps/next-itch-fishchip/dist | |
# - name: Itch Deploy | |
# uses: KikimoraGames/[email protected] | |
# with: | |
# butlerApiKey: ${{ secrets.ITCH_API }} | |
# gameData: ${{steps.download.outputs.download-path}} | |
# itchUsername: kbve | |
# itchGameId: fishchip | |
# buildChannel: webgl | |
# itchtravelbox: | |
# needs: ['alter', 'deploy'] | |
# name: Itch TravelBox Deployment | |
# runs-on: ubuntu-latest | |
# if: needs.alter.outputs.reacttravelbox == 'true' | |
# steps: | |
# - name: Checkout repository | |
# uses: actions/checkout@v4 | |
# - name: Download WebGL Build | |
# uses: actions/download-artifact@v4 | |
# id: download | |
# with: | |
# name: build-WebGL | |
# path: apps/kbve.com/public/embed/js/phaser | |
# - name: Itch Deploy | |
# uses: KikimoraGames/[email protected] | |
# with: | |
# butlerApiKey: ${{ secrets.ITCH_API }} | |
# gameData: ${{steps.download.outputs.download-path}} | |
# itchUsername: kbve | |
# itchGameId: travelbox | |
# buildChannel: webgl |