Git
Everything you will need to prepare for git!
Github
Sweep
Sweep is an mL-powered dev bot that helps transform bug reports and feature requests into codebase changes. To get started, we recommend looking through their starter docs.
Github Notes
These are the notes for utilizing Github at an organizational level, with links/reference point to various modules/actions within the github eco-system.
Github Labels
KBVE Default Labels are located here , referenced as, https://github.com/organizations/KBVE/settings/repository-defaults
, swap out KBVE
with your organizational slug.
Github Actions
Github Actions are yaml files that help automate repetitive tasks with low-level intelligence / variables.
Github Itch
Github Action - Itch.io Publish
Example Github Itch Workflow:
KikimoraGames Example YAML:
name: Itch Deploy
on: push
env:
ITCH_USERNAME: my-itch-username
ITCH_GAME_ID: my-itch-game-id
jobs:
deploy:
name: Upload to Itch
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
channel:
- windows
- webgl
runs-on: ubuntu-latest
name: Deploy - Itch.io ${{ matrix.template }}
steps:
- uses: actions/download-artifact@v2.0.8
with:
name: ${{ matrix.channel }}
path: build/${{ matrix.channel }}
- uses: KikimoraGames/itch-publish@v0.0.3
with:
butlerApiKey: ${{secrets.BUTLER_API_KEY}}
gameData: ./build/${{ matrix.template }}
itchUsername: ${{env.ITCH_USERNAME}}
itchGameId: ${{ env.ITCH_GAME_ID }}
buildChannel: ${{ matrix.channel }}
buildNumber: ${{ needs.version.outputs.version_hash }}
Remember to add your secrets, BUTLER_API_KEY
, before deploying to Itch.
You can grab the BUTLER_API_KEY
from Itch via API Keys , which will allow Github Actions to communicate with Itch.io’s API.
KBVE Example:
name: Itch KBVE Deploy
on: push
env:
ITCH_USERNAME: kbve
ITCH_GAME_ID: my-itch-game-id
jobs:
deploy:
name: Upload to Itch
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
channel:
- windows
- webgl
runs-on: ubuntu-latest
name: Deploy - Itch.io ${{ matrix.template }}
steps:
- uses: actions/download-artifact@v2.0.8
with:
name: ${{ matrix.channel }}
path: build/${{ matrix.channel }}
- uses: KikimoraGames/itch-publish@v0.0.3
with:
butlerApiKey: ${{secrets.BUTLER_API_KEY}}
gameData: ./build/${{ matrix.template }}
itchUsername: ${{env.ITCH_USERNAME}}
itchGameId: ${{ env.ITCH_GAME_ID }}
buildChannel: ${{ matrix.channel }}
buildNumber: ${{ needs.version.outputs.version_hash }}
Github Unity Test Runner
Here is the Game-CI Test Runner updated to v2.1.0, the notation/tab spacing might be off.
- uses: game-ci/unity-test-runner@v2.1.0
id: testRunner
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
with:
projectPath: ${{ matrix.projectPath }}
unityVersion: ${{ matrix.unityVersion }}
githubToken: ${{ secrets.GITHUB_TOKEN }}
customParameters: '-nographics'
- uses: actions/upload-artifact@v2
if: always()
with:
name: Test results (all modes)
path: ${{ steps.testRunner.outputs.artifactsPath }}
Github GoDot Actions
- Github Actions via godot-ci
- Github Actions HTML5 Workflow Gist by doctor-g
GitLab
Gitlab Information
Plastic SCM
For Plastic SCM / Git Integration, we will be using Plastic SCM’s Git Server https://www.plasticscm.com/gitserver
.
-------------------------
tcp.port=9418
export.repo=quake
-------------------------
SubModules
These are notes and guides on how to build out submodules inside of Git, so that you can control certain plugins throughout multiple repos effortlessly. This can go into private packages later on, if we need to.
The shift to the private packages will come as we grow bigger and require more control.
Submodule Symbolic Link
These are notes on how to symbolic link multiple directories without having to run into issues.
KBVE Module Example
Suppose we have already added our submodule for an Unity project, via KBVE/UnitySubModule
and wanted to link them into our source, well this is how:
Create a folder inside of Assets
named Plugins
and then cd into it:
Example of the shell, do not copy and paste, make sure you read through the commands and swap out the right variables!
cd ./unityRootProject
cd ./Assets
mkdir Plugins
cd ./Plugins
Once inside the Plugins
folder, we can execute the symbolic link using the ln
command, like this:
ln -s ../../submodules/UnitySubModules/Vuplex
Notes
Log
Journal
2023-04-16
Added tabs to the GIT MDX.