73 lines
1.7 KiB
YAML
73 lines
1.7 KiB
YAML
stages:
|
|
- build
|
|
- cleanup-build
|
|
- deploy
|
|
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
|
|
UNITY_VERSION: 2020.2.2f1
|
|
|
|
SRC_DIR: ./game
|
|
BUILD_DIR: ./game/Build
|
|
DEV_BRANCH: main
|
|
PROD_BRANCH: release
|
|
|
|
build:
|
|
stage: build
|
|
variables:
|
|
# instance the build job to avoid multiple jobs running in the same project folder
|
|
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_RUNNER_SHORT_TOKEN/$CI_PROJECT_NAME-build-$CI_PIPELINE_ID
|
|
script:
|
|
- echo "cloned to $GIT_CLONE_PATH"
|
|
- chmod +x ./ci/build.sh
|
|
- ./ci/build.sh $UNITY_VERSION
|
|
- cp ./readme.txt $BUILD_DIR
|
|
|
|
artifacts:
|
|
name: $CI_PROJECT_NAME-$CI_PIPELINE_ID
|
|
paths:
|
|
- $BUILD_DIR
|
|
|
|
# remove the directory created by the build job. in a separate job
|
|
cleanup-build:
|
|
stage: cleanup-build
|
|
variables:
|
|
CLEANUP_PATH: $CI_BUILDS_DIR/$CI_RUNNER_SHORT_TOKEN/$CI_PROJECT_NAME-build-$CI_PIPELINE_ID
|
|
script:
|
|
- echo "cleaning up build directory"
|
|
- rm -r $CLEANUP_PATH $CLEANUP_PATH.tmp
|
|
dependencies:
|
|
- build
|
|
when: always
|
|
|
|
# deploy to internal testing track
|
|
deploy-dev:
|
|
stage: deploy
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $DEV_BRANCH
|
|
variables:
|
|
ITCH_USER: "cyndrdev"
|
|
ITCH_GAME: "revival-internal-track"
|
|
ITCH_TRACK: "windows-unstable"
|
|
script:
|
|
- chmod +x ./ci/deploy.sh
|
|
- ./ci/deploy.sh $BUILD_DIR $ITCH_USER $ITCH_GAME $ITCH_TRACK
|
|
dependencies:
|
|
- build
|
|
|
|
# deploy to production
|
|
deploy-release:
|
|
stage: deploy
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $PROD_BRANCH
|
|
variables:
|
|
ITCH_USER: "cyndrdev"
|
|
ITCH_GAME: "revival"
|
|
ITCH_TRACK: "windows"
|
|
script:
|
|
- chmod +x ./ci/deploy.sh
|
|
- ./ci/deploy.sh $BUILD_DIR $ITCH_USER $ITCH_GAME $ITCH_TRACK
|
|
dependencies:
|
|
- build
|