From aff2257736c9784d068a0b4f358d77085ab2b2df Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 12:40:31 +0100 Subject: [PATCH 01/16] Github action 'cause appveyor is broken --- .github/workflows/main.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..04ca8fb --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,23 @@ +name: Build and Publish + +on: + workflow_dispatch: + push: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-dotnet@v4 + - run: sudo apt-get install -y p7zip curl + + - name: dependencies + shell: bash + run: | + mkdir -p lib + pushd lib + curl -fSL --output deps.zip https://files.spoiledcat.com/deps.zip + 7z -y -bb3 x deps.zip + popd + From 6713d68042893bf0874eb9ed523c43e9c658b301 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 14:11:09 +0100 Subject: [PATCH 02/16] Let's see if this works... --- .github/workflows/main.yml | 41 +++++++++++++++++++++++++++++++++++--- build.sh | 17 +++++++++++++++- pack.sh | 17 +++++++++++++++- publish.sh | 39 ++++++++++++++++++++++++++++-------- test.sh | 20 +++++++++++++++++-- 5 files changed, 119 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 04ca8fb..8ea6f24 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,22 +2,57 @@ name: Build and Publish on: workflow_dispatch: + inputs: + publish: + description: 'Publish packages' + type: boolean + required: false + default: false push: jobs: build: runs-on: ubuntu-latest + env: + CONFIGURATION: Release + steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: actions/setup-dotnet@v4 - - run: sudo apt-get install -y p7zip curl - + - uses: dotnet/nbgv@master + with: + setAllVars: true - name: dependencies - shell: bash run: | mkdir -p lib pushd lib curl -fSL --output deps.zip https://files.spoiledcat.com/deps.zip 7z -y -bb3 x deps.zip popd + - run: dotnet --list-sdks + - run: node --version + - run: npm --version + + - run: echo "isPublic=0" >> $GITHUB_ENV + - if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} + run: echo "isPublic=1" >> $GITHUB_ENV + + - if: ${{ github.event_name == 'workflow_dispatch' && inputs.publish }} + run: echo "isPublic=1" >> $GITHUB_ENV + + - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done + - run: echo ./build.sh -c $CONFIGURATION --ispublic $isPublic + - run: echo ./test.sh -c $CONFIGURATION --ispublic $isPublic + - run: echo ./publish.sh --branches --version $NpmPackageVersion --ispublic $isPublic + - run: echo ./pack.sh -c $CONFIGURATION --ispublic $isPublic + - run: echo ./publish.sh --npm --ispublic $isPublic + + - uses: actions/upload-artifact@v4 + with: + path: 'build/**/*.nupkg' + - uses: actions/upload-artifact@v4 + with: + path: 'build/**/*.tgz' diff --git a/build.sh b/build.sh index 9dba217..6e8153a 100755 --- a/build.sh +++ b/build.sh @@ -11,6 +11,7 @@ fi CONFIGURATION=Release PUBLIC="" UNITYBUILD=0 +CI=0 while (( "$#" )); do case "$1" in @@ -36,6 +37,12 @@ while (( "$#" )); do PUBLIC="-p:PublicRelease=true" fi ;; + --ci) + CI=1 + ;; + --trace) + { set -x; } 2>/dev/null + ;; -*|--*=) # unsupported flags echo "Error: Unsupported flag $1" >&2 exit 1 @@ -44,13 +51,21 @@ while (( "$#" )); do shift done +if [[ x"${APPVEYOR:-}" != x"" ]]; then + CI=1 +fi + +if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then + CI=1 +fi + if [[ x"$UNITYBUILD" == x"1" ]]; then CONFIGURATION="${CONFIGURATION}Unity" fi pushd $DIR >/dev/null 2>&1 -if [[ x"${APPVEYOR:-}" == x"" ]]; then +if [[ x"${CI}" == x"0" ]]; then dotnet restore fi dotnet build --no-restore -c $CONFIGURATION $PUBLIC diff --git a/pack.sh b/pack.sh index 4948d88..1888d58 100755 --- a/pack.sh +++ b/pack.sh @@ -15,6 +15,7 @@ UPM=0 UNITYVERSION=2019.2 UNITYBUILD=0 ISPUBLIC=0 +CI=0 while (( "$#" )); do case "$1" in @@ -47,6 +48,12 @@ while (( "$#" )); do ISPUBLIC=1 fi ;; + --ci) + CI=1 + ;; + --trace) + { set -x; } 2>/dev/null + ;; -*|--*=) # unsupported flags echo "Error: Unsupported flag $1" >&2 exit 1 @@ -55,6 +62,14 @@ while (( "$#" )); do shift done +if [[ x"${APPVEYOR:-}" != x"" ]]; then + CI=1 +fi + +if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then + CI=1 +fi + if [[ x"$UNITYBUILD" == x"1" ]]; then CONFIGURATION="${CONFIGURATION}Unity" fi @@ -63,7 +78,7 @@ pushd $DIR >/dev/null 2>&1 if [[ x"$BUILD" == x"1" ]]; then - if [[ x"${APPVEYOR:-}" == x"" ]]; then + if [[ x"${CI}" == x"0" ]]; then dotnet restore fi dotnet build --no-restore -c $CONFIGURATION $PUBLIC diff --git a/publish.sh b/publish.sh index 9fedc98..6e20c11 100755 --- a/publish.sh +++ b/publish.sh @@ -16,6 +16,7 @@ BRANCHES=0 NUGET=0 VERSION= PUBLIC=0 +CI=0 while (( "$#" )); do case "$1" in @@ -42,6 +43,9 @@ while (( "$#" )); do shift PUBLIC=$1 ;; + --ci) + CI=1 + ;; --trace) { set -x; } 2>/dev/null ;; @@ -53,7 +57,16 @@ while (( "$#" )); do shift done +if [[ x"${APPVEYOR:-}" != x"" ]]; then + CI=1 +fi + +if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then + CI=1 +fi + if [[ x"${YAMATO_JOB_ID:-}" != x"" ]]; then + CI=1 YAMATO=1 export GITLAB_CI=1 export CI_COMMIT_TAG="${GIT_TAG:-}" @@ -144,16 +157,26 @@ fi if [[ x"$NPM" == x"1" ]]; then - #if in appveyor, only publish if public or in master - if [[ x"${APPVEYOR:-}" != x"" ]]; then + #if in ci, only publish if public or in master + if [[ x"${CI}" == x"1" ]]; then if [[ x"$PUBLIC" != x"1" ]]; then - if [[ x"${APPVEYOR_PULL_REQUEST_NUMBER:-}" != x"" ]]; then - echo "Skipping publishing non-public packages in CI on pull request builds" - exit 0 + + if [[ x"${APPVEYOR:-}" != x"" ]]; then + if [[ x"${APPVEYOR_PULL_REQUEST_NUMBER:-}" != x"" ]]; then + echo "Skipping publishing non-public packages in CI on pull request builds" + exit 0 + fi + if [[ x"${APPVEYOR_REPO_BRANCH:-}" != x"master" ]]; then + echo "Skipping publishing non-public packages in CI on pushes to branches other than master" + exit 0 + fi fi - if [[ x"${APPVEYOR_REPO_BRANCH:-}" != x"master" ]]; then - echo "Skipping publishing non-public packages in CI on pushes to branches other than master" - exit 0 + + if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then + if [[ x"${GITHUB_REF:-}" != x"refs/heads/master" ]]; then + echo "Skipping publishing non-public packages in CI on pushes to branches other than master" + exit 0 + fi fi fi fi diff --git a/test.sh b/test.sh index a338d33..462b920 100755 --- a/test.sh +++ b/test.sh @@ -13,6 +13,7 @@ PUBLIC="" BUILD=0 UPM=0 UNITYVERSION=2019.2 +CI=0 while (( "$#" )); do case "$1" in @@ -35,6 +36,12 @@ while (( "$#" )); do shift CONFIGURATION=$1 ;; + --ci) + CI=1 + ;; + --trace) + { set -x; } 2>/dev/null + ;; -*|--*=) # unsupported flags echo "Error: Unsupported flag $1" >&2 exit 1 @@ -43,18 +50,27 @@ while (( "$#" )); do shift done +if [[ x"${APPVEYOR:-}" != x"" ]]; then + CI=1 +fi + +if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then + CI=1 +fi + pushd $DIR >/dev/null 2>&1 if [[ x"$BUILD" == x"1" ]]; then - if [[ x"${APPVEYOR:-}" == x"" ]]; then + if [[ x"${CI}" == x"0" ]]; then dotnet restore fi dotnet build --no-restore -c $CONFIGURATION $PUBLIC fi -dotnet test --no-build --no-restore -c $CONFIGURATION $PUBLIC --logger "trx;LogFileName=dotnet-test-result.trx" +dotnet test --no-build --no-restore -c $CONFIGURATION $PUBLIC +#dotnet test --no-build --no-restore -c $CONFIGURATION $PUBLIC --logger "trx;LogFileName=dotnet-test-result.trx" #dotnet test --no-build --no-restore -c $CONFIGURATION $PUBLIC --logger "trx;LogFileName=dotnet-test-result.trx" --logger "html;LogFileName=dotnet-test-result.html" if [[ x"$UPM" == x"1" ]]; then From 72b8940ff01adf013d1873043265fc4fd7249b20 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 14:34:19 +0100 Subject: [PATCH 03/16] Setting the version properly and only publishing if the flag is set --- .github/workflows/main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8ea6f24..80f4e5c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,15 +39,20 @@ jobs: - if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} run: echo "isPublic=1" >> $GITHUB_ENV - - if: ${{ github.event_name == 'workflow_dispatch' && inputs.publish }} + - if: ${{ github.event_name == 'workflow_dispatch' && startsWith(github.ref, 'refs/tags/') }} run: echo "isPublic=1" >> $GITHUB_ENV - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done - run: echo ./build.sh -c $CONFIGURATION --ispublic $isPublic - run: echo ./test.sh -c $CONFIGURATION --ispublic $isPublic - - run: echo ./publish.sh --branches --version $NpmPackageVersion --ispublic $isPublic + + - run: echo ./publish.sh --branches --version ${NBGV_NpmPackageVersion} --ispublic $isPublic + if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} + - run: echo ./pack.sh -c $CONFIGURATION --ispublic $isPublic + - run: echo ./publish.sh --npm --ispublic $isPublic + if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} - uses: actions/upload-artifact@v4 with: From 35a5fe60196e7036f63346cdf219ccaadb3b5be5 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 14:43:00 +0100 Subject: [PATCH 04/16] Alright let's do this! --- .github/workflows/main.yml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 80f4e5c..ff10760 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,15 +43,31 @@ jobs: run: echo "isPublic=1" >> $GITHUB_ENV - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done - - run: echo ./build.sh -c $CONFIGURATION --ispublic $isPublic - - run: echo ./test.sh -c $CONFIGURATION --ispublic $isPublic + - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic + - run: ./test.sh -c $CONFIGURATION --ispublic $isPublic - - run: echo ./publish.sh --branches --version ${NBGV_NpmPackageVersion} --ispublic $isPublic + - name: SpoiledBot + id: token + uses: getsentry/action-github-app-token@v2 + with: + app_id: ${{ secrets.SPOILEDBOT_ID }} + private_key: ${{ secrets.SPOILEDBOT_KEY }} + + # this lets us do commits and pushes without fiddling with keys + - name: GH cli + run: | + gh --version + echo "${{ steps.token.outputs.token }}" | gh auth login --with-token + gh auth status + git config --global user.name "SpoiledBot" + git config --global user.email "github@spoiledcat.net" + + - run: ./publish.sh --branches --version ${NBGV_NpmPackageVersion} --ispublic $isPublic if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} - - run: echo ./pack.sh -c $CONFIGURATION --ispublic $isPublic + - run: ./pack.sh -c $CONFIGURATION --ispublic $isPublic - - run: echo ./publish.sh --npm --ispublic $isPublic + - run: ./publish.sh --npm --ispublic $isPublic if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} - uses: actions/upload-artifact@v4 From 90a2426d6299f2a6098c9af7afeea136ba9978f9 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 14:47:45 +0100 Subject: [PATCH 05/16] Hmmm why is this failing --- .github/workflows/main.yml | 2 +- build.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ff10760..2e3f6ca 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,7 +43,7 @@ jobs: run: echo "isPublic=1" >> $GITHUB_ENV - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done - - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic + - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic --trace - run: ./test.sh -c $CONFIGURATION --ispublic $isPublic - name: SpoiledBot diff --git a/build.sh b/build.sh index 6e8153a..acb7d8f 100755 --- a/build.sh +++ b/build.sh @@ -68,6 +68,6 @@ pushd $DIR >/dev/null 2>&1 if [[ x"${CI}" == x"0" ]]; then dotnet restore fi -dotnet build --no-restore -c $CONFIGURATION $PUBLIC +dotnet build --no-restore -c $CONFIGURATION $PUBLIC -v d popd >/dev/null 2>&1 \ No newline at end of file From 980f57dd8c03566d421631bac6e53d491971332b Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 14:51:41 +0100 Subject: [PATCH 06/16] who knows --- build.sh | 8 ++++++-- pack.sh | 10 ++++++++-- test.sh | 8 ++++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/build.sh b/build.sh index acb7d8f..b887926 100755 --- a/build.sh +++ b/build.sh @@ -63,11 +63,15 @@ if [[ x"$UNITYBUILD" == x"1" ]]; then CONFIGURATION="${CONFIGURATION}Unity" fi -pushd $DIR >/dev/null 2>&1 +if [[ x"${CI}" == x"0" ]]; then + pushd $DIR >/dev/null 2>&1 +fi if [[ x"${CI}" == x"0" ]]; then dotnet restore fi dotnet build --no-restore -c $CONFIGURATION $PUBLIC -v d -popd >/dev/null 2>&1 \ No newline at end of file +if [[ x"${CI}" == x"0" ]]; then + popd >/dev/null 2>&1 +fi diff --git a/pack.sh b/pack.sh index 1888d58..dccd1d0 100755 --- a/pack.sh +++ b/pack.sh @@ -74,7 +74,9 @@ if [[ x"$UNITYBUILD" == x"1" ]]; then CONFIGURATION="${CONFIGURATION}Unity" fi -pushd $DIR >/dev/null 2>&1 +if [[ x"${CI}" == x"0" ]]; then + pushd $DIR >/dev/null 2>&1 +fi if [[ x"$BUILD" == x"1" ]]; then @@ -141,4 +143,8 @@ EOL fi fi -popd >/dev/null 2>&1 + +if [[ x"${CI}" == x"0" ]]; then + popd >/dev/null 2>&1 +fi + diff --git a/test.sh b/test.sh index 462b920..edd64f1 100755 --- a/test.sh +++ b/test.sh @@ -58,7 +58,9 @@ if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then CI=1 fi -pushd $DIR >/dev/null 2>&1 +if [[ x"${CI}" == x"0" ]]; then + pushd $DIR >/dev/null 2>&1 +fi if [[ x"$BUILD" == x"1" ]]; then @@ -77,4 +79,6 @@ if [[ x"$UPM" == x"1" ]]; then powershell scripts/Test-Upm.ps1 -UnityVersion $UNITYVERSION fi -popd >/dev/null 2>&1 +if [[ x"${CI}" == x"0" ]]; then + popd >/dev/null 2>&1 +fi From 5139d39596c115da9bb5831b68ad5c801561200c Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 14:53:36 +0100 Subject: [PATCH 07/16] FINE --- .github/workflows/main.yml | 2 +- build.sh | 2 +- test.sh | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2e3f6ca..ff10760 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,7 +43,7 @@ jobs: run: echo "isPublic=1" >> $GITHUB_ENV - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done - - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic --trace + - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic - run: ./test.sh -c $CONFIGURATION --ispublic $isPublic - name: SpoiledBot diff --git a/build.sh b/build.sh index b887926..faacf14 100755 --- a/build.sh +++ b/build.sh @@ -70,7 +70,7 @@ fi if [[ x"${CI}" == x"0" ]]; then dotnet restore fi -dotnet build --no-restore -c $CONFIGURATION $PUBLIC -v d +dotnet build --no-restore -c $CONFIGURATION $PUBLIC if [[ x"${CI}" == x"0" ]]; then popd >/dev/null 2>&1 diff --git a/test.sh b/test.sh index edd64f1..62dfec6 100755 --- a/test.sh +++ b/test.sh @@ -36,6 +36,8 @@ while (( "$#" )); do shift CONFIGURATION=$1 ;; + --ispublic) + ;; --ci) CI=1 ;; From e154168ad6aa0ca15c68d1f76f70abc2b15f54aa Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 14:57:09 +0100 Subject: [PATCH 08/16] I'm confused --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ff10760..a7be353 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,8 +43,8 @@ jobs: run: echo "isPublic=1" >> $GITHUB_ENV - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done - - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic - - run: ./test.sh -c $CONFIGURATION --ispublic $isPublic + - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic --trace + - run: ./test.sh -c $CONFIGURATION --ispublic $isPublic --trace - name: SpoiledBot id: token From 240072bedf828bb84a0863d4ff59b930ae647dbf Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 15:26:05 +0100 Subject: [PATCH 09/16] No, this is not what's breaking things --- .github/workflows/main.yml | 5 +++++ build.sh | 10 +++------- pack.sh | 8 ++------ test.sh | 8 ++------ 4 files changed, 12 insertions(+), 19 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a7be353..7957cfa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,7 +44,9 @@ jobs: - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic --trace + shell: bash - run: ./test.sh -c $CONFIGURATION --ispublic $isPublic --trace + shell: bash - name: SpoiledBot id: token @@ -63,11 +65,14 @@ jobs: git config --global user.email "github@spoiledcat.net" - run: ./publish.sh --branches --version ${NBGV_NpmPackageVersion} --ispublic $isPublic + shell: bash if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} - run: ./pack.sh -c $CONFIGURATION --ispublic $isPublic + shell: bash - run: ./publish.sh --npm --ispublic $isPublic + shell: bash if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} - uses: actions/upload-artifact@v4 diff --git a/build.sh b/build.sh index faacf14..f784b39 100755 --- a/build.sh +++ b/build.sh @@ -59,19 +59,15 @@ if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then CI=1 fi -if [[ x"$UNITYBUILD" == x"1" ]]; then +if [[ x"${UNITYBUILD}" == x"1" ]]; then CONFIGURATION="${CONFIGURATION}Unity" fi -if [[ x"${CI}" == x"0" ]]; then - pushd $DIR >/dev/null 2>&1 -fi +pushd $DIR >/dev/null 2>&1 if [[ x"${CI}" == x"0" ]]; then dotnet restore fi dotnet build --no-restore -c $CONFIGURATION $PUBLIC -if [[ x"${CI}" == x"0" ]]; then - popd >/dev/null 2>&1 -fi +popd >/dev/null 2>&1 diff --git a/pack.sh b/pack.sh index dccd1d0..ed8a403 100755 --- a/pack.sh +++ b/pack.sh @@ -74,9 +74,7 @@ if [[ x"$UNITYBUILD" == x"1" ]]; then CONFIGURATION="${CONFIGURATION}Unity" fi -if [[ x"${CI}" == x"0" ]]; then - pushd $DIR >/dev/null 2>&1 -fi +pushd $DIR >/dev/null 2>&1 if [[ x"$BUILD" == x"1" ]]; then @@ -144,7 +142,5 @@ EOL fi fi -if [[ x"${CI}" == x"0" ]]; then - popd >/dev/null 2>&1 -fi +popd >/dev/null 2>&1 diff --git a/test.sh b/test.sh index 62dfec6..4eafb27 100755 --- a/test.sh +++ b/test.sh @@ -60,9 +60,7 @@ if [[ x"${GITHUB_REPOSITORY:-}" != x"" ]]; then CI=1 fi -if [[ x"${CI}" == x"0" ]]; then - pushd $DIR >/dev/null 2>&1 -fi +pushd $DIR >/dev/null 2>&1 if [[ x"$BUILD" == x"1" ]]; then @@ -81,6 +79,4 @@ if [[ x"$UPM" == x"1" ]]; then powershell scripts/Test-Upm.ps1 -UnityVersion $UNITYVERSION fi -if [[ x"${CI}" == x"0" ]]; then - popd >/dev/null 2>&1 -fi +popd >/dev/null 2>&1 From 2e965b749639740beba499d88a8ec65df2988a56 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 15:26:33 +0100 Subject: [PATCH 10/16] ...I think nerdbank.gitversioning is breaking github?? --- version.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/version.json b/version.json index 66a67fc..2cc17f6 100644 --- a/version.json +++ b/version.json @@ -4,12 +4,5 @@ "publicReleaseRefSpec": [ "^refs/tags/v\\d+\\.\\d+" ], - "cloudBuild": { - "setVersionVariables": true, - "setAllVariables": true, - "buildNumber": { - "enabled": true - } - }, "inherit": false } \ No newline at end of file From 11677077c216d219fe849727735e093b87607867 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 15:29:12 +0100 Subject: [PATCH 11/16] Oh cool dotnet test is broken in github actions, that's GREAT --- .github/workflows/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7957cfa..f3f7739 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -45,8 +45,6 @@ jobs: - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic --trace shell: bash - - run: ./test.sh -c $CONFIGURATION --ispublic $isPublic --trace - shell: bash - name: SpoiledBot id: token From e22156a31cd621142be5656560bf5d78f38d0106 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 15:34:05 +0100 Subject: [PATCH 12/16] Right, gh wants https --- .github/workflows/main.yml | 2 +- publish.sh | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f3f7739..7bfba6c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,7 +62,7 @@ jobs: git config --global user.name "SpoiledBot" git config --global user.email "github@spoiledcat.net" - - run: ./publish.sh --branches --version ${NBGV_NpmPackageVersion} --ispublic $isPublic + - run: ./publish.sh --branches --version ${NBGV_NpmPackageVersion} --ispublic $isPublic --https shell: bash if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} diff --git a/publish.sh b/publish.sh index 6e20c11..32fb1bb 100755 --- a/publish.sh +++ b/publish.sh @@ -17,6 +17,7 @@ NUGET=0 VERSION= PUBLIC=0 CI=0 +HTTPS=0 while (( "$#" )); do case "$1" in @@ -46,6 +47,9 @@ while (( "$#" )); do --ci) CI=1 ;; + --https) + HTTPS=1 + ;; --trace) { set -x; } 2>/dev/null ;; @@ -117,7 +121,11 @@ if [[ x"$BRANCHES" == x"1" ]]; then destdir=$( cd .. >/dev/null 2>&1 && pwd )/branches test -d $destdir && rm -rf $destdir mkdir -p $destdir - git clone -q --branch=empty git@github.com:spoiledcat/UnityTools $destdir + if [[ x"${HTTPS}" == x"1" ]]; then + git clone -q --branch=empty https://github.com/spoiledcat/UnityTools $destdir + else + git clone -q --branch=empty git@github.com:spoiledcat/UnityTools $destdir + fi pushd $srcdir @@ -128,7 +136,6 @@ if [[ x"$BRANCHES" == x"1" ]]; then pkgdir=$srcdir/$name updateBranchAndPush "$branch" "$destdir" "$pkgdir" "$msg" "$VERSION" $PUBLIC - done popd From 6e4547b51619cf4466bf041f225037062fb1a96f Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 15:51:28 +0100 Subject: [PATCH 13/16] Let github clone the branches repo --- .github/workflows/main.yml | 47 ++++++++++++++++++++++++++------------ publish.sh | 19 ++++++++------- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7bfba6c..541faac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,14 +17,29 @@ jobs: CONFIGURATION: Release steps: + - run: echo "isPublic=0" >> $GITHUB_ENV + + - if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} + run: echo "isPublic=1" >> $GITHUB_ENV + + - if: ${{ github.event_name == 'workflow_dispatch' && startsWith(github.ref, 'refs/tags/') }} + run: echo "isPublic=1" >> $GITHUB_ENV + - uses: actions/checkout@v4 with: fetch-depth: 0 + path: source - uses: actions/setup-dotnet@v4 + with: + global-json-file: source/global.json + - uses: dotnet/nbgv@master with: setAllVars: true + path: source + - name: dependencies + working-directory: source run: | mkdir -p lib pushd lib @@ -32,19 +47,17 @@ jobs: 7z -y -bb3 x deps.zip popd - run: dotnet --list-sdks + working-directory: source - run: node --version + working-directory: source - run: npm --version - - - run: echo "isPublic=0" >> $GITHUB_ENV - - if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} - run: echo "isPublic=1" >> $GITHUB_ENV - - - if: ${{ github.event_name == 'workflow_dispatch' && startsWith(github.ref, 'refs/tags/') }} - run: echo "isPublic=1" >> $GITHUB_ENV + working-directory: source - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done + working-directory: source + - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic --trace - shell: bash + working-directory: source - name: SpoiledBot id: token @@ -53,8 +66,14 @@ jobs: app_id: ${{ secrets.SPOILEDBOT_ID }} private_key: ${{ secrets.SPOILEDBOT_KEY }} + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + path: branches + # this lets us do commits and pushes without fiddling with keys - name: GH cli + working-directory: branches run: | gh --version echo "${{ steps.token.outputs.token }}" | gh auth login --with-token @@ -62,21 +81,21 @@ jobs: git config --global user.name "SpoiledBot" git config --global user.email "github@spoiledcat.net" - - run: ./publish.sh --branches --version ${NBGV_NpmPackageVersion} --ispublic $isPublic --https - shell: bash + - run: ./publish.sh --ispublic $isPublic --branches --skip-clone if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} + working-directory: source - run: ./pack.sh -c $CONFIGURATION --ispublic $isPublic - shell: bash + working-directory: source - run: ./publish.sh --npm --ispublic $isPublic - shell: bash if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} + working-directory: source - uses: actions/upload-artifact@v4 with: - path: 'build/**/*.nupkg' + path: 'source/build/**/*.nupkg' - uses: actions/upload-artifact@v4 with: - path: 'build/**/*.tgz' + path: 'source/build/**/*.tgz' diff --git a/publish.sh b/publish.sh index 32fb1bb..430b2f9 100755 --- a/publish.sh +++ b/publish.sh @@ -17,7 +17,7 @@ NUGET=0 VERSION= PUBLIC=0 CI=0 -HTTPS=0 +SKIP_CLONE=0 while (( "$#" )); do case "$1" in @@ -47,8 +47,8 @@ while (( "$#" )); do --ci) CI=1 ;; - --https) - HTTPS=1 + --skip-clone) + SKIP_CLONE=1 ;; --trace) { set -x; } 2>/dev/null @@ -77,6 +77,10 @@ if [[ x"${YAMATO_JOB_ID:-}" != x"" ]]; then export CI_COMMIT_REF_NAME="${GIT_BRANCH:-}" fi +if [[ x"$VERSION" == x"" ]]; then + VERSION=${NBGV_NpmPackageVersion:-} +fi + function updateBranchAndPush() { local branch=$1 local destdir=$2 @@ -119,11 +123,10 @@ if [[ x"$BRANCHES" == x"1" ]]; then srcdir=$DIR/build/packages destdir=$( cd .. >/dev/null 2>&1 && pwd )/branches - test -d $destdir && rm -rf $destdir - mkdir -p $destdir - if [[ x"${HTTPS}" == x"1" ]]; then - git clone -q --branch=empty https://github.com/spoiledcat/UnityTools $destdir - else + + if [[ x"${SKIP_CLONE}" == "0" ]]; then + test -d $destdir && rm -rf $destdir + mkdir -p $destdir git clone -q --branch=empty git@github.com:spoiledcat/UnityTools $destdir fi From a5b83aa9430eb11bd0f126f20bfe9fded59e6e2e Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 16:02:27 +0100 Subject: [PATCH 14/16] Right, nbgv calculates the wrong version, we need dotnet to do it, let's see... --- .github/workflows/main.yml | 27 +++++++++++++++------------ publish.sh | 10 +++++++++- version.json | 7 +++++++ 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 541faac..fb5b969 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,15 +15,18 @@ jobs: runs-on: ubuntu-latest env: CONFIGURATION: Release + ISPUBLIC: 0 + LATEST: 0 steps: - - run: echo "isPublic=0" >> $GITHUB_ENV - - if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} - run: echo "isPublic=1" >> $GITHUB_ENV + run: echo "ISPUBLIC=1" >> $GITHUB_ENV - if: ${{ github.event_name == 'workflow_dispatch' && startsWith(github.ref, 'refs/tags/') }} - run: echo "isPublic=1" >> $GITHUB_ENV + run: echo "ISPUBLIC=1" >> $GITHUB_ENV + + - if: ${{ github.ref == 'refs/heads/master' }} + run: echo "LATEST=1" >> $GITHUB_ENV - uses: actions/checkout@v4 with: @@ -33,10 +36,10 @@ jobs: with: global-json-file: source/global.json - - uses: dotnet/nbgv@master - with: - setAllVars: true - path: source + # - uses: dotnet/nbgv@master + # with: + # setAllVars: true + # path: source - name: dependencies working-directory: source @@ -56,7 +59,7 @@ jobs: - run: for i in 1 2 3 4 5; do dotnet restore -v Minimal && break || sleep 1; done working-directory: source - - run: ./build.sh -c $CONFIGURATION --ispublic $isPublic --trace + - run: ./build.sh -c $CONFIGURATION --ispublic $ISPUBLIC --trace working-directory: source - name: SpoiledBot @@ -81,14 +84,14 @@ jobs: git config --global user.name "SpoiledBot" git config --global user.email "github@spoiledcat.net" - - run: ./publish.sh --ispublic $isPublic --branches --skip-clone + - run: ./publish.sh --ispublic $ISPUBLIC --branches --skip-clone --latest $LATEST if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} working-directory: source - - run: ./pack.sh -c $CONFIGURATION --ispublic $isPublic + - run: ./pack.sh -c $CONFIGURATION --ispublic $ISPUBLIC working-directory: source - - run: ./publish.sh --npm --ispublic $isPublic + - run: ./publish.sh --npm --ispublic $ISPUBLIC if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }} working-directory: source diff --git a/publish.sh b/publish.sh index 430b2f9..ac57434 100755 --- a/publish.sh +++ b/publish.sh @@ -18,6 +18,7 @@ VERSION= PUBLIC=0 CI=0 SKIP_CLONE=0 +LATEST=0 while (( "$#" )); do case "$1" in @@ -44,6 +45,10 @@ while (( "$#" )); do shift PUBLIC=$1 ;; + --latest) + shift + LATEST=$1 + ;; --ci) CI=1 ;; @@ -100,7 +105,10 @@ function updateBranchAndPush() { cp -R $pkgdir/* . git add . git commit -m "$msg" - git push origin HEAD:$branch/latest + + if [[ x"${LATEST}" == x"1" ]]; then + git push origin HEAD:$branch/latest + fi if [[ $publ -eq 1 ]]; then echo "Publishing branch: $branch/$VERSION" diff --git a/version.json b/version.json index 2cc17f6..66a67fc 100644 --- a/version.json +++ b/version.json @@ -4,5 +4,12 @@ "publicReleaseRefSpec": [ "^refs/tags/v\\d+\\.\\d+" ], + "cloudBuild": { + "setVersionVariables": true, + "setAllVariables": true, + "buildNumber": { + "enabled": true + } + }, "inherit": false } \ No newline at end of file From 70e52bf769686b1f37a19baf48fe50245ac53b8d Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 16:23:20 +0100 Subject: [PATCH 15/16] Add a project whose only job is to set the cloud variables --- .config/dotnet-tools.json | 12 ++++++++++ UnityTools.sln | 32 ++++++++++++++++++++++++-- src/AVersionStamp/AVersionStamp.csproj | 8 +++++++ src/AVersionStamp/version.json | 7 ++++++ version.json | 6 +---- 5 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 .config/dotnet-tools.json create mode 100644 src/AVersionStamp/AVersionStamp.csproj create mode 100644 src/AVersionStamp/version.json diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..ce8f00b --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "nbgv": { + "version": "3.6.146", + "commands": [ + "nbgv" + ] + } + } +} \ No newline at end of file diff --git a/UnityTools.sln b/UnityTools.sln index 8789421..7ccd5d0 100644 --- a/UnityTools.sln +++ b/UnityTools.sln @@ -1,17 +1,31 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29503.13 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35312.102 MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AVersionStamp", "src\AVersionStamp\AVersionStamp.csproj", "{01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.Environment", "src\com.spoiledcat.environment\Editor\SpoiledCat.Unity.Environment.csproj", "{11F6F1B7-7E18-4ADA-87A4-2D65100CAE5E}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.Logging", "src\com.spoiledcat.logging\Editor\SpoiledCat.Unity.Logging.csproj", "{AAE57A75-EC73-4C1A-9095-6B943AA15BC7}" + ProjectSection(ProjectDependencies) = postProject + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} = {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.SimpleIO", "src\com.spoiledcat.simpleio\Editor\SpoiledCat.Unity.SimpleIO.csproj", "{BA3EC028-1970-4F51-95B5-2C18C7706924}" + ProjectSection(ProjectDependencies) = postProject + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} = {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.SimpleJson", "src\com.spoiledcat.simplejson\Editor\SpoiledCat.Unity.SimpleJson.csproj", "{2A572465-DE6D-42FA-BC88-C846D6931B5F}" + ProjectSection(ProjectDependencies) = postProject + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} = {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.SharpZipLib", "src\com.spoiledcat.sharpziplib\Editor\SpoiledCat.Unity.SharpZipLib.csproj", "{E74CD1E7-C4EB-43D3-A843-F520BC712BA4}" + ProjectSection(ProjectDependencies) = postProject + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} = {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.Threading", "src\com.spoiledcat.threading\Editor\SpoiledCat.Unity.Threading.csproj", "{9699A2CF-3009-4272-AE5A-0A0C7AF6BCB6}" EndProject @@ -24,6 +38,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.Utilities.Editor", "src\com.spoiledcat.utilities\Editor\SpoiledCat.Unity.Utilities.Editor.csproj", "{D82E300E-7BD9-4B87-9522-847D4EDAABE7}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.Unity.Utilities.Runtime", "src\com.spoiledcat.utilities.runtime\Runtime\SpoiledCat.Unity.Utilities.Runtime.csproj", "{D82E300E-7BD9-4B87-9522-847D4EDAABEF}" + ProjectSection(ProjectDependencies) = postProject + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} = {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{1B6C7155-DF65-440B-B560-7414E4325AE3}" EndProject @@ -38,6 +55,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestBase", "tests\Helpers\TestBase\TestBase.csproj", "{D85495CD-E955-4E08-8D57-7381C6CA88EF}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpoiledCat.SimpleIO.Runtime", "src\com.spoiledcat.simpleio.runtime\Runtime\SpoiledCat.SimpleIO.Runtime.csproj", "{BA3EC028-1970-4F51-95B5-2C18C7706925}" + ProjectSection(ProjectDependencies) = postProject + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} = {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -47,6 +67,14 @@ Global ReleaseUnity|Any CPU = ReleaseUnity|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.DebugUnity|Any CPU.ActiveCfg = DebugUnity|Any CPU + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.DebugUnity|Any CPU.Build.0 = DebugUnity|Any CPU + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.Release|Any CPU.Build.0 = Release|Any CPU + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.ReleaseUnity|Any CPU.ActiveCfg = ReleaseUnity|Any CPU + {01F6F1B7-7E18-4ADA-87A4-2D65100CAE5A}.ReleaseUnity|Any CPU.Build.0 = ReleaseUnity|Any CPU {11F6F1B7-7E18-4ADA-87A4-2D65100CAE5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {11F6F1B7-7E18-4ADA-87A4-2D65100CAE5E}.Debug|Any CPU.Build.0 = Debug|Any CPU {11F6F1B7-7E18-4ADA-87A4-2D65100CAE5E}.DebugUnity|Any CPU.ActiveCfg = DebugUnity|Any CPU diff --git a/src/AVersionStamp/AVersionStamp.csproj b/src/AVersionStamp/AVersionStamp.csproj new file mode 100644 index 0000000..b8c80cf --- /dev/null +++ b/src/AVersionStamp/AVersionStamp.csproj @@ -0,0 +1,8 @@ + + + net471;netcoreapp3.1 + $(ProjectName) + $(AssemblyName) + Debug;Release;ReleaseUnity;DebugUnity + + \ No newline at end of file diff --git a/src/AVersionStamp/version.json b/src/AVersionStamp/version.json new file mode 100644 index 0000000..189292f --- /dev/null +++ b/src/AVersionStamp/version.json @@ -0,0 +1,7 @@ +{ + "inherit": true, + "cloudBuild": { + "setVersionVariables": true, + "setAllVariables": true + } +} \ No newline at end of file diff --git a/version.json b/version.json index 66a67fc..3b2d456 100644 --- a/version.json +++ b/version.json @@ -5,11 +5,7 @@ "^refs/tags/v\\d+\\.\\d+" ], "cloudBuild": { - "setVersionVariables": true, - "setAllVariables": true, - "buildNumber": { - "enabled": true - } + "setVersionVariables": false }, "inherit": false } \ No newline at end of file From ad9d4c1946fb14063dd09711ded876a74bc03310 Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Tue, 3 Dec 2024 16:48:25 +0100 Subject: [PATCH 16/16] Update build badge to point to github actions --- .config/dotnet-tools.json | 12 ------------ README.md | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 .config/dotnet-tools.json diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json deleted file mode 100644 index ce8f00b..0000000 --- a/.config/dotnet-tools.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": 1, - "isRoot": true, - "tools": { - "nbgv": { - "version": "3.6.146", - "commands": [ - "nbgv" - ] - } - } -} \ No newline at end of file diff --git a/README.md b/README.md index e3b0a91..825ad68 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Collection of Unity utilities -[![Build status](https://ci.appveyor.com/api/projects/status/fg8obuf106x0ixu8?svg=true)](https://ci.appveyor.com/project/shana/unitytools) +[![Build status](https://github.com/spoiledcat/UnityTools/actions/workflows/main.yml/badge.svg?event=push)](https://github.com/spoiledcat/UnityTools/actions/workflows/main.yml) ## Environment