From 29e3230ab9b9b844d43d1ac9d43939eada473d42 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 09:24:58 +0200 Subject: [PATCH 01/17] Add build workflow --- .github/workflows/build.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..8ed8228 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,26 @@ +name: Build + +on: + push: + branches: + - "main" + pull_request: + branches: + - "main" + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install NPM Packages + shell: pwsh + run: npm i + + - name: Build Project + shell: pwsh + run: | + npm run build From c4b555cc0429f691b7440af9fa8ee3c5a75cac62 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 09:33:45 +0200 Subject: [PATCH 02/17] Add build badge in readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba8a6e0..e1379d7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Flexsaber +[![Build](https://github.com/mikeleg/flexsaber/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/mikeleg/flexsaber/actions?query=workflow%3A%22Build%22) ![Flexsaber Logo](./logo.png) From fed7408769f0e58013c24d34199cc6d9ef2f0a03 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 09:37:04 +0200 Subject: [PATCH 03/17] Add trigger on tags --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ed8228..e612bf8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,9 @@ on: pull_request: branches: - "main" + push: + tags: + - '[0-9]+.[0-9]+.[0-9]+' jobs: build: From 861a4bc5338a6aa04c3482c594e0bf323e74a9bd Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 09:41:54 +0200 Subject: [PATCH 04/17] Minor fix on trigger conditions --- .github/workflows/build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e612bf8..0d0b92c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,12 +4,11 @@ on: push: branches: - "main" + tags: + - '[0-9]+.[0-9]+.[0-9]+' pull_request: branches: - "main" - push: - tags: - - '[0-9]+.[0-9]+.[0-9]+' jobs: build: From cc41dd160ed3d90662abce5cfe9941105b4c28a5 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:42:51 +0200 Subject: [PATCH 05/17] Add versioning and publish to npm steps --- .github/workflows/build.yml | 22 +++++++++++++++++++--- GitVersion.yml | 28 ++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 GitVersion.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0d0b92c..ded5933 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,17 +12,33 @@ on: jobs: build: - name: Build + name: Build & Publish runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install GitVersion + uses: gittools/actions/gitversion/setup + + - name: Determine Version + id: gitversion + uses: gittools/actions/gitversion/execute + with: + useConfigFile: true + configFilePath: GitVersion.yml + - name: Install NPM Packages shell: pwsh run: npm i - name: Build Project shell: pwsh - run: | - npm run build + run: npm run build + + - name: Publish to NPM + shell: pwsh + run: npm publish --tag ${{ steps.version_step.outputs.fullSemVer }} --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + VERSION: ${{ env.VERSION }} diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 0000000..e9a3a2f --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,28 @@ +mode: ContinuousDelivery +branches: + main: + label: beta + increment: Minor + regex: ^main? + is-main-branch: true + source-branches: [] + pull-request: + label: alpha + increment: Minor + feature: + label: alpha + increment: Minor + regex: ^feature/? + is-main-branch: false + source-branches: + - main + hotfix: + label: alpha + increment: Patch + regex: ^(?:hot)?fix/? + is-main-branch: false + source-branches: + - main +ignore: + sha: [] +merge-message-formats: {} From 2b5bcaa874e44505e8cbe1e34336bcd63e23bc27 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:43:54 +0200 Subject: [PATCH 06/17] Try fix for install step --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ded5933..151fa5f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v4 - name: Install GitVersion - uses: gittools/actions/gitversion/setup + uses: gittools/actions/gitversion/setup@latest - name: Determine Version id: gitversion From edcaa742f2408ee228e6b1fa975e31d92ae7dbfc Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:49:32 +0200 Subject: [PATCH 07/17] Change gitversion steps to bash/pwsh code --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 151fa5f..80a722b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,14 +19,14 @@ jobs: - uses: actions/checkout@v4 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@latest + run: dotnet tool install GitVersion.Tool - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute - with: - useConfigFile: true - configFilePath: GitVersion.yml + shell: pwsh + run: | + $version = (GitVersion.exe | ConvertFrom-Json).FullSemVer + echo "fullSemVer=$version" >> $env:GITHUB_OUTPUT - name: Install NPM Packages shell: pwsh @@ -38,7 +38,7 @@ jobs: - name: Publish to NPM shell: pwsh - run: npm publish --tag ${{ steps.version_step.outputs.fullSemVer }} --access public + run: npm publish --tag ${{ steps.gitversion.outputs.fullSemVer }} --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} VERSION: ${{ env.VERSION }} From 2e4a42bce4353d17d7df9fda22c0069cb72bcca0 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:50:17 +0200 Subject: [PATCH 08/17] Fix indentation --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 80a722b..105d0ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,11 +22,11 @@ jobs: run: dotnet tool install GitVersion.Tool - name: Determine Version - id: gitversion - shell: pwsh - run: | - $version = (GitVersion.exe | ConvertFrom-Json).FullSemVer - echo "fullSemVer=$version" >> $env:GITHUB_OUTPUT + id: gitversion + shell: pwsh + run: | + $version = (GitVersion.exe | ConvertFrom-Json).FullSemVer + echo "fullSemVer=$version" >> $env:GITHUB_OUTPUT - name: Install NPM Packages shell: pwsh From 09037351d5fa53225ad6dd8691f4a217e19dcaf7 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:53:32 +0200 Subject: [PATCH 09/17] Fix indentation... again --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 105d0ff..b951fdb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,14 +19,14 @@ jobs: - uses: actions/checkout@v4 - name: Install GitVersion - run: dotnet tool install GitVersion.Tool + run: dotnet tool install GitVersion.Tool - name: Determine Version - id: gitversion - shell: pwsh - run: | - $version = (GitVersion.exe | ConvertFrom-Json).FullSemVer - echo "fullSemVer=$version" >> $env:GITHUB_OUTPUT + id: gitversion + shell: pwsh + run: | + $version = (GitVersion.exe | ConvertFrom-Json).FullSemVer + echo "fullSemVer=$version" >> $env:GITHUB_OUTPUT - name: Install NPM Packages shell: pwsh From 5a3f2108ad2f806859abfa02a36baca63633a88a Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:55:21 +0200 Subject: [PATCH 10/17] Add global to gitversion installation --- .github/workflows/build.yml | 2 +- GitVersion.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b951fdb..0990aed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v4 - name: Install GitVersion - run: dotnet tool install GitVersion.Tool + run: dotnet tool install GitVersion.Tool -g - name: Determine Version id: gitversion diff --git a/GitVersion.yml b/GitVersion.yml index e9a3a2f..7a738f1 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -3,7 +3,7 @@ branches: main: label: beta increment: Minor - regex: ^main? + regex: ^main$ is-main-branch: true source-branches: [] pull-request: From bf0b71d253653bb4f411484d9618302416a06817 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:56:39 +0200 Subject: [PATCH 11/17] Try to fix the run of gitversion without specifing extension --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0990aed..b68bd5a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: id: gitversion shell: pwsh run: | - $version = (GitVersion.exe | ConvertFrom-Json).FullSemVer + $version = (gitversion | ConvertFrom-Json).FullSemVer echo "fullSemVer=$version" >> $env:GITHUB_OUTPUT - name: Install NPM Packages From fe33a9caface2341e043056e04a812cf5c2d8e3d Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 10:58:20 +0200 Subject: [PATCH 12/17] Try use embedded commands of gittools --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b68bd5a..15b7887 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,14 +19,14 @@ jobs: - uses: actions/checkout@v4 - name: Install GitVersion - run: dotnet tool install GitVersion.Tool -g + uses: gittools/actions/gitversion/setup - name: Determine Version id: gitversion - shell: pwsh - run: | - $version = (gitversion | ConvertFrom-Json).FullSemVer - echo "fullSemVer=$version" >> $env:GITHUB_OUTPUT + uses: gittools/actions/gitversion/execute + with: + useConfigFile: true + configFilePath: GitVersion.yml - name: Install NPM Packages shell: pwsh From a0ce64418e3c4f69751717d02c6874d611a0245b Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 11:00:02 +0200 Subject: [PATCH 13/17] Add version of the tool --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15b7887..8f92beb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,11 +19,11 @@ jobs: - uses: actions/checkout@v4 - name: Install GitVersion - uses: gittools/actions/gitversion/setup + uses: gittools/actions/gitversion/setup@v3.2.1 - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute + uses: gittools/actions/gitversion/execute@v3.2.1 with: useConfigFile: true configFilePath: GitVersion.yml From cdce35a4e535f3ffb936bdae1482e12a748768ca Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 11:02:05 +0200 Subject: [PATCH 14/17] Disable shallow clones --- .github/workflows/build.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8f92beb..5b18f9a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.1 From 87d97395d29f477a0775d5abf54f37453c3a9675 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 11:08:39 +0200 Subject: [PATCH 15/17] Fix indentation --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5b18f9a..33c50fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,10 +16,10 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.1 From e30015b5ada6e21f9e7850cdddba39b03c2850af Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 11:22:30 +0200 Subject: [PATCH 16/17] Try fix npm versioning using computed version --- .github/workflows/build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 33c50fd..64b9b79 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,7 +41,8 @@ jobs: - name: Publish to NPM shell: pwsh - run: npm publish --tag ${{ steps.gitversion.outputs.fullSemVer }} --access public + run: | + npm version ${{ steps.gitversion.outputs.fullSemVer }} --no-git-tag-version + npm publish --access public env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - VERSION: ${{ env.VERSION }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file From b6369e0dec7a5450e73fc343b41de267182461f1 Mon Sep 17 00:00:00 2001 From: davide-pi Date: Mon, 12 May 2025 11:30:51 +0200 Subject: [PATCH 17/17] npm push only on tags --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64b9b79..e1f50a8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,6 +40,7 @@ jobs: run: npm run build - name: Publish to NPM + if: startsWith(github.ref, 'refs/tags/') shell: pwsh run: | npm version ${{ steps.gitversion.outputs.fullSemVer }} --no-git-tag-version