Posted February 01, 2023 by Obikson
#ci-cd
For instance this Unity project source files (not the generated ones) are fully controlled by GitHub and there is set of actions that triggers on specific branch push.
This was one of the main goals of this project: "Get fully automatized on CI / CD" and it worked. Well I've used this site https://game.ci/ to do the heavy lifting, but then I've had to connect it with Itchi.io.
Here is the action yaml configuration
name: Actions 😎
on: [workflow_dispatch]
defaults:
run:
working-directory: Bluelight
jobs:
build:
name: Build my project ✨
runs-on: ubuntu-latest
steps:
# Checkout
- name: Checkout repository
uses: actions/checkout@v2
with:
lfs: true
# Cache
- uses: actions/cache@v2
with:
path: Library
key: Library-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }}
restore-keys: |
Library-
# Build
- name: Build project
uses: game-ci/unity-builder@v2
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with:
projectPath: Bluelight
targetPlatform: WebGL
# ZIP - Deploy
- name: ZIP the build
uses: montudor/action-zip@v1
with:
args: zip -qq -r build/Bluelight.zip build/WebGL
- name: Upload to Itch.io
uses: KikimoraGames/itch-publish@v0.0.3
with:
butlerApiKey: ${{secrets.BUTLER_CREDENTIALS}}
gameData: build/Bluelight.zip
itchUsername: martin-obert
itchGameId: project-bluelight
buildChannel: webgl