From c657bdfb63b813cb388735357fc79ad0f8e116b5 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:10:47 +0100 Subject: [PATCH 01/60] fix --- .github/workflows/auto-release.yml | 68 +++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index ce837976..3a8d583f 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -1,8 +1,59 @@ +#name: Auto Release bot +# +#on: +# pull_request: +# types: [ closed ] +# branches: +# - main +# +#jobs: +# release: +# if: github.event.pull_request.merged == true +# runs-on: ubuntu-latest +# permissions: +# contents: write +# +# steps: +# - uses: actions/create-github-app-token@v1 +# id: app-token +# with: +# app-id: ${{ vars.APP_ID }} +# private-key: ${{ secrets.APP_PRIVATE_KEY }} +# +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# token: ${{ steps.app-token.outputs.token }} +# ref: ${{ github.base_ref }} +# +# - uses: pnpm/action-setup@v4 +# +# - uses: actions/setup-node@v4 +# with: +# node-version: "lts/*" +# cache: "pnpm" +# +# - run: pnpm install --frozen-lockfile +# +# - run: git config --global user.name 'github-actions[bot]' +# - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' +# +# - name: Push tags +# run: git push origin --tags +# +# - name: Run release-it +# run: | +# git pull origin main +# pnpm exec release-it --ci +# env: +# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + + name: Auto Release bot on: pull_request: - types: [ closed ] + types: [closed] branches: - main @@ -38,12 +89,17 @@ jobs: - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - name: Push tags - run: git push origin --tags + - name: Bump version and tag + run: pnpm exec release-it --ci --no-github + env: + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Run release-it + - name: Push commits and tags run: | - git pull origin main - pnpm exec release-it --ci + git push origin main + git push origin --tags + + - name: Create GitHub release + run: pnpm exec release-it --ci --only-github env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} From ad363ce38c78f03218d9675d7b9382cf2dcc679a Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:16:58 +0100 Subject: [PATCH 02/60] fix --- .github/workflows/auto-release.yml | 76 +++++------------------------- .release-it.json | 2 +- 2 files changed, 14 insertions(+), 64 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 3a8d583f..a7d3fc59 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -1,59 +1,8 @@ -#name: Auto Release bot -# -#on: -# pull_request: -# types: [ closed ] -# branches: -# - main -# -#jobs: -# release: -# if: github.event.pull_request.merged == true -# runs-on: ubuntu-latest -# permissions: -# contents: write -# -# steps: -# - uses: actions/create-github-app-token@v1 -# id: app-token -# with: -# app-id: ${{ vars.APP_ID }} -# private-key: ${{ secrets.APP_PRIVATE_KEY }} -# -# - uses: actions/checkout@v4 -# with: -# fetch-depth: 0 -# token: ${{ steps.app-token.outputs.token }} -# ref: ${{ github.base_ref }} -# -# - uses: pnpm/action-setup@v4 -# -# - uses: actions/setup-node@v4 -# with: -# node-version: "lts/*" -# cache: "pnpm" -# -# - run: pnpm install --frozen-lockfile -# -# - run: git config --global user.name 'github-actions[bot]' -# - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' -# -# - name: Push tags -# run: git push origin --tags -# -# - name: Run release-it -# run: | -# git pull origin main -# pnpm exec release-it --ci -# env: -# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Auto Release bot on: pull_request: - types: [closed] + types: [ closed ] branches: - main @@ -89,17 +38,18 @@ jobs: - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - name: Bump version and tag - run: pnpm exec release-it --ci --no-github - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - - name: Push commits and tags + - name: Run release-it run: | - git push origin main - git push origin --tags - - - name: Create GitHub release - run: pnpm exec release-it --ci --only-github + git pull origin main + pnpm exec release-it --ci env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + + - name: Convert release to draft + run: | + RELEASE_ID=$(gh release view v$(jq -r .version package.json) --repo $GITHUB_REPOSITORY --json id -q .id) + gh release edit $RELEASE_ID --draft --repo $GITHUB_REPOSITORY + env: + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + + diff --git a/.release-it.json b/.release-it.json index 5a77ebe2..cde53dc0 100644 --- a/.release-it.json +++ b/.release-it.json @@ -1,7 +1,7 @@ { "github": { "release": true, - "draft": true, + "draft": false, "tokenRef": "GITHUB_TOKEN" }, "git": { From a5e83f3133bbdcb691ca21cce875a5526c992ee8 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:20:51 +0100 Subject: [PATCH 03/60] fix --- .github/workflows/auto-release.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index a7d3fc59..59845d3a 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -47,9 +47,9 @@ jobs: - name: Convert release to draft run: | - RELEASE_ID=$(gh release view v$(jq -r .version package.json) --repo $GITHUB_REPOSITORY --json id -q .id) - gh release edit $RELEASE_ID --draft --repo $GITHUB_REPOSITORY + TAG=${{ steps.release.outputs.tag }} + echo "Updating release $TAG to draft" + RELEASE_ID=$(gh release view "$TAG" --json id -q .id) + gh release edit "$RELEASE_ID" --draft env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - From a43127071864e9f50edaa0064e72fe5fe3497fc9 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:24:09 +0100 Subject: [PATCH 04/60] fix --- .github/workflows/auto-release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 59845d3a..29cf104d 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -39,15 +39,16 @@ jobs: - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' - name: Run release-it + id: release_step run: | git pull origin main - pnpm exec release-it --ci + pnpm exec release-it --ci --ci-output env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - name: Convert release to draft run: | - TAG=${{ steps.release.outputs.tag }} + TAG=${{ steps.release_step.outputs.tag }} echo "Updating release $TAG to draft" RELEASE_ID=$(gh release view "$TAG" --json id -q .id) gh release edit "$RELEASE_ID" --draft From 539b516e45ef0c70e6a09e48965c638be45cc595 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:29:35 +0100 Subject: [PATCH 05/60] fix --- .github/workflows/auto-release.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 29cf104d..11111e19 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -46,11 +46,16 @@ jobs: env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + - name: Get new version + id: get_version + run: | + TAG="v$(node -p "require('./package.json').version")" + echo "tag=$TAG" >> $GITHUB_OUTPUT + - name: Convert release to draft run: | - TAG=${{ steps.release_step.outputs.tag }} echo "Updating release $TAG to draft" RELEASE_ID=$(gh release view "$TAG" --json id -q .id) gh release edit "$RELEASE_ID" --draft env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} \ No newline at end of file From f6da5961c39d0459d7ebd40a1d49d9e8a164d003 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:33:23 +0100 Subject: [PATCH 06/60] fix --- .github/workflows/auto-release.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 11111e19..a572f02e 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -38,20 +38,23 @@ jobs: - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' +# - name: Run release-it +# id: release_step +# run: | +# git pull origin main +# pnpm exec release-it --ci --ci-output +# env: +# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + - name: Run release-it id: release_step run: | git pull origin main - pnpm exec release-it --ci --ci-output + TAG=$(pnpm exec release-it --ci --ci-output | grep -oE '🔗 https://github.com/.+/releases/tag/([^\s]+)' | awk -F/ '{print $NF}') + echo "tag=$TAG" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Get new version - id: get_version - run: | - TAG="v$(node -p "require('./package.json').version")" - echo "tag=$TAG" >> $GITHUB_OUTPUT - - name: Convert release to draft run: | echo "Updating release $TAG to draft" From ff48517b430472ec15e7b9483c0b36d91e4be3aa Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:36:31 +0100 Subject: [PATCH 07/60] fix --- .github/workflows/auto-release.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 241681cc..b8a41e58 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -55,11 +55,6 @@ jobs: env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Get new version - id: get_version - run: | - TAG="v$(node -p "require('./package.json').version")" - echo "tag=$TAG" >> $GITHUB_OUTPUT - name: Convert release to draft run: | From 7d4d6cd9df04463cead1fd6e2cdc84d6b10f7d3c Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:47:02 +0100 Subject: [PATCH 08/60] fix --- .github/workflows/auto-release.yml | 24 +++++++----------------- .release-it.json | 2 +- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index b8a41e58..0353c525 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -42,24 +42,14 @@ jobs: # id: release_step # run: | # git pull origin main -# pnpm exec release-it --ci --ci-output +# pnpm exec release-it --ci # env: # GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + - name: Create tag only + run: pnpm exec release-it --ci --no-github - - name: Run release-it - id: release_step - run: | - git pull origin main - TAG=$(pnpm exec release-it --ci --ci-output | grep -oE '🔗 https://github.com/.+/releases/tag/([^\s]+)' | awk -F/ '{print $NF}') - echo "tag=$TAG" >> $GITHUB_OUTPUT - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + - name: Push tag + run: git push origin v$(pnpm exec release-it --ci --dry-run | grep 'next version' | awk '{print $NF}') - - - name: Convert release to draft - run: | - echo "Updating release $TAG to draft" - RELEASE_ID=$(gh release view "$TAG" --json id -q .id) - gh release edit "$RELEASE_ID" --draft - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} \ No newline at end of file + - name: Create GitHub release + run: pnpm exec release-it --ci --no-npm diff --git a/.release-it.json b/.release-it.json index cde53dc0..5a77ebe2 100644 --- a/.release-it.json +++ b/.release-it.json @@ -1,7 +1,7 @@ { "github": { "release": true, - "draft": false, + "draft": true, "tokenRef": "GITHUB_TOKEN" }, "git": { From 1e6bb542f9693da4761b236be8b106c5b858f4d2 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:53:23 +0100 Subject: [PATCH 09/60] fix --- .github/workflows/auto-release.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 0353c525..7aa158af 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -45,11 +45,19 @@ jobs: # pnpm exec release-it --ci # env: # GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Create tag only - run: pnpm exec release-it --ci --no-github + - name: Create tag and push it + run: | + git pull origin main + pnpm exec release-it --ci --no-github + env: + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - name: Push tag run: git push origin v$(pnpm exec release-it --ci --dry-run | grep 'next version' | awk '{print $NF}') + env: + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - name: Create GitHub release run: pnpm exec release-it --ci --no-npm + env: + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} \ No newline at end of file From 53c1bc9e59bc294291a17d09347c9bc427af9dcc Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:56:13 +0100 Subject: [PATCH 10/60] fix --- .github/workflows/auto-release.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 7aa158af..f711bd36 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -52,11 +52,6 @@ jobs: env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Push tag - run: git push origin v$(pnpm exec release-it --ci --dry-run | grep 'next version' | awk '{print $NF}') - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Create GitHub release run: pnpm exec release-it --ci --no-npm env: From de4f31f2556b065fd13942d6aba3f5d64570dc34 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 09:58:11 +0100 Subject: [PATCH 11/60] fix --- .github/workflows/auto-release.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index f711bd36..b9c7df85 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -45,14 +45,15 @@ jobs: # pnpm exec release-it --ci # env: # GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Create tag and push it + - name: Create version and push tag + id: create_tag run: | - git pull origin main - pnpm exec release-it --ci --no-github + pnpm exec release-it --ci --no-github --no-npm + git push origin --follow-tags env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - name: Create GitHub release - run: pnpm exec release-it --ci --no-npm + run: pnpm exec release-it --ci --no-npm --no-git env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} \ No newline at end of file From 51747773ba4e41b185b89cb3d102776e4b640294 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 10:02:32 +0100 Subject: [PATCH 12/60] fix --- .github/workflows/auto-release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index b9c7df85..a2c41c1c 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -53,7 +53,10 @@ jobs: env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + - name: Fetch tags + run: git fetch --tags + - name: Create GitHub release - run: pnpm exec release-it --ci --no-npm --no-git + run: pnpm exec release-it --ci --no-npm --no-increment --no-git env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} \ No newline at end of file From 79387b83f6d595e96d5ad8b316e2cde2882d3b3d Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 10:24:58 +0100 Subject: [PATCH 13/60] fix --- .github/workflows/auto-release.yml | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index a2c41c1c..cf37c49a 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -38,25 +38,10 @@ jobs: - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' -# - name: Run release-it -# id: release_step -# run: | -# git pull origin main -# pnpm exec release-it --ci -# env: -# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Create version and push tag - id: create_tag + - name: Run release-it + id: release_step run: | - pnpm exec release-it --ci --no-github --no-npm - git push origin --follow-tags + git pull origin main + pnpm exec release-it --ci --dry-run env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - - name: Fetch tags - run: git fetch --tags - - - name: Create GitHub release - run: pnpm exec release-it --ci --no-npm --no-increment --no-git - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} \ No newline at end of file From b063e5c2762b41be363ef27098809bd3a7f0a1a7 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 10:29:27 +0100 Subject: [PATCH 14/60] fix --- .github/workflows/auto-release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index cf37c49a..013a9ab3 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -35,6 +35,8 @@ jobs: - run: pnpm install --frozen-lockfile + + - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' From c840196a14fed507a66f0a96020d8d74f16dc06d Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 10:33:38 +0100 Subject: [PATCH 15/60] fix --- .github/workflows/auto-release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 013a9ab3..f018c75c 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -37,6 +37,8 @@ jobs: + + - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' From f1c7dcda45f32137971de5d9aba7cac991f4f7d0 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 10:39:28 +0100 Subject: [PATCH 16/60] fix --- .github/workflows/auto-release.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index f018c75c..5e3fb836 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -24,7 +24,8 @@ jobs: with: fetch-depth: 0 token: ${{ steps.app-token.outputs.token }} - ref: ${{ github.base_ref }} + #ref: ${{ github.base_ref }} + ref: main - uses: pnpm/action-setup@v4 @@ -35,17 +36,13 @@ jobs: - run: pnpm install --frozen-lockfile - - - - - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' - name: Run release-it id: release_step - run: | - git pull origin main - pnpm exec release-it --ci --dry-run +# run: | +# git pull origin main + run: pnpm exec release-it --ci env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} From 746a9f5eb63894d2ff56a9839834ab5c2b604ccd Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 10:49:04 +0100 Subject: [PATCH 17/60] fix --- .github/workflows/auto-release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 5e3fb836..d0cdb9e4 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -39,6 +39,9 @@ jobs: - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' + - run: git fetch origin main:main + - run: git checkout main + - name: Run release-it id: release_step # run: | From ba4476a3a746bd2f2d6617d3ecc046dc9a98b20a Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 11:21:11 +0100 Subject: [PATCH 18/60] fix --- .github/workflows/auto-release.yml | 24 +++++++++++++++++------- .release-it.json | 3 ++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index d0cdb9e4..e03fa2b4 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -24,8 +24,7 @@ jobs: with: fetch-depth: 0 token: ${{ steps.app-token.outputs.token }} - #ref: ${{ github.base_ref }} - ref: main + ref: ${{ github.base_ref }} - uses: pnpm/action-setup@v4 @@ -39,13 +38,24 @@ jobs: - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - run: git fetch origin main:main - - run: git checkout main + - name: Fetch tags + run: git fetch --tags - - name: Run release-it - id: release_step +# - name: Run release-it +# id: release_step # run: | # git pull origin main - run: pnpm exec release-it --ci +# pnpm exec release-it --ci +# env: +# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + - name: Run release-it + id: release_step + run: | + git pull origin main + OUTPUT=$(pnpm exec release-it --ci) + echo "$OUTPUT" + # Extract the untagged draft release name + DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') + echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} diff --git a/.release-it.json b/.release-it.json index 5a77ebe2..6bd22c9b 100644 --- a/.release-it.json +++ b/.release-it.json @@ -2,7 +2,8 @@ "github": { "release": true, "draft": true, - "tokenRef": "GITHUB_TOKEN" + "tokenRef": "GITHUB_TOKEN", + "update": true }, "git": { "commit": true, From 3ccccfc5e5f3306697a3fe9c7e22e08a8db5c45e Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 11:24:12 +0100 Subject: [PATCH 19/60] fix --- .github/workflows/auto-release.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index e03fa2b4..d01ab987 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -41,13 +41,13 @@ jobs: - name: Fetch tags run: git fetch --tags -# - name: Run release-it -# id: release_step -# run: | -# git pull origin main -# pnpm exec release-it --ci -# env: -# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + # - name: Run release-it + # id: release_step + # run: | + # git pull origin main + # pnpm exec release-it --ci + # env: + # GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - name: Run release-it id: release_step run: | @@ -59,3 +59,7 @@ jobs: echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + + - name: Log draft release tag + run: | + echo "The temporary draft release tag is: ${{ steps.release_step.outputs.draft_tag }}" \ No newline at end of file From 67302c6a177e61ac5e37db79f4693cd228a42fc9 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 11:43:48 +0100 Subject: [PATCH 20/60] fix --- .github/workflows/auto-release.yml | 14 ++++++++++-- .github/workflows/release.yml | 36 ++++++++++++++++++++++-------- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index d01ab987..a25f9d42 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -12,7 +12,8 @@ jobs: runs-on: ubuntu-latest permissions: contents: write - + outputs: + draft_tag: ${{ steps.release_step.outputs.draft_tag }} steps: - uses: actions/create-github-app-token@v1 id: app-token @@ -62,4 +63,13 @@ jobs: - name: Log draft release tag run: | - echo "The temporary draft release tag is: ${{ steps.release_step.outputs.draft_tag }}" \ No newline at end of file + echo "The temporary draft release tag is: ${{ steps.release_step.outputs.draft_tag }}" + + - name: Write draft tag to file + run: echo "${{ steps.release_step.outputs.draft_tag }}" > draft_tag.txt + + - name: Save draft tag artifact + uses: actions/upload-artifact@v3 + with: + name: draft_tag + path: draft_tag.txt \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 140a05ac..669bed6c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,6 +11,24 @@ permissions: packages: write jobs: + + + log-draft-tag: + runs-on: ubuntu-latest + steps: + - name: Download draft tag artifact + uses: actions/download-artifact@v3 + with: + name: draft_tag + path: . + + - name: Read draft tag + id: draft + run: | + DRAFT_TAG=$(cat draft_tag.txt) + echo $DRAFT_TAG + echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT + docker_publish: uses: ./.github/workflows/docker.yml with: @@ -22,16 +40,16 @@ jobs: needs: docker_publish runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Publish GitHub Release - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release edit v${{ github.ref_name }} --draft=false + - name: Publish GitHub Release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release edit v${{ github.ref_name }} --draft=false discord_notification: needs: docker_publish From 55cb4a7144670980140128c6faa8c640cffdecce Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 11:46:33 +0100 Subject: [PATCH 21/60] fix --- .github/workflows/auto-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index a25f9d42..d3a15ca5 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -69,7 +69,7 @@ jobs: run: echo "${{ steps.release_step.outputs.draft_tag }}" > draft_tag.txt - name: Save draft tag artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: draft_tag path: draft_tag.txt \ No newline at end of file From 401ce5c290f135d33dc99ad6853302517ca5ab69 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 11:49:35 +0100 Subject: [PATCH 22/60] fix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 669bed6c..dd0a303b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Download draft tag artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: draft_tag path: . From 26273b7240a9517e7ca2ad42c3039b37970232e3 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 13:04:58 +0100 Subject: [PATCH 23/60] fix --- .github/workflows/auto-release.yml | 28 +--------------------------- .github/workflows/release.yml | 6 +++++- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index d3a15ca5..747142e7 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -12,8 +12,6 @@ jobs: runs-on: ubuntu-latest permissions: contents: write - outputs: - draft_tag: ${{ steps.release_step.outputs.draft_tag }} steps: - uses: actions/create-github-app-token@v1 id: app-token @@ -42,34 +40,10 @@ jobs: - name: Fetch tags run: git fetch --tags - # - name: Run release-it - # id: release_step - # run: | - # git pull origin main - # pnpm exec release-it --ci - # env: - # GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - name: Run release-it id: release_step run: | git pull origin main - OUTPUT=$(pnpm exec release-it --ci) - echo "$OUTPUT" - # Extract the untagged draft release name - DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') - echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT + pnpm exec release-it --ci env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - - name: Log draft release tag - run: | - echo "The temporary draft release tag is: ${{ steps.release_step.outputs.draft_tag }}" - - - name: Write draft tag to file - run: echo "${{ steps.release_step.outputs.draft_tag }}" > draft_tag.txt - - - name: Save draft tag artifact - uses: actions/upload-artifact@v4 - with: - name: draft_tag - path: draft_tag.txt \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd0a303b..e04f8203 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,8 @@ name: Publish Docker image for release on: + release: + types: [ created ] push: tags: - "*.*.*" @@ -46,10 +48,12 @@ jobs: fetch-depth: 0 - name: Publish GitHub Release + if: ${{ github.event.release.draft == true }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# gh release edit v${{ github.ref_name }} --draft=false run: | - gh release edit v${{ github.ref_name }} --draft=false + gh release edit ${{ github.event.release.tag_name }} --draft=false discord_notification: needs: docker_publish From ab226806252a53cf7ccbe45c794ad05d8dedd7aa Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 13:07:03 +0100 Subject: [PATCH 24/60] fix --- .github/workflows/release.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e04f8203..c4f8535f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,22 +14,12 @@ permissions: jobs: - log-draft-tag: runs-on: ubuntu-latest steps: - - name: Download draft tag artifact - uses: actions/download-artifact@v4 - with: - name: draft_tag - path: . - - name: Read draft tag - id: draft run: | - DRAFT_TAG=$(cat draft_tag.txt) - echo $DRAFT_TAG - echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT + echo ${{ github.event.release.tag_name }} docker_publish: uses: ./.github/workflows/docker.yml @@ -51,7 +41,7 @@ jobs: if: ${{ github.event.release.draft == true }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# gh release edit v${{ github.ref_name }} --draft=false + # gh release edit v${{ github.ref_name }} --draft=false run: | gh release edit ${{ github.event.release.tag_name }} --draft=false From 932629178086b809c4d10cd47c068de12198cd9e Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 13:12:37 +0100 Subject: [PATCH 25/60] fix --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c4f8535f..ea67856b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Read draft tag run: | - echo ${{ github.event.release.tag_name }} + echo ${{ github.event.release.id }} docker_publish: uses: ./.github/workflows/docker.yml @@ -43,7 +43,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # gh release edit v${{ github.ref_name }} --draft=false run: | - gh release edit ${{ github.event.release.tag_name }} --draft=false + gh release edit ${{ github.event.release.id }} --draft=false discord_notification: needs: docker_publish From ff83ee9c62f9479fe9da5d4b465aca3f16ef1094 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 13:24:18 +0100 Subject: [PATCH 26/60] fix --- .github/workflows/release.yml | 26 ++++++++++++++++++++------ .release-it.json | 4 ++-- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ea67856b..e9da0acf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,10 +3,10 @@ name: Publish Docker image for release on: release: types: [ created ] - push: - tags: - - "*.*.*" - - "!*-*" +# push: +# tags: +# - "*.*.*" +# - "!*-*" permissions: contents: read @@ -37,13 +37,27 @@ jobs: with: fetch-depth: 0 + - name: Get draft release tag + if: ${{ github.event.release.draft == true }} + id: draft_tag + run: | + TAG=$(gh release view ${{ github.event.release.id }} --json tagName -q ".tagName") + echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV + + +# - name: Publish GitHub Release +# if: ${{ github.event.release.draft == true }} +# env: +# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# # gh release edit v${{ github.ref_name }} --draft=false +# run: | +# gh release edit ${{ github.event.release.id }} --draft=false - name: Publish GitHub Release if: ${{ github.event.release.draft == true }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # gh release edit v${{ github.ref_name }} --draft=false run: | - gh release edit ${{ github.event.release.id }} --draft=false + gh release edit $RELEASE_TAG --draft=false discord_notification: needs: docker_publish diff --git a/.release-it.json b/.release-it.json index 6bd22c9b..36eb86dd 100644 --- a/.release-it.json +++ b/.release-it.json @@ -7,10 +7,10 @@ }, "git": { "commit": true, - "commitMessage": "chore: release v${version}", + "commitMessage": "chore: release ${version}", "requireCleanWorkingDir": true, "tag": true, - "tagName": "v${version}", + "tagName": "${version}", "push": true }, "plugins": { From 29344e0c48dc3a716d678064ccd4cb4391d046fb Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 13:29:27 +0100 Subject: [PATCH 27/60] fix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e9da0acf..18355ea5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: Publish Docker image for release on: release: - types: [ created ] + types: [created, edited] # push: # tags: # - "*.*.*" From 647108e8eef3d05e95004e34e44321495edba919 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 15:59:33 +0100 Subject: [PATCH 28/60] fix --- .github/workflows/auto-release.yml | 7 +--- .github/workflows/release.yml | 60 ++++++++++++++++-------------- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 747142e7..93a988c4 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -37,13 +37,10 @@ jobs: - run: git config --global user.name 'github-actions[bot]' - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - name: Fetch tags - run: git fetch --tags - - - name: Run release-it + - name: Increment version and push id: release_step run: | git pull origin main - pnpm exec release-it --ci + pnpm exec release-it --ci --no-github env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 18355ea5..680153e3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,12 +1,10 @@ -name: Publish Docker image for release +name: Publish Docker Image & Release on: - release: - types: [created, edited] -# push: -# tags: -# - "*.*.*" -# - "!*-*" + push: + tags: + - "*.*.*" + - "!*-*" permissions: contents: read @@ -28,36 +26,42 @@ jobs: secrets: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} + publish_release: needs: docker_publish runs-on: ubuntu-latest + permissions: + contents: write steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ vars.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - uses: actions/checkout@v4 with: fetch-depth: 0 + token: ${{ steps.app-token.outputs.token }} + ref: ${{ github.base_ref }} - - name: Get draft release tag - if: ${{ github.event.release.draft == true }} - id: draft_tag + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: "lts/*" + cache: "pnpm" + + - run: pnpm install --frozen-lockfile + + - run: git config --global user.name 'github-actions[bot]' + - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' + + - name: Publish GitHub Release with release-it run: | - TAG=$(gh release view ${{ github.event.release.id }} --json tagName -q ".tagName") - echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV - - -# - name: Publish GitHub Release -# if: ${{ github.event.release.draft == true }} -# env: -# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# # gh release edit v${{ github.ref_name }} --draft=false -# run: | -# gh release edit ${{ github.event.release.id }} --draft=false - - name: Publish GitHub Release - if: ${{ github.event.release.draft == true }} + pnpm exec release-it ${{ github.ref_name }} --ci --no-version --no-npm env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release edit $RELEASE_TAG --draft=false + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} discord_notification: needs: docker_publish From 0ad380cc816f5d40cbaa146c51b4ce360b420d6f Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 16:00:40 +0100 Subject: [PATCH 29/60] fix --- .github/workflows/release.yml | 43 +++++++++++++++-------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 680153e3..9890f32e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,23 +12,16 @@ permissions: jobs: - log-draft-tag: - runs-on: ubuntu-latest - steps: - - name: Read draft tag - run: | - echo ${{ github.event.release.id }} - - docker_publish: - uses: ./.github/workflows/docker.yml - with: - add_latest: true - secrets: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} +# docker_publish: +# uses: ./.github/workflows/docker.yml +# with: +# add_latest: true +# secrets: +# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} +# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} publish_release: - needs: docker_publish +# needs: docker_publish runs-on: ubuntu-latest permissions: contents: write @@ -63,13 +56,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - discord_notification: - needs: docker_publish - uses: ./.github/workflows/discord.yml - with: - discord_title: "New Release: v${{ github.ref_name }}" - discord_color: 3066993 - discord_footer: "Portabase" - secrets: - DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# discord_notification: +# needs: docker_publish +# uses: ./.github/workflows/discord.yml +# with: +# discord_title: "New Release: v${{ github.ref_name }}" +# discord_color: 3066993 +# discord_footer: "Portabase" +# secrets: +# DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} +# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From da530217ab529d28659049081296ec12ed74174c Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 16:05:44 +0100 Subject: [PATCH 30/60] fix --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9890f32e..4a7e235e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,8 @@ jobs: with: fetch-depth: 0 token: ${{ steps.app-token.outputs.token }} - ref: ${{ github.base_ref }} + #ref: ${{ github.base_ref }} + ref: main - uses: pnpm/action-setup@v4 From 2d9bf225a092f7d5ac81ab3320902a3334934941 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 16:57:53 +0100 Subject: [PATCH 31/60] fix --- .github/workflows/auto-release.yml | 46 ---------- .github/workflows/pr-checker.yml | 47 ---------- .github/workflows/release.yml | 140 ++++++++++++++++++++++------- .release-it.json | 5 +- 4 files changed, 108 insertions(+), 130 deletions(-) delete mode 100644 .github/workflows/auto-release.yml delete mode 100644 .github/workflows/pr-checker.yml diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml deleted file mode 100644 index 93a988c4..00000000 --- a/.github/workflows/auto-release.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Auto Release bot - -on: - pull_request: - types: [ closed ] - branches: - - main - -jobs: - release: - if: github.event.pull_request.merged == true - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/create-github-app-token@v1 - id: app-token - with: - app-id: ${{ vars.APP_ID }} - private-key: ${{ secrets.APP_PRIVATE_KEY }} - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - token: ${{ steps.app-token.outputs.token }} - ref: ${{ github.base_ref }} - - - uses: pnpm/action-setup@v4 - - - uses: actions/setup-node@v4 - with: - node-version: "lts/*" - cache: "pnpm" - - - run: pnpm install --frozen-lockfile - - - run: git config --global user.name 'github-actions[bot]' - - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - - name: Increment version and push - id: release_step - run: | - git pull origin main - pnpm exec release-it --ci --no-github - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} diff --git a/.github/workflows/pr-checker.yml b/.github/workflows/pr-checker.yml deleted file mode 100644 index ec2a5974..00000000 --- a/.github/workflows/pr-checker.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: PR Checker - -on: - pull_request: - branches: - - main - - dev - -jobs: - validate-code: - name: Code Integrity Check - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: "lts/*" - cache: "pnpm" - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Check code formatting - run: pnpm run format:check - continue-on-error: true - - - name: Run Linter - run: pnpm run lint - continue-on-error: true - - - name: Type Check - run: pnpm run typecheck - continue-on-error: true - - - name: Run Tests - run: pnpm run test - continue-on-error: true - - - name: Test Application Build - run: pnpm run build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4a7e235e..fa0c4728 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,17 +1,17 @@ -name: Publish Docker Image & Release - -on: - push: - tags: - - "*.*.*" - - "!*-*" - -permissions: - contents: read - packages: write - -jobs: - +#name: Publish Docker Image & Release +# +#on: +# push: +# tags: +# - "*.*.*" +# - "!*-*" +# +#permissions: +# contents: read +# packages: write +# +#jobs: +# # docker_publish: # uses: ./.github/workflows/docker.yml # with: @@ -19,12 +19,71 @@ jobs: # secrets: # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} - - publish_release: +# +# publish_release: # needs: docker_publish +# runs-on: ubuntu-latest +# permissions: +# contents: write +# steps: +# - uses: actions/create-github-app-token@v1 +# id: app-token +# with: +# app-id: ${{ vars.APP_ID }} +# private-key: ${{ secrets.APP_PRIVATE_KEY }} +# +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# token: ${{ steps.app-token.outputs.token }} +# ref: main +# +# - uses: pnpm/action-setup@v4 +# +# - uses: actions/setup-node@v4 +# with: +# node-version: "lts/*" +# cache: "pnpm" +# +# - run: pnpm install --frozen-lockfile +# +# - run: git config --global user.name 'github-actions[bot]' +# - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' +# +# - name: Publish GitHub Release with release-it +# run: | +# pnpm exec release-it ${{ github.ref_name }} --ci --no-version --no-npm +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# +# discord_notification: +# needs: docker_publish +# uses: ./.github/workflows/discord.yml +# with: +# discord_title: "New Release: v${{ github.ref_name }}" +# discord_color: 3066993 +# discord_footer: "Portabase" +# secrets: +# DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} +# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + +name: Auto Release & Publish + +on: + pull_request: + types: [closed] + branches: + - main + +permissions: + contents: write + packages: write + +jobs: + release: + if: github.event.pull_request.merged == true runs-on: ubuntu-latest - permissions: - contents: write steps: - uses: actions/create-github-app-token@v1 id: app-token @@ -36,11 +95,9 @@ jobs: with: fetch-depth: 0 token: ${{ steps.app-token.outputs.token }} - #ref: ${{ github.base_ref }} ref: main - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 with: node-version: "lts/*" @@ -48,22 +105,37 @@ jobs: - run: pnpm install --frozen-lockfile - - run: git config --global user.name 'github-actions[bot]' - - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' + - run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - name: Publish GitHub Release with release-it + - name: Bump version & push tag + id: bump run: | - pnpm exec release-it ${{ github.ref_name }} --ci --no-version --no-npm + pnpm exec release-it --ci --no-npm + env: + GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + + - name: Build & publish Docker + uses: ./.github/workflows/docker.yml + with: + add_latest: true + secrets: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} + + - name: Publish GitHub Release + run: | + pnpm exec release-it ${{ steps.bump.outputs.version }} --ci --no-npm --no-git env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# discord_notification: -# needs: docker_publish -# uses: ./.github/workflows/discord.yml -# with: -# discord_title: "New Release: v${{ github.ref_name }}" -# discord_color: 3066993 -# discord_footer: "Portabase" -# secrets: -# DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} -# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Notify Discord + uses: ./.github/workflows/discord.yml + with: + discord_title: "New Release: v${{ steps.bump.outputs.version }}" + discord_color: 3066993 + discord_footer: "Portabase" + secrets: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.release-it.json b/.release-it.json index 36eb86dd..ad30e6b4 100644 --- a/.release-it.json +++ b/.release-it.json @@ -1,9 +1,8 @@ { "github": { "release": true, - "draft": true, - "tokenRef": "GITHUB_TOKEN", - "update": true + "draft": false, + "tokenRef": "GITHUB_TOKEN" }, "git": { "commit": true, From 51d101e8f0b479c1784cd3d437dcfc1f7c9bb560 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 16:58:35 +0100 Subject: [PATCH 32/60] fix --- .github/workflows/release.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fa0c4728..8bed1384 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -116,13 +116,13 @@ jobs: env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Build & publish Docker - uses: ./.github/workflows/docker.yml - with: - add_latest: true - secrets: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} +# - name: Build & publish Docker +# uses: ./.github/workflows/docker.yml +# with: +# add_latest: true +# secrets: +# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} +# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} - name: Publish GitHub Release run: | From 5d2172f2bf3c2ba7a222f05ba780a54d797a710f Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:06:00 +0100 Subject: [PATCH 33/60] fix --- .github/workflows/discord.yml | 11 ++++++----- .github/workflows/release.yml | 7 +++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/discord.yml b/.github/workflows/discord.yml index 241f12ce..6b9496ac 100644 --- a/.github/workflows/discord.yml +++ b/.github/workflows/discord.yml @@ -12,11 +12,12 @@ on: discord_footer: required: true type: string - secrets: - DISCORD_WEBHOOK: + discord_webhook: required: true - GH_TOKEN: + type: string + gh_token: required: true + type: string jobs: notify-discord: @@ -24,8 +25,8 @@ jobs: steps: - name: Send Discord Notification env: - DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} - GH_TOKEN: ${{ secrets.GH_TOKEN }} + DISCORD_WEBHOOK: ${{ inputs.discord_webhook }} + GH_TOKEN: ${{ inputs.gh_token }} run: | RELEASE_INFO=$(gh release view "${{ github.ref_name }}" -R ${{ github.repository }} --json name,url,body,author) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8bed1384..95b356e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -66,7 +66,7 @@ # secrets: # DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - +# name: Auto Release & Publish @@ -136,6 +136,5 @@ jobs: discord_title: "New Release: v${{ steps.bump.outputs.version }}" discord_color: 3066993 discord_footer: "Portabase" - secrets: - DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + discord_webhook: ${{ secrets.DISCORD_WEBHOOK }} + gh_token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 3d51d3548f3faec07b8962aaebb00f04fedff133 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:25:33 +0100 Subject: [PATCH 34/60] fix --- .github/workflows/release.yml | 37 ++++++++++++++++++++++------------- .release-it.json | 5 +++-- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 95b356e2..58f9e1a9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,7 +72,7 @@ name: Auto Release & Publish on: pull_request: - types: [closed] + types: [ closed ] branches: - main @@ -84,6 +84,8 @@ jobs: release: if: github.event.pull_request.merged == true runs-on: ubuntu-latest + outputs: + draft_tag: ${{ steps.release_step.outputs.draft_tag }} steps: - uses: actions/create-github-app-token@v1 id: app-token @@ -109,26 +111,33 @@ jobs: git config --global user.name 'github-actions[bot]' git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - name: Bump version & push tag - id: bump + - name: Run release-it + id: release_step run: | - pnpm exec release-it --ci --no-npm + git pull origin main + OUTPUT=$(pnpm exec release-it --ci) + echo "$OUTPUT" + # Extract the untagged draft release name + DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') + echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} -# - name: Build & publish Docker -# uses: ./.github/workflows/docker.yml -# with: -# add_latest: true -# secrets: -# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} -# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} + + # - name: Build & publish Docker + # uses: ./.github/workflows/docker.yml + # with: + # add_latest: true + # secrets: + # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} + # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} - name: Publish GitHub Release - run: | - pnpm exec release-it ${{ steps.bump.outputs.version }} --ci --no-npm --no-git env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release edit ${{ steps.release_step.outputs.draft_tag }} --draft=false + - name: Notify Discord uses: ./.github/workflows/discord.yml diff --git a/.release-it.json b/.release-it.json index ad30e6b4..36eb86dd 100644 --- a/.release-it.json +++ b/.release-it.json @@ -1,8 +1,9 @@ { "github": { "release": true, - "draft": false, - "tokenRef": "GITHUB_TOKEN" + "draft": true, + "tokenRef": "GITHUB_TOKEN", + "update": true }, "git": { "commit": true, From fca09a84cbfffeb217de5c43ba39d108da573097 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:26:17 +0100 Subject: [PATCH 35/60] fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 484e2ccb..a454167e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "portabase", - "version": "1.4.46", + "version": "1.4.47", "private": true, "scripts": { "dev": "next dev --turbopack -p 8887", From fbd61cdf2ff04d852ebdbdc39844967813edd687 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:28:49 +0100 Subject: [PATCH 36/60] fix --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 58f9e1a9..3d600cf2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -124,6 +124,8 @@ jobs: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + + # - name: Build & publish Docker # uses: ./.github/workflows/docker.yml # with: From 9ccf3b724201f49135bb88f40060ff0aafe6a5cf Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:35:56 +0100 Subject: [PATCH 37/60] fix --- .github/workflows/discord.yml | 11 ++- .github/workflows/release.yml | 130 ++++++++++++++++++++++++++++------ 2 files changed, 113 insertions(+), 28 deletions(-) diff --git a/.github/workflows/discord.yml b/.github/workflows/discord.yml index 6b9496ac..241f12ce 100644 --- a/.github/workflows/discord.yml +++ b/.github/workflows/discord.yml @@ -12,12 +12,11 @@ on: discord_footer: required: true type: string - discord_webhook: + secrets: + DISCORD_WEBHOOK: required: true - type: string - gh_token: + GH_TOKEN: required: true - type: string jobs: notify-discord: @@ -25,8 +24,8 @@ jobs: steps: - name: Send Discord Notification env: - DISCORD_WEBHOOK: ${{ inputs.discord_webhook }} - GH_TOKEN: ${{ inputs.gh_token }} + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + GH_TOKEN: ${{ secrets.GH_TOKEN }} run: | RELEASE_INFO=$(gh release view "${{ github.ref_name }}" -R ${{ github.repository }} --json name,url,body,author) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3d600cf2..3ef739ac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,12 +67,96 @@ # DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # +# +#name: Auto Release & Publish +# +#on: +# pull_request: +# types: [ closed ] +# branches: +# - main +# +#permissions: +# contents: write +# packages: write +# +#jobs: +# release: +# if: github.event.pull_request.merged == true +# runs-on: ubuntu-latest +# outputs: +# draft_tag: ${{ steps.release_step.outputs.draft_tag }} +# steps: +# - uses: actions/create-github-app-token@v1 +# id: app-token +# with: +# app-id: ${{ vars.APP_ID }} +# private-key: ${{ secrets.APP_PRIVATE_KEY }} +# +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# token: ${{ steps.app-token.outputs.token }} +# ref: main +# +# - uses: pnpm/action-setup@v4 +# - uses: actions/setup-node@v4 +# with: +# node-version: "lts/*" +# cache: "pnpm" +# +# - run: pnpm install --frozen-lockfile +# +# - run: | +# git config --global user.name 'github-actions[bot]' +# git config --global user.email 'github-actions[bot]@users.noreply.github.com' +# +# - name: Run release-it +# id: release_step +# run: | +# git pull origin main +# OUTPUT=$(pnpm exec release-it --ci) +# echo "$OUTPUT" +# # Extract the untagged draft release name +# DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') +# echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT +# env: +# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} +# +# +# +# +# # - name: Build & publish Docker +# # uses: ./.github/workflows/docker.yml +# # with: +# # add_latest: true +# # secrets: +# # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} +# # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} +# +# - name: Publish GitHub Release +# env: +# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# run: | +# gh release edit ${{ steps.release_step.outputs.draft_tag }} --draft=false +# +# +# - name: Notify Discord +# uses: ./.github/workflows/discord.yml +# with: +# discord_title: "New Release: v${{ steps.bump.outputs.version }}" +# discord_color: 3066993 +# discord_footer: "Portabase" +# secrets: +# DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} +# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + name: Auto Release & Publish on: pull_request: - types: [ closed ] + types: [closed] branches: - main @@ -81,7 +165,7 @@ permissions: packages: write jobs: - release: + create-release: if: github.event.pull_request.merged == true runs-on: ubuntu-latest outputs: @@ -117,35 +201,37 @@ jobs: git pull origin main OUTPUT=$(pnpm exec release-it --ci) echo "$OUTPUT" - # Extract the untagged draft release name DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} +# publish-docker: +# uses: ./.github/workflows/docker.yml +# with: +# add_latest: true +# secrets: +# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} +# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} - - # - name: Build & publish Docker - # uses: ./.github/workflows/docker.yml - # with: - # add_latest: true - # secrets: - # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} - # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} - + finalize-release: + needs: create-release + runs-on: ubuntu-latest + steps: - name: Publish GitHub Release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - gh release edit ${{ steps.release_step.outputs.draft_tag }} --draft=false + gh release edit ${{ needs.create-release.outputs.draft_tag }} --draft=false - - - name: Notify Discord - uses: ./.github/workflows/discord.yml - with: - discord_title: "New Release: v${{ steps.bump.outputs.version }}" - discord_color: 3066993 - discord_footer: "Portabase" - discord_webhook: ${{ secrets.DISCORD_WEBHOOK }} - gh_token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + notify-discord: + needs: create-release + uses: ./.github/workflows/discord.yml + with: + discord_title: "New Release: v${{ needs.create-release.outputs.draft_tag }}" + discord_color: 3066993 + discord_footer: "Portabase" + secrets: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From aa736b8b4a524360708f3955c3dc357a847d439a Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:36:42 +0100 Subject: [PATCH 38/60] fix --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3ef739ac..c5f4c22d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -225,6 +225,8 @@ jobs: run: | gh release edit ${{ needs.create-release.outputs.draft_tag }} --draft=false + + notify-discord: needs: create-release uses: ./.github/workflows/discord.yml From 72b5816451a67282418820f7f834a5ecc90238c3 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:42:09 +0100 Subject: [PATCH 39/60] fix --- .github/workflows/release.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c5f4c22d..e5a94814 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -219,6 +219,10 @@ jobs: needs: create-release runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Publish GitHub Release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -226,9 +230,8 @@ jobs: gh release edit ${{ needs.create-release.outputs.draft_tag }} --draft=false - notify-discord: - needs: create-release + needs: finalize-release uses: ./.github/workflows/discord.yml with: discord_title: "New Release: v${{ needs.create-release.outputs.draft_tag }}" From fba714d679618789d62c98e664a79efc11053a8e Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 17:42:32 +0100 Subject: [PATCH 40/60] fix --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e5a94814..c41865c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -230,6 +230,7 @@ jobs: gh release edit ${{ needs.create-release.outputs.draft_tag }} --draft=false + notify-discord: needs: finalize-release uses: ./.github/workflows/discord.yml From e2a0932229fc2a0450df18baaf35dc6f81f6b23c Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:02:19 +0100 Subject: [PATCH 41/60] fix --- .github/workflows/discord.yml | 7 +++++-- .github/workflows/release.yml | 29 +++++++++++++++++------------ 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/.github/workflows/discord.yml b/.github/workflows/discord.yml index 241f12ce..59eb3c8c 100644 --- a/.github/workflows/discord.yml +++ b/.github/workflows/discord.yml @@ -3,6 +3,9 @@ name: Discord Notification on: workflow_call: inputs: + release_tag: + required: true + type: string discord_title: required: true type: string @@ -27,10 +30,10 @@ jobs: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} GH_TOKEN: ${{ secrets.GH_TOKEN }} run: | - RELEASE_INFO=$(gh release view "${{ github.ref_name }}" -R ${{ github.repository }} --json name,url,body,author) + RELEASE_INFO=$(gh release view "${{ inputs.release_tag }}" -R ${{ github.repository }} --json name,url,body,author) RELEASE_TITLE=$(echo "$RELEASE_INFO" | jq -r .name) - if [ -z "$RELEASE_TITLE" ] || [ "$RELEASE_TITLE" = "null" ]; then RELEASE_TITLE="${{ github.ref_name }}"; fi + if [ -z "$RELEASE_TITLE" ] || [ "$RELEASE_TITLE" = "null" ]; then RELEASE_TITLE="${{ inputs.release_tag }}"; fi RELEASE_URL=$(echo "$RELEASE_INFO" | jq -r .url) RELEASE_BODY=$(echo "$RELEASE_INFO" | jq -r .body) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c41865c1..f3eb59e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -156,7 +156,7 @@ name: Auto Release & Publish on: pull_request: - types: [closed] + types: [ closed ] branches: - main @@ -207,35 +207,40 @@ jobs: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} -# publish-docker: -# uses: ./.github/workflows/docker.yml -# with: -# add_latest: true -# secrets: -# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} -# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} + # publish-docker: + # uses: ./.github/workflows/docker.yml + # with: + # add_latest: true + # secrets: + # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} + # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} finalize-release: needs: create-release runs-on: ubuntu-latest + outputs: + release_tag: ${{ steps.publish_release_step.outputs.release_tag }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Publish GitHub Release + id: publish_release_step env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - gh release edit ${{ needs.create-release.outputs.draft_tag }} --draft=false - - + OUTPUT=$(gh release edit ${{ needs.create-release.outputs.draft_tag }} --draft=false) + echo "$OUTPUT" + RELEASE_TAG=$(echo "$OUTPUT" | sed -E 's|.*/releases/tag/||') + echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT notify-discord: needs: finalize-release uses: ./.github/workflows/discord.yml with: - discord_title: "New Release: v${{ needs.create-release.outputs.draft_tag }}" + release_tag: ${{ needs.create-release.outputs.draft_tag }} + discord_title: "New Release" discord_color: 3066993 discord_footer: "Portabase" secrets: From fde52415cb8da4a04912b2d69fb96e5e61f2004b Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:02:51 +0100 Subject: [PATCH 42/60] fix --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f3eb59e2..95a892f5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -235,6 +235,7 @@ jobs: RELEASE_TAG=$(echo "$OUTPUT" | sed -E 's|.*/releases/tag/||') echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT + notify-discord: needs: finalize-release uses: ./.github/workflows/discord.yml From 187f9d23862e9c40146b06f8558505783e1b0a30 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:06:06 +0100 Subject: [PATCH 43/60] fix --- .github/workflows/release.yml | 169 ++-------------------------------- 1 file changed, 7 insertions(+), 162 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 95a892f5..0ec7197f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,157 +1,3 @@ -#name: Publish Docker Image & Release -# -#on: -# push: -# tags: -# - "*.*.*" -# - "!*-*" -# -#permissions: -# contents: read -# packages: write -# -#jobs: -# -# docker_publish: -# uses: ./.github/workflows/docker.yml -# with: -# add_latest: true -# secrets: -# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} -# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} -# -# publish_release: -# needs: docker_publish -# runs-on: ubuntu-latest -# permissions: -# contents: write -# steps: -# - uses: actions/create-github-app-token@v1 -# id: app-token -# with: -# app-id: ${{ vars.APP_ID }} -# private-key: ${{ secrets.APP_PRIVATE_KEY }} -# -# - uses: actions/checkout@v4 -# with: -# fetch-depth: 0 -# token: ${{ steps.app-token.outputs.token }} -# ref: main -# -# - uses: pnpm/action-setup@v4 -# -# - uses: actions/setup-node@v4 -# with: -# node-version: "lts/*" -# cache: "pnpm" -# -# - run: pnpm install --frozen-lockfile -# -# - run: git config --global user.name 'github-actions[bot]' -# - run: git config --global user.email 'github-actions[bot]@users.noreply.github.com' -# -# - name: Publish GitHub Release with release-it -# run: | -# pnpm exec release-it ${{ github.ref_name }} --ci --no-version --no-npm -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# -# discord_notification: -# needs: docker_publish -# uses: ./.github/workflows/discord.yml -# with: -# discord_title: "New Release: v${{ github.ref_name }}" -# discord_color: 3066993 -# discord_footer: "Portabase" -# secrets: -# DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} -# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# -# -#name: Auto Release & Publish -# -#on: -# pull_request: -# types: [ closed ] -# branches: -# - main -# -#permissions: -# contents: write -# packages: write -# -#jobs: -# release: -# if: github.event.pull_request.merged == true -# runs-on: ubuntu-latest -# outputs: -# draft_tag: ${{ steps.release_step.outputs.draft_tag }} -# steps: -# - uses: actions/create-github-app-token@v1 -# id: app-token -# with: -# app-id: ${{ vars.APP_ID }} -# private-key: ${{ secrets.APP_PRIVATE_KEY }} -# -# - uses: actions/checkout@v4 -# with: -# fetch-depth: 0 -# token: ${{ steps.app-token.outputs.token }} -# ref: main -# -# - uses: pnpm/action-setup@v4 -# - uses: actions/setup-node@v4 -# with: -# node-version: "lts/*" -# cache: "pnpm" -# -# - run: pnpm install --frozen-lockfile -# -# - run: | -# git config --global user.name 'github-actions[bot]' -# git config --global user.email 'github-actions[bot]@users.noreply.github.com' -# -# - name: Run release-it -# id: release_step -# run: | -# git pull origin main -# OUTPUT=$(pnpm exec release-it --ci) -# echo "$OUTPUT" -# # Extract the untagged draft release name -# DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') -# echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT -# env: -# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} -# -# -# -# -# # - name: Build & publish Docker -# # uses: ./.github/workflows/docker.yml -# # with: -# # add_latest: true -# # secrets: -# # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} -# # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} -# -# - name: Publish GitHub Release -# env: -# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# run: | -# gh release edit ${{ steps.release_step.outputs.draft_tag }} --draft=false -# -# -# - name: Notify Discord -# uses: ./.github/workflows/discord.yml -# with: -# discord_title: "New Release: v${{ steps.bump.outputs.version }}" -# discord_color: 3066993 -# discord_footer: "Portabase" -# secrets: -# DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} -# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Auto Release & Publish on: @@ -206,14 +52,13 @@ jobs: env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - # publish-docker: - # uses: ./.github/workflows/docker.yml - # with: - # add_latest: true - # secrets: - # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} - # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} + publish-docker: + uses: ./.github/workflows/docker.yml + with: + add_latest: true + secrets: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} finalize-release: needs: create-release From efd123ddfeb9e29100935c18ddc5827014023cae Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:07:06 +0100 Subject: [PATCH 44/60] fix --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ec7197f..79410996 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,6 +81,7 @@ jobs: echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT + notify-discord: needs: finalize-release uses: ./.github/workflows/discord.yml From 0475b3d01a4b19861c8aa007fc333d7fb2b8fd30 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:08:35 +0100 Subject: [PATCH 45/60] fix --- .github/workflows/release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 79410996..2ca866db 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,6 +53,7 @@ jobs: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} publish-docker: + needs: create-release uses: ./.github/workflows/docker.yml with: add_latest: true @@ -80,8 +81,6 @@ jobs: RELEASE_TAG=$(echo "$OUTPUT" | sed -E 's|.*/releases/tag/||') echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT - - notify-discord: needs: finalize-release uses: ./.github/workflows/discord.yml From e20e7f016c1acab26c959e0e59415249ba97bde2 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:12:01 +0100 Subject: [PATCH 46/60] fix --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ca866db..e648e28e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,6 +81,8 @@ jobs: RELEASE_TAG=$(echo "$OUTPUT" | sed -E 's|.*/releases/tag/||') echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT + + notify-discord: needs: finalize-release uses: ./.github/workflows/discord.yml From 9a3be8d5a5f6a70dedea906da0f9dfbb78eaf8eb Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:13:49 +0100 Subject: [PATCH 47/60] fix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e648e28e..2c2c4f3c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,7 +62,7 @@ jobs: DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} finalize-release: - needs: create-release + needs: publish-docker runs-on: ubuntu-latest outputs: release_tag: ${{ steps.publish_release_step.outputs.release_tag }} From e4de903cc99e1b161ff29fea512ac1a2085d817e Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:27:54 +0100 Subject: [PATCH 48/60] fix --- .github/workflows/docker.yml | 5 ++++- .github/workflows/release.yml | 20 +++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f00b40e9..cd2e47b5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -3,6 +3,9 @@ name: Docker Publish on: workflow_call: inputs: + version: + required: true + type: string image_name: required: false type: string @@ -50,7 +53,7 @@ jobs: id: prep run: | ARCH=${{ matrix.platform == 'linux/amd64' && 'amd64' || 'arm64' }} - echo "image=${{ inputs.image_name }}:${GITHUB_REF#refs/tags/}-$ARCH" >> $GITHUB_OUTPUT + echo "image=${{ inputs.image_name }}:${{inputs.version}}-$ARCH" >> $GITHUB_OUTPUT echo "safe_platform=${{ matrix.platform == 'linux/amd64' && 'linux-amd64' || 'linux-arm64' }}" >> $GITHUB_OUTPUT - name: Build and push image diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2c2c4f3c..a836380a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,10 +1,17 @@ name: Auto Release & Publish +#on: +# pull_request: +# types: [ closed ] +# branches: +# - main on: - pull_request: - types: [ closed ] + push: branches: - main + tags: + - '*.*.*' + - '!*-*' permissions: contents: write @@ -16,6 +23,7 @@ jobs: runs-on: ubuntu-latest outputs: draft_tag: ${{ steps.release_step.outputs.draft_tag }} + version: ${{ steps.release_step.outputs.version }} steps: - uses: actions/create-github-app-token@v1 id: app-token @@ -45,7 +53,12 @@ jobs: id: release_step run: | git pull origin main - OUTPUT=$(pnpm exec release-it --ci) + + VERSION=$(pnpm exec release-it --ci --release-version) + echo "version=$VERSION" + echo "version=$VERSION" >> $GITHUB_OUTPUT + + OUTPUT=$(pnpm exec release-it --ci --release-version) echo "$OUTPUT" DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT @@ -56,6 +69,7 @@ jobs: needs: create-release uses: ./.github/workflows/docker.yml with: + version: ${{ steps.publish_release_step.outputs.version }} add_latest: true secrets: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} From cb6ac86bb0c76e6500b4c992520015d3aa30b37a Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:32:10 +0100 Subject: [PATCH 49/60] fix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a836380a..7a9d7f60 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,7 +69,7 @@ jobs: needs: create-release uses: ./.github/workflows/docker.yml with: - version: ${{ steps.publish_release_step.outputs.version }} + version: ${{ needs.create-release.outputs.version }} add_latest: true secrets: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} From 467f9e2ffdd86d7421a319f6f421e6671f225209 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:33:36 +0100 Subject: [PATCH 50/60] fix --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7a9d7f60..d0cee677 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,6 +49,7 @@ jobs: git config --global user.name 'github-actions[bot]' git config --global user.email 'github-actions[bot]@users.noreply.github.com' + - name: Run release-it id: release_step run: | From 784a907384be67787704c670f58a95bdcffcf274 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:36:19 +0100 Subject: [PATCH 51/60] fix --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d0cee677..c55f9bb1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -55,6 +55,7 @@ jobs: run: | git pull origin main + VERSION=$(pnpm exec release-it --ci --release-version) echo "version=$VERSION" echo "version=$VERSION" >> $GITHUB_OUTPUT From d01e70586651284d4467c6b662744f2e62aa7c92 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:37:12 +0100 Subject: [PATCH 52/60] fix --- .github/workflows/release.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c55f9bb1..e27b9e58 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,17 +1,11 @@ name: Auto Release & Publish -#on: -# pull_request: -# types: [ closed ] -# branches: -# - main on: - push: + pull_request: + types: [ closed ] branches: - main - tags: - - '*.*.*' - - '!*-*' + permissions: contents: write From 5f24ec2d86a5054984ca130a1fbf26b3dd515829 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:55:19 +0100 Subject: [PATCH 53/60] fix --- .github/workflows/release.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e27b9e58..435efa58 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,12 +49,11 @@ jobs: run: | git pull origin main - VERSION=$(pnpm exec release-it --ci --release-version) echo "version=$VERSION" echo "version=$VERSION" >> $GITHUB_OUTPUT - OUTPUT=$(pnpm exec release-it --ci --release-version) + OUTPUT=$(pnpm exec release-it --ci) echo "$OUTPUT" DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT @@ -91,8 +90,6 @@ jobs: RELEASE_TAG=$(echo "$OUTPUT" | sed -E 's|.*/releases/tag/||') echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT - - notify-discord: needs: finalize-release uses: ./.github/workflows/discord.yml From f93bb6e33e380b0a16b70cdc1d8e34b1a2eb5e3a Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 18:59:01 +0100 Subject: [PATCH 54/60] fix --- .github/workflows/docker.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index cd2e47b5..a4853b2c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -109,9 +109,17 @@ jobs: type=semver,pattern={{major}} type=raw,value=latest,enable=${{ inputs.add_latest }} +# - name: Create and push manifest list +# working-directory: /tmp/digests +# run: | +# DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" +# TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") +# docker buildx imagetools create $DOCKER_IMAGES $TAG_ARGS + + - name: Create and push manifest list working-directory: /tmp/digests run: | DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") - docker buildx imagetools create $DOCKER_IMAGES $TAG_ARGS + docker buildx imagetools create $TAG_ARGS $DOCKER_IMAGES From 2c2cfc0b739886ff34da36698c05753829c0fc2f Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 19:22:52 +0100 Subject: [PATCH 55/60] fix --- .github/workflows/release.yml | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e8fabc8b..aa9723ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,23 +44,43 @@ jobs: git config --global user.email 'github-actions[bot]@users.noreply.github.com' +# - name: Run release-it +# id: release_step +# run: | +# git pull origin main +# +# +# VERSION=$(pnpm exec release-it --ci --release-version) +# echo "version=$VERSION" +# echo "version=$VERSION" >> $GITHUB_OUTPUT +# +# OUTPUT=$(pnpm exec release-it --ci) +# echo "$OUTPUT" +# DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') +# echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT +# env: +# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + - name: Run release-it id: release_step run: | git pull origin main - VERSION=$(pnpm exec release-it --ci --release-version) - echo "version=$VERSION" + echo $VERSION echo "version=$VERSION" >> $GITHUB_OUTPUT OUTPUT=$(pnpm exec release-it --ci) echo "$OUTPUT" - DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') + + DRAFT_TAG=$(echo "$OUTPUT" | grep -oE 'untagged-[a-z0-9]+') + echo $DRAFT_TAG echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} + + publish-docker: needs: create-release uses: ./.github/workflows/docker.yml From e8e4b093d2562f7986c18de4e4475c61a471ca9b Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 21:32:10 +0100 Subject: [PATCH 56/60] fix --- .github/workflows/docker.yml | 64 ++++++++++++++++++++++++++++------- .github/workflows/release.yml | 9 +++-- 2 files changed, 58 insertions(+), 15 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a4853b2c..c521bc08 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -35,7 +35,7 @@ jobs: strategy: fail-fast: false matrix: - platform: [linux/amd64, linux/arm64] + platform: [ linux/amd64, linux/arm64 ] steps: - name: Checkout uses: actions/checkout@v4 @@ -56,6 +56,7 @@ jobs: echo "image=${{ inputs.image_name }}:${{inputs.version}}-$ARCH" >> $GITHUB_OUTPUT echo "safe_platform=${{ matrix.platform == 'linux/amd64' && 'linux-amd64' || 'linux-arm64' }}" >> $GITHUB_OUTPUT + - name: Build and push image uses: docker/build-push-action@v6 with: @@ -98,28 +99,65 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} +# - name: Extract Docker metadata +# id: meta +# uses: docker/metadata-action@v5 +# with: +# images: ${{ inputs.image_name }} +# tags: | +# type=semver,pattern={{version}} +# type=semver,pattern={{major}}.{{minor}} +# type=semver,pattern={{major}} +# type=raw,value=latest,enable=${{ inputs.add_latest }} +# +# # - name: Create and push manifest list +# # working-directory: /tmp/digests +# # run: | +# # DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" +# # TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") +# # docker buildx imagetools create $DOCKER_IMAGES $TAG_ARGS +# +# +# - name: Create and push manifest list +# working-directory: /tmp/digests +# run: | +# DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" +# TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") +# echo $TAG_ARGS +# docker buildx imagetools create $TAG_ARGS $DOCKER_IMAGES + + + - name: Generate semantic tags + id: tags + run: | + VERSION="${{ inputs.version }}" + IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION" + + TAGS="$VERSION" + if [ -n "$MINOR" ]; then + TAGS="$TAGS $MAJOR.$MINOR" + fi + if [ -n "$MAJOR" ]; then + TAGS="$TAGS $MAJOR" + fi + if [ "${{ inputs.add_latest }}" = "true" ]; then + TAGS="$TAGS latest" + fi + + echo "tags=$TAGS" >> $GITHUB_OUTPUT + - name: Extract Docker metadata id: meta uses: docker/metadata-action@v5 with: images: ${{ inputs.image_name }} tags: | - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{major}} - type=raw,value=latest,enable=${{ inputs.add_latest }} - -# - name: Create and push manifest list -# working-directory: /tmp/digests -# run: | -# DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" -# TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") -# docker buildx imagetools create $DOCKER_IMAGES $TAG_ARGS - + type=raw,value=${{ steps.tags.outputs.tags }} - name: Create and push manifest list working-directory: /tmp/digests run: | DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") + echo $TAG_ARGS docker buildx imagetools create $TAG_ARGS $DOCKER_IMAGES diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aa9723ec..241c3831 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -92,7 +92,9 @@ jobs: DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} finalize-release: - needs: publish-docker + needs: + - create-release + - publish-docker runs-on: ubuntu-latest outputs: release_tag: ${{ steps.publish_release_step.outputs.release_tag }} @@ -112,7 +114,10 @@ jobs: echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT notify-discord: - needs: finalize-release + needs: + - publish-docker + - create-release + - finalize-release uses: ./.github/workflows/discord.yml with: release_tag: ${{ needs.create-release.outputs.draft_tag }} From 9f0b1a172ce39ce965b0c2cc35ac89f5f3013afb Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 21:45:43 +0100 Subject: [PATCH 57/60] fix --- .github/workflows/docker.yml | 17 +++++++++-------- .github/workflows/release.yml | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c521bc08..15e95c6b 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -132,27 +132,28 @@ jobs: run: | VERSION="${{ inputs.version }}" IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION" - - TAGS="$VERSION" + + echo "VERSION_TAG=$VERSION" >> $GITHUB_OUTPUT if [ -n "$MINOR" ]; then - TAGS="$TAGS $MAJOR.$MINOR" + echo "MINOR_TAG=$MAJOR.$MINOR" >> $GITHUB_OUTPUT fi if [ -n "$MAJOR" ]; then - TAGS="$TAGS $MAJOR" + echo "MAJOR_TAG=$MAJOR" >> $GITHUB_OUTPUT fi if [ "${{ inputs.add_latest }}" = "true" ]; then - TAGS="$TAGS latest" + echo "LATEST_TAG=latest" >> $GITHUB_OUTPUT fi - echo "tags=$TAGS" >> $GITHUB_OUTPUT - - name: Extract Docker metadata id: meta uses: docker/metadata-action@v5 with: images: ${{ inputs.image_name }} tags: | - type=raw,value=${{ steps.tags.outputs.tags }} + type=raw,value=${{ steps.tags.outputs.VERSION_TAG }} + type=raw,value=${{ steps.tags.outputs.MINOR_TAG }} + type=raw,value=${{ steps.tags.outputs.MAJOR_TAG }} + type=raw,value=${{ steps.tags.outputs.LATEST_TAG }} - name: Create and push manifest list working-directory: /tmp/digests diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 241c3831..3e97e3dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -120,7 +120,7 @@ jobs: - finalize-release uses: ./.github/workflows/discord.yml with: - release_tag: ${{ needs.create-release.outputs.draft_tag }} + release_tag: ${{ needs.create-release.outputs.version }} discord_title: "New Release" discord_color: 3066993 discord_footer: "Portabase" From c96219f8517e7026621df55ac946800395dc9995 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Fri, 6 Mar 2026 22:00:46 +0100 Subject: [PATCH 58/60] fix: workflow --- .github/workflows/docker.yml | 28 ---------------------------- .github/workflows/release.yml | 18 ------------------ 2 files changed, 46 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 15e95c6b..a5ed0f6e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -99,34 +99,6 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} -# - name: Extract Docker metadata -# id: meta -# uses: docker/metadata-action@v5 -# with: -# images: ${{ inputs.image_name }} -# tags: | -# type=semver,pattern={{version}} -# type=semver,pattern={{major}}.{{minor}} -# type=semver,pattern={{major}} -# type=raw,value=latest,enable=${{ inputs.add_latest }} -# -# # - name: Create and push manifest list -# # working-directory: /tmp/digests -# # run: | -# # DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" -# # TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") -# # docker buildx imagetools create $DOCKER_IMAGES $TAG_ARGS -# -# -# - name: Create and push manifest list -# working-directory: /tmp/digests -# run: | -# DOCKER_IMAGES="$(cat amd64/image.txt) $(cat arm64/image.txt)" -# TAG_ARGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") -# echo $TAG_ARGS -# docker buildx imagetools create $TAG_ARGS $DOCKER_IMAGES - - - name: Generate semantic tags id: tags run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3e97e3dc..9261e435 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,23 +44,6 @@ jobs: git config --global user.email 'github-actions[bot]@users.noreply.github.com' -# - name: Run release-it -# id: release_step -# run: | -# git pull origin main -# -# -# VERSION=$(pnpm exec release-it --ci --release-version) -# echo "version=$VERSION" -# echo "version=$VERSION" >> $GITHUB_OUTPUT -# -# OUTPUT=$(pnpm exec release-it --ci) -# echo "$OUTPUT" -# DRAFT_TAG=$(echo "$OUTPUT" | grep -o 'releases/tag/[^ ]*' | sed 's|releases/tag/||') -# echo "draft_tag=$DRAFT_TAG" >> $GITHUB_OUTPUT -# env: -# GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - - name: Run release-it id: release_step run: | @@ -80,7 +63,6 @@ jobs: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - publish-docker: needs: create-release uses: ./.github/workflows/docker.yml From 9602427ca03537465bfcb954fe1a57d072cef3af Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Sat, 7 Mar 2026 11:11:48 +0100 Subject: [PATCH 59/60] feat: add config files for helm chart --- docker/helm/.helmignore | 17 ++++++++++ docker/helm/Chart.yaml | 28 ++++++++++++++++ docker/helm/README.md | 32 ++++++++++++++++++ docker/helm/templates/deployment.yaml | 33 +++++++++++++++++++ docker/helm/templates/pvc.yaml | 10 ++++++ docker/helm/templates/service.yaml | 12 +++++++ docker/helm/values.yaml | 47 +++++++++++++++++++++++++++ 7 files changed, 179 insertions(+) create mode 100644 docker/helm/.helmignore create mode 100644 docker/helm/Chart.yaml create mode 100644 docker/helm/README.md create mode 100644 docker/helm/templates/deployment.yaml create mode 100644 docker/helm/templates/pvc.yaml create mode 100644 docker/helm/templates/service.yaml create mode 100644 docker/helm/values.yaml diff --git a/docker/helm/.helmignore b/docker/helm/.helmignore new file mode 100644 index 00000000..21846e96 --- /dev/null +++ b/docker/helm/.helmignore @@ -0,0 +1,17 @@ +.DS_Store +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +*.swp +*.bak +*.tmp +*.orig +*~ +.project +.idea/ +*.tmproj +.vscode/ diff --git a/docker/helm/Chart.yaml b/docker/helm/Chart.yaml new file mode 100644 index 00000000..baff8faa --- /dev/null +++ b/docker/helm/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +name: portabase +description: Helm chart for Portabase +type: application +version: 0.0.0 +appVersion: "latest" +keywords: + - postgresql + - mariadb + - mongodb + - mysql + - sqlite + - backup + - database + - restore +home: https://github.com/Portabase/portabase + +sources: + - https://github.com/Portabase/portabase + - https://github.com/Portabase/portabase/tree/main/docker/helm + +maintainers: + - name: Charles Gauthereau + url: https://github.com/RambokDev + - name: Killian Larcher + url: https://github.com/KillianLarcher + +icon: https://raw.githubusercontent.com/Portabase/portabase/main/.github/assets/logo.png \ No newline at end of file diff --git a/docker/helm/README.md b/docker/helm/README.md new file mode 100644 index 00000000..c60f514c --- /dev/null +++ b/docker/helm/README.md @@ -0,0 +1,32 @@ +# Development Notes + +## Check that Kubernetes is reachable locally + +```bash +kubectl get nodes +``` + +## Install the local Portabase Helm chart + +```bash +helm install portabase . \ +--set project.secret=$(openssl rand -hex 32) +``` + +## Check the pods + +```bash +kubectl get pods +``` + +## Check the services + +```bash +kubectl get svc +``` + +## If the service type is ClusterIP, expose it locally using port forwarding: + +```bash +kubectl port-forward svc/portabase 8887:80 +``` diff --git a/docker/helm/templates/deployment.yaml b/docker/helm/templates/deployment.yaml new file mode 100644 index 00000000..6472b188 --- /dev/null +++ b/docker/helm/templates/deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: portabase +spec: + replicas: 1 + selector: + matchLabels: + app: portabase + template: + metadata: + labels: + app: portabase + spec: + containers: + - name: portabase + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + ports: + - containerPort: 80 + env: + - name: TZ + value: {{ .Values.timezone }} + - name: PROJECT_URL + value: {{ .Values.project.url }} + - name: PROJECT_SECRET + value: {{ .Values.project.secret }} + volumeMounts: + - name: data + mountPath: /data + volumes: + - name: data + persistentVolumeClaim: + claimName: portabase-data \ No newline at end of file diff --git a/docker/helm/templates/pvc.yaml b/docker/helm/templates/pvc.yaml new file mode 100644 index 00000000..e24c6281 --- /dev/null +++ b/docker/helm/templates/pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: portabase-data +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: {{ .Values.persistence.size }} \ No newline at end of file diff --git a/docker/helm/templates/service.yaml b/docker/helm/templates/service.yaml new file mode 100644 index 00000000..82715ac3 --- /dev/null +++ b/docker/helm/templates/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: portabase +spec: + type: {{ .Values.service.type }} + selector: + app: portabase + ports: + - port: {{ .Values.service.port }} + targetPort: 80 + nodePort: {{ .Values.service.nodePort }} \ No newline at end of file diff --git a/docker/helm/values.yaml b/docker/helm/values.yaml new file mode 100644 index 00000000..a0e83d7d --- /dev/null +++ b/docker/helm/values.yaml @@ -0,0 +1,47 @@ +image: + repository: portabase/portabase + tag: latest + pullPolicy: Always + +replicaCount: 1 + +service: + type: ClusterIP + port: 80 + targetPort: 80 + +resources: + requests: + memory: "1Gi" + cpu: "1" + limits: + memory: "1Gi" + cpu: "1" + +timezone: Europe/Paris + +project: + url: http://localhost:8887 + secret: "change_me_generate_secure_secret" + +persistence: + enabled: true + storageClassName: "" + accessMode: ReadWriteOnce + size: 10Gi + mountPath: /data + +ingress: + enabled: false + className: nginx + hosts: + - host: portabase.example.com + paths: + - path: / + pathType: Prefix + tls: [] + +updateStrategy: + type: RollingUpdate + rollingUpdate: + partition: 0 From e27093404be21787529c5f33f18a09d752916e67 Mon Sep 17 00:00:00 2001 From: charlesgauthereau Date: Sat, 7 Mar 2026 11:49:16 +0100 Subject: [PATCH 60/60] feat: update the release pipeline with helm publish --- .github/workflows/helm.yml | 37 +++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 11 ++++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/helm.yml diff --git a/.github/workflows/helm.yml b/.github/workflows/helm.yml new file mode 100644 index 00000000..dec77b80 --- /dev/null +++ b/.github/workflows/helm.yml @@ -0,0 +1,37 @@ +name: Publish Helm Chart +on: + workflow_call: + inputs: + version: + required: true + type: string + secrets: + GITHUB_TOKEN: + required: true + +jobs: + publish-helm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Helm + uses: azure/setup-helm@v4 + + - name: Package Helm chart + run: | + mkdir -p ./helm-packages + helm package docker/helm \ + --version ${{ inputs.version }} \ + --app-version ${{ inputs.version }} \ + --destination ./helm-packages + + - name: Authenticate to GitHub Packages + run: | + echo "${{ secrets.GITHUB_TOKEN }}" | helm registry login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Push Helm chart to GitHub Packages (OCI) + run: | + helm push ./helm-packages/portabase-${{ inputs.version }}.tgz oci://ghcr.io/${{ github.repository }}/charts \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9261e435..e2b04223 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,6 @@ on: branches: - main - permissions: contents: write packages: write @@ -73,10 +72,19 @@ jobs: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME_2 }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD_2 }} + publish-helm: + needs: create-release + uses: ./.github/workflows/helm.yml + with: + version: ${{ needs.create-release.outputs.version }} + secrets: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + finalize-release: needs: - create-release - publish-docker + - publish-helm runs-on: ubuntu-latest outputs: release_tag: ${{ steps.publish_release_step.outputs.release_tag }} @@ -98,6 +106,7 @@ jobs: notify-discord: needs: - publish-docker + - publish-helm - create-release - finalize-release uses: ./.github/workflows/discord.yml