From 4943c08423edaa984d2219da5716b3871581b93e Mon Sep 17 00:00:00 2001 From: Jt Gleason Date: Wed, 29 Nov 2023 17:08:22 -0600 Subject: [PATCH 1/7] feat: New parameter for git credential manager on docker host --- src/@orb.yml | 4 +-- src/commands/prepare-env.yml | 16 ++++++++++ src/jobs/build.yml | 6 ++++ src/scripts/set-gitcredential.sh | 52 ++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 src/scripts/set-gitcredential.sh diff --git a/src/@orb.yml b/src/@orb.yml index 603e001..539492f 100755 --- a/src/@orb.yml +++ b/src/@orb.yml @@ -2,8 +2,8 @@ version: 2.1 description: > Easily build and test Unity projects. The project artifacts and test results are stored in CircleCI and can be opened in the Workflow web app. - Supports Windows, Linux and macOS. + Supports Windows, Linux and macOS. This version contains a Github Credential Manager Flow. display: home_url: "https://game.ci/docs/circleci/getting-started" - source_url: "https://github.com/game-ci/unity-orb" + source_url: "https://github.com/metatheoryinc/unity-orb" diff --git a/src/commands/prepare-env.yml b/src/commands/prepare-env.yml index 32e7372..4bc62f4 100644 --- a/src/commands/prepare-env.yml +++ b/src/commands/prepare-env.yml @@ -24,6 +24,11 @@ parameters: description: | Enter the name of the environment variable containing your Unity license file encoded in base64. Required if you have a Personal license. + git-private-token-var-name: + type: env_var_name + default: "" + description: | + Enter your Github PAT that you want to pass to the credential manager cache-version: type: string default: "v1" @@ -64,3 +69,14 @@ steps: SCRIPT_PREPARE_ENV_MACOS: << include(scripts/macos/prepare-env.sh) >> SCRIPT_UTILS: << include(scripts/utils.sh) >> command: << include(scripts/prepare-env.sh) >> + - run: + name: Set Git Credentials + no_output_timeout: << parameters.no_output_timeout >> + environment: + PARAM_GIT_PRIVATE_TOKEN: << parameters.git-private-token-var-name >> + PARAM_PROJECT_PATH: << parameters.project-path >> + SCRIPT_UTILS: << include(scripts/utils.sh) >> + command: << include(scripts/set-gitcredential.sh) >> + - when: + condition: << params.git-private-token-var-name >> + diff --git a/src/jobs/build.yml b/src/jobs/build.yml index 9170c0f..fa2431e 100755 --- a/src/jobs/build.yml +++ b/src/jobs/build.yml @@ -33,6 +33,11 @@ parameters: description: | Enter the name of the environment variable containing your Unity license file encoded in base64. Required if you have a Personal license. + git-private-token-var-name: + type: env_var_name + default: "" + description: | + Enter your Github PAT that you want to pass to the credential manager project-path: type: string default: "." @@ -113,6 +118,7 @@ steps: unity-password-var-name: << parameters.unity-password-var-name >> unity-serial-var-name: << parameters.unity-serial-var-name >> unity-license-var-name: << parameters.unity-license-var-name >> + git-private-token-var-name: << parameters.git-private-token-var-name >> project-path: <> no_output_timeout: << parameters.no_output_timeout>> - build: diff --git a/src/scripts/set-gitcredential.sh b/src/scripts/set-gitcredential.sh new file mode 100644 index 0000000..fcc1ab0 --- /dev/null +++ b/src/scripts/set-gitcredential.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +# shellcheck disable=SC2034 + +readonly base_dir="${CIRCLE_WORKING_DIRECTORY/\~/$HOME}" +readonly unity_project_full_path="$base_dir/$PARAM_PROJECT_PATH" + +# Import "utils.sh". +eval "$SCRIPT_UTILS" + +# Detect host OS. +detect-os + +# Expand environment name variable parameters. +readonly git_private_token="${!PARAM_GIT_PRIVATE_TOKEN}" +readonly CONTAINER_NAME="${CIRCLE_PROJECT_REPONAME}-${CIRCLE_BUILD_NUM}" + +trap_exit() { + local exit_status="$?" + + if [ "$exit_status" -ne 0 ]; then + printf '%s\n' 'The script did not complete successfully.' + + printf '%s\n' "Removing the container \"$CONTAINER_NAME\"." + docker rm -f "$CONTAINER_NAME" &> /dev/null || true + + exit "$exit_status" + fi +} +trap trap_exit EXIT + + +if [ -z "${git_private_token}" ] +then + echo "GIT_PRIVATE_TOKEN unset skipping" +else + echo "GIT_PRIVATE_TOKEN is set configuring git credentials" + + docker exec "$CONTAINER_NAME" "git config --global credential.helper store" + docker exec "$CONTAINER_NAME" "git config --global --replace-all url.\"https://token:$git_private_token@github.com/\".insteadOf ssh://git@github.com/" + docker exec "$CONTAINER_NAME" "git config --global --add url.\"https://token:$git_private_token@github.com/\".insteadOf git@github.com" + docker exec "$CONTAINER_NAME" "git config --global --add url.\"https://token:$git_private_token@github.com/\".insteadOf \"https://github.com/\"" + + docker exec "$CONTAINER_NAME" "git config --global url.\"https://ssh:$git_private_token@github.com/\".insteadOf \"ssh://git@github.com/\"" + docker exec "$CONTAINER_NAME" "git config --global url.\"https://git:$git_private_token@github.com/\".insteadOf \"git@github.com:\"" + +fi + +echo "---------- git config --list -------------" +docker exec "$CONTAINER_NAME" "git config --list" + +echo "---------- git config --list --show-origin -------------" +docker exec "$CONTAINER_NAME" "git config --list --show-origin" \ No newline at end of file From e33419c91e019c472f1f2b8e45f0fd9c14b3aa57 Mon Sep 17 00:00:00 2001 From: Jt Gleason Date: Wed, 29 Nov 2023 17:47:03 -0600 Subject: [PATCH 2/7] fix: Updating git cred checker to always run --- src/commands/prepare-env.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/commands/prepare-env.yml b/src/commands/prepare-env.yml index 4bc62f4..f771ac6 100644 --- a/src/commands/prepare-env.yml +++ b/src/commands/prepare-env.yml @@ -77,6 +77,4 @@ steps: PARAM_PROJECT_PATH: << parameters.project-path >> SCRIPT_UTILS: << include(scripts/utils.sh) >> command: << include(scripts/set-gitcredential.sh) >> - - when: - condition: << params.git-private-token-var-name >> From 28e1996d0e81d97d1a2032e3d65051087f06a1c3 Mon Sep 17 00:00:00 2001 From: Jt Gleason Date: Wed, 29 Nov 2023 17:48:48 -0600 Subject: [PATCH 3/7] fix: good types on env parameters --- src/commands/prepare-env.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/commands/prepare-env.yml b/src/commands/prepare-env.yml index f771ac6..9b0202f 100644 --- a/src/commands/prepare-env.yml +++ b/src/commands/prepare-env.yml @@ -26,7 +26,7 @@ parameters: Required if you have a Personal license. git-private-token-var-name: type: env_var_name - default: "" + default: "GIT_PRIVATE_TOKEN" description: | Enter your Github PAT that you want to pass to the credential manager cache-version: From 31e8080799fb6e445281e18b11a3e707af5d361d Mon Sep 17 00:00:00 2001 From: Jt Gleason Date: Wed, 29 Nov 2023 17:50:04 -0600 Subject: [PATCH 4/7] fix: other fix for env parameter --- src/jobs/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jobs/build.yml b/src/jobs/build.yml index fa2431e..b105dc3 100755 --- a/src/jobs/build.yml +++ b/src/jobs/build.yml @@ -35,7 +35,7 @@ parameters: Required if you have a Personal license. git-private-token-var-name: type: env_var_name - default: "" + default: "GIT_PRIVATE_TOKEN" description: | Enter your Github PAT that you want to pass to the credential manager project-path: From dedc18bbee301239ca93fc37a5a6883fb75e7045 Mon Sep 17 00:00:00 2001 From: Jt Gleason Date: Thu, 30 Nov 2023 14:01:29 -0600 Subject: [PATCH 5/7] Properly handle the different environments --- src/commands/prepare-env.yml | 3 ++ src/scripts/linux/git-credential.sh | 25 +++++++++++ src/scripts/macos/set-gitcredential.sh | 25 +++++++++++ src/scripts/set-gitcredential.sh | 38 ++--------------- src/scripts/windows/set-gitcredential.sh | 53 ++++++++++++++++++++++++ 5 files changed, 109 insertions(+), 35 deletions(-) create mode 100644 src/scripts/linux/git-credential.sh create mode 100644 src/scripts/macos/set-gitcredential.sh create mode 100644 src/scripts/windows/set-gitcredential.sh diff --git a/src/commands/prepare-env.yml b/src/commands/prepare-env.yml index 9b0202f..6869289 100644 --- a/src/commands/prepare-env.yml +++ b/src/commands/prepare-env.yml @@ -76,5 +76,8 @@ steps: PARAM_GIT_PRIVATE_TOKEN: << parameters.git-private-token-var-name >> PARAM_PROJECT_PATH: << parameters.project-path >> SCRIPT_UTILS: << include(scripts/utils.sh) >> + SCRIPT_GIT_CREDENTIAL_LINUX: << include(scripts/linux/set-gitcredential.sh) >> + SCRIPT_GIT_CREDENTIAL_WINDOWS: << include(scripts/windows/set-gitcredential.sh) >> + SCRIPT_GIT_CREDENTIAL_MACOS: << include(scripts/macos/set-gitcredential.sh) >> command: << include(scripts/set-gitcredential.sh) >> diff --git a/src/scripts/linux/git-credential.sh b/src/scripts/linux/git-credential.sh new file mode 100644 index 0000000..2bd398b --- /dev/null +++ b/src/scripts/linux/git-credential.sh @@ -0,0 +1,25 @@ +#!/bin/false +# shellcheck shell=bash +# shellcheck disable=SC2154 + +if [ -z "${GIT_PRIVATE_TOKEN}" ] +then + echo "GIT_PRIVATE_TOKEN unset skipping" +else + echo "GIT_PRIVATE_TOKEN is set configuring git credentials" + + git config --global credential.helper store + git config --global --replace-all url."https://token:$GIT_PRIVATE_TOKEN@github.com/".insteadOf ssh://git@github.com/ + git config --global --add url."https://token:$GIT_PRIVATE_TOKEN@github.com/".insteadOf git@github.com + git config --global --add url."https://token:$GIT_PRIVATE_TOKEN@github.com/".insteadOf "https://github.com/" + + git config --global url."https://ssh:$GIT_PRIVATE_TOKEN@github.com/".insteadOf "ssh://git@github.com/" + git config --global url."https://git:$GIT_PRIVATE_TOKEN@github.com/".insteadOf "git@github.com:" + +fi + +echo "---------- git config --list -------------" +git config --list + +echo "---------- git config --list --show-origin -------------" +git config --list --show-origin \ No newline at end of file diff --git a/src/scripts/macos/set-gitcredential.sh b/src/scripts/macos/set-gitcredential.sh new file mode 100644 index 0000000..2bd398b --- /dev/null +++ b/src/scripts/macos/set-gitcredential.sh @@ -0,0 +1,25 @@ +#!/bin/false +# shellcheck shell=bash +# shellcheck disable=SC2154 + +if [ -z "${GIT_PRIVATE_TOKEN}" ] +then + echo "GIT_PRIVATE_TOKEN unset skipping" +else + echo "GIT_PRIVATE_TOKEN is set configuring git credentials" + + git config --global credential.helper store + git config --global --replace-all url."https://token:$GIT_PRIVATE_TOKEN@github.com/".insteadOf ssh://git@github.com/ + git config --global --add url."https://token:$GIT_PRIVATE_TOKEN@github.com/".insteadOf git@github.com + git config --global --add url."https://token:$GIT_PRIVATE_TOKEN@github.com/".insteadOf "https://github.com/" + + git config --global url."https://ssh:$GIT_PRIVATE_TOKEN@github.com/".insteadOf "ssh://git@github.com/" + git config --global url."https://git:$GIT_PRIVATE_TOKEN@github.com/".insteadOf "git@github.com:" + +fi + +echo "---------- git config --list -------------" +git config --list + +echo "---------- git config --list --show-origin -------------" +git config --list --show-origin \ No newline at end of file diff --git a/src/scripts/set-gitcredential.sh b/src/scripts/set-gitcredential.sh index fcc1ab0..2a86470 100644 --- a/src/scripts/set-gitcredential.sh +++ b/src/scripts/set-gitcredential.sh @@ -14,39 +14,7 @@ detect-os readonly git_private_token="${!PARAM_GIT_PRIVATE_TOKEN}" readonly CONTAINER_NAME="${CIRCLE_PROJECT_REPONAME}-${CIRCLE_BUILD_NUM}" -trap_exit() { - local exit_status="$?" - - if [ "$exit_status" -ne 0 ]; then - printf '%s\n' 'The script did not complete successfully.' - - printf '%s\n' "Removing the container \"$CONTAINER_NAME\"." - docker rm -f "$CONTAINER_NAME" &> /dev/null || true - - exit "$exit_status" - fi -} -trap trap_exit EXIT - - -if [ -z "${git_private_token}" ] -then - echo "GIT_PRIVATE_TOKEN unset skipping" -else - echo "GIT_PRIVATE_TOKEN is set configuring git credentials" - - docker exec "$CONTAINER_NAME" "git config --global credential.helper store" - docker exec "$CONTAINER_NAME" "git config --global --replace-all url.\"https://token:$git_private_token@github.com/\".insteadOf ssh://git@github.com/" - docker exec "$CONTAINER_NAME" "git config --global --add url.\"https://token:$git_private_token@github.com/\".insteadOf git@github.com" - docker exec "$CONTAINER_NAME" "git config --global --add url.\"https://token:$git_private_token@github.com/\".insteadOf \"https://github.com/\"" - - docker exec "$CONTAINER_NAME" "git config --global url.\"https://ssh:$git_private_token@github.com/\".insteadOf \"ssh://git@github.com/\"" - docker exec "$CONTAINER_NAME" "git config --global url.\"https://git:$git_private_token@github.com/\".insteadOf \"git@github.com:\"" - +if [ "$PLATFORM" = "linux" ]; then eval "$SCRIPT_GIT_CREDENTIAL_LINUX"; +elif [ "$PLATFORM" = "macos" ]; then eval "$SCRIPT_GIT_CREDENTIAL_MACOS"; +elif [ "$PLATFORM" = "windows" ]; then eval "$SCRIPT_GIT_CREDENTIAL_WINDOWS"; fi - -echo "---------- git config --list -------------" -docker exec "$CONTAINER_NAME" "git config --list" - -echo "---------- git config --list --show-origin -------------" -docker exec "$CONTAINER_NAME" "git config --list --show-origin" \ No newline at end of file diff --git a/src/scripts/windows/set-gitcredential.sh b/src/scripts/windows/set-gitcredential.sh new file mode 100644 index 0000000..f480eb7 --- /dev/null +++ b/src/scripts/windows/set-gitcredential.sh @@ -0,0 +1,53 @@ +#!/bin/false +# shellcheck shell=bash +# shellcheck disable=SC2016,SC2154 + +readonly base_dir="${CIRCLE_WORKING_DIRECTORY/\~/$HOME}" +readonly unity_project_full_path="$base_dir/$PARAM_PROJECT_PATH" + +# Import "utils.sh". +eval "$SCRIPT_UTILS" + +# Detect host OS. +detect-os + +# Expand environment name variable parameters. +readonly git_private_token="${!PARAM_GIT_PRIVATE_TOKEN}" +readonly CONTAINER_NAME="${CIRCLE_PROJECT_REPONAME}-${CIRCLE_BUILD_NUM}" + +trap_exit() { + local exit_status="$?" + + if [ "$exit_status" -ne 0 ]; then + printf '%s\n' 'The script did not complete successfully.' + + printf '%s\n' "Removing the container \"$CONTAINER_NAME\"." + docker rm -f "$CONTAINER_NAME" &> /dev/null || true + + exit "$exit_status" + fi +} +trap trap_exit EXIT + + +if [ -z "${git_private_token}" ] +then + echo "GIT_PRIVATE_TOKEN unset skipping" +else + echo "GIT_PRIVATE_TOKEN is set configuring git credentials" + + docker exec "$CONTAINER_NAME" "git config --global credential.helper store" + docker exec "$CONTAINER_NAME" "git config --global --replace-all url.\"https://token:$git_private_token@github.com/\".insteadOf ssh://git@github.com/" + docker exec "$CONTAINER_NAME" "git config --global --add url.\"https://token:$git_private_token@github.com/\".insteadOf git@github.com" + docker exec "$CONTAINER_NAME" "git config --global --add url.\"https://token:$git_private_token@github.com/\".insteadOf \"https://github.com/\"" + + docker exec "$CONTAINER_NAME" "git config --global url.\"https://ssh:$git_private_token@github.com/\".insteadOf \"ssh://git@github.com/\"" + docker exec "$CONTAINER_NAME" "git config --global url.\"https://git:$git_private_token@github.com/\".insteadOf \"git@github.com:\"" + +fi + +echo "---------- git config --list -------------" +docker exec "$CONTAINER_NAME" "git config --list" + +echo "---------- git config --list --show-origin -------------" +docker exec "$CONTAINER_NAME" "git config --list --show-origin" \ No newline at end of file From 123690195618c204b5194be4cab2c1d9a7ecb2fa Mon Sep 17 00:00:00 2001 From: Jt Gleason Date: Thu, 30 Nov 2023 16:06:21 -0600 Subject: [PATCH 6/7] Better Orb error cred givebacks --- README.md | 9 +++++ ...git-credential.sh => set-gitcredential.sh} | 4 +-- src/scripts/macos/set-gitcredential.sh | 4 +-- src/scripts/set-gitcredential.sh | 1 - src/scripts/windows/return-license.sh | 36 +++++++++++++------ src/scripts/windows/set-gitcredential.sh | 4 +-- 6 files changed, 41 insertions(+), 17 deletions(-) rename src/scripts/linux/{git-credential.sh => set-gitcredential.sh} (92%) diff --git a/README.md b/README.md index 86a32c0..57246e8 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,12 @@ We welcome [issues](https://github.com/game-ci/unity-orb/issues) to and [pull re 5. Now ensure the version tag selected is semantically accurate based on the changes included. 6. Click _"Publish Release"_. - This will push a new tag and trigger your publishing pipeline on CircleCI. + +### Manual Deploy +If you want a private orb for your build env. The following steps allow you to do so. These are adapted from the CircleCI +[Manual Orb Authoring Process](https://circleci.com/docs/orb-author-validate-publish/#publish-your-orb) +1. `circleci namespace create --org-id ` +2. `circleci orb create / --private` +3. `circleci orb pack src > unity-orb.yml` +4. `circleci orb publish unity-orb.yml /@dev:first` +5. `circleci orb publish promote /@dev:first patch` diff --git a/src/scripts/linux/git-credential.sh b/src/scripts/linux/set-gitcredential.sh similarity index 92% rename from src/scripts/linux/git-credential.sh rename to src/scripts/linux/set-gitcredential.sh index 2bd398b..3cc7bc0 100644 --- a/src/scripts/linux/git-credential.sh +++ b/src/scripts/linux/set-gitcredential.sh @@ -19,7 +19,7 @@ else fi echo "---------- git config --list -------------" -git config --list +git --no-pager config --list echo "---------- git config --list --show-origin -------------" -git config --list --show-origin \ No newline at end of file +git --no-pager config --list --show-origin \ No newline at end of file diff --git a/src/scripts/macos/set-gitcredential.sh b/src/scripts/macos/set-gitcredential.sh index 2bd398b..3cc7bc0 100644 --- a/src/scripts/macos/set-gitcredential.sh +++ b/src/scripts/macos/set-gitcredential.sh @@ -19,7 +19,7 @@ else fi echo "---------- git config --list -------------" -git config --list +git --no-pager config --list echo "---------- git config --list --show-origin -------------" -git config --list --show-origin \ No newline at end of file +git --no-pager config --list --show-origin \ No newline at end of file diff --git a/src/scripts/set-gitcredential.sh b/src/scripts/set-gitcredential.sh index 2a86470..3331cfe 100644 --- a/src/scripts/set-gitcredential.sh +++ b/src/scripts/set-gitcredential.sh @@ -12,7 +12,6 @@ detect-os # Expand environment name variable parameters. readonly git_private_token="${!PARAM_GIT_PRIVATE_TOKEN}" -readonly CONTAINER_NAME="${CIRCLE_PROJECT_REPONAME}-${CIRCLE_BUILD_NUM}" if [ "$PLATFORM" = "linux" ]; then eval "$SCRIPT_GIT_CREDENTIAL_LINUX"; elif [ "$PLATFORM" = "macos" ]; then eval "$SCRIPT_GIT_CREDENTIAL_MACOS"; diff --git a/src/scripts/windows/return-license.sh b/src/scripts/windows/return-license.sh index 345bed7..365a8e0 100644 --- a/src/scripts/windows/return-license.sh +++ b/src/scripts/windows/return-license.sh @@ -3,19 +3,35 @@ # shellcheck disable=SC2154 trap_exit() { - local exit_status="$?" - - if [ "$exit_status" -ne 0 ]; then - printf '%s\n' 'The script did not complete successfully.' - - printf '%s\n' "Removing the container \"$CONTAINER_NAME\"." - docker rm -f "$CONTAINER_NAME" &> /dev/null || true - - exit "$exit_status" - fi + local exit_status="$?" + + if [ "$exit_status" -ne 0 ]; then + printf '%s\n' 'The script did not complete successfully.' + + printf '%s\n' "Removing the container \"$CONTAINER_NAME\"." + docker rm -f "$CONTAINER_NAME" &> /dev/null || true + + exit "$exit_status" + fi } trap trap_exit EXIT +running_builds=$(docker ps --filter "Name=$CONTAINER_NAME" --format "{{.ID}}") +if [ -z "$running_builds" ]; then + # The build failed before and it killed the host + # Startup so we can return the license + docker run -dit \ + --name "$CONTAINER_NAME" \ + --env PROJECT_PATH="C:/unity_project" \ + --env UNITY_USERNAME="$unity_username" \ + --env UNITY_PASSWORD="$unity_password" \ + --volume "C:/Program Files (x86)/Microsoft Visual Studio":"C:/Program Files (x86)/Microsoft Visual Studio" \ + --volume "C:/Program Files (x86)/Windows Kits":"C:/Program Files (x86)/Windows Kits" \ + --volume "C:/ProgramData/Microsoft/VisualStudio":"C:/ProgramData/Microsoft/VisualStudio" \ + "unityci/editor:windows-${GAMECI_EDITOR_VERSION}-${GAMECI_TARGET_PLATFORM}-2" \ + powershell +fi + set -x # Return license docker exec "$CONTAINER_NAME" powershell '& "C:\Program Files\Unity\Hub\Editor\*\Editor\Unity.exe" -returnlicense -batchmode -quit -nographics -username $Env:UNITY_USERNAME -password $Env:UNITY_PASSWORD -logfile | Out-Host' diff --git a/src/scripts/windows/set-gitcredential.sh b/src/scripts/windows/set-gitcredential.sh index f480eb7..6451b5c 100644 --- a/src/scripts/windows/set-gitcredential.sh +++ b/src/scripts/windows/set-gitcredential.sh @@ -47,7 +47,7 @@ else fi echo "---------- git config --list -------------" -docker exec "$CONTAINER_NAME" "git config --list" +docker exec "$CONTAINER_NAME" "git --no-pager config --list" echo "---------- git config --list --show-origin -------------" -docker exec "$CONTAINER_NAME" "git config --list --show-origin" \ No newline at end of file +docker exec "$CONTAINER_NAME" "git --no-pager config --list --show-origin" \ No newline at end of file From 9492fbc90a2d6f0cb59c5192b9b7eb663306829d Mon Sep 17 00:00:00 2001 From: Jt Gleason Date: Mon, 4 Dec 2023 11:57:31 -0600 Subject: [PATCH 7/7] feat: changed back to orignial orb for publishing --- src/@orb.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/@orb.yml b/src/@orb.yml index 539492f..603e001 100755 --- a/src/@orb.yml +++ b/src/@orb.yml @@ -2,8 +2,8 @@ version: 2.1 description: > Easily build and test Unity projects. The project artifacts and test results are stored in CircleCI and can be opened in the Workflow web app. - Supports Windows, Linux and macOS. This version contains a Github Credential Manager Flow. + Supports Windows, Linux and macOS. display: home_url: "https://game.ci/docs/circleci/getting-started" - source_url: "https://github.com/metatheoryinc/unity-orb" + source_url: "https://github.com/game-ci/unity-orb"