From 6f0e617b7e70c2b26c35affe2c14e82a4846c170 Mon Sep 17 00:00:00 2001 From: Afonso Jorge Ramos Date: Tue, 1 Sep 2026 21:04:37 +0200 Subject: [PATCH 1/2] ci: use setup-vp for JavaScript tooling --- .github/actions/setup-node/action.yml | 31 --------------------------- .github/workflows/build.yml | 6 ++++-- .github/workflows/lint.yml | 6 ++++-- .github/workflows/publish.yml | 6 ++++-- .github/workflows/renovate.yml | 3 ++- .github/workflows/test.yml | 18 ++++++++++------ 6 files changed, 26 insertions(+), 44 deletions(-) delete mode 100644 .github/actions/setup-node/action.yml diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml deleted file mode 100644 index 05592d757..000000000 --- a/.github/actions/setup-node/action.yml +++ /dev/null @@ -1,31 +0,0 @@ -# This is the composite action: -# https://docs.github.com/en/actions/creating-actions/creating-a-composite-action - -name: Setup Node, pnpm and install dependencies -description: Setup pnpm and Node.js with caching - -inputs: - run-install: - description: 'Whether to run `pnpm install`' - required: false - default: 'true' - -runs: - using: composite - steps: - - name: Setup pnpm - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 - with: - run_install: false - - - name: Setup Node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - with: - node-version-file: .nvmrc - cache: pnpm - cache-dependency-path: pnpm-lock.yaml - - - name: Install dependencies - if: ${{ inputs.run-install == 'true' }} - run: pnpm install --frozen-lockfile - shell: bash diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 045c1f713..546030eb5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,8 +48,10 @@ jobs: with: persist-credentials: false - - name: Setup Node.js - uses: ./.github/actions/setup-node + - name: Setup Vite+ + uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 + with: + cache: true - name: Build application run: pnpm build diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ea7d81363..d6a38f2e6 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -18,8 +18,10 @@ jobs: with: persist-credentials: false - - name: Setup Node.js - uses: ./.github/actions/setup-node + - name: Setup Vite+ + uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 + with: + cache: true - name: Run lint and format checks run: pnpm check diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 282f0c059..590fc6629 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -66,8 +66,10 @@ jobs: with: persist-credentials: false - - name: Setup Node.js - uses: ./.github/actions/setup-node + - name: Setup Vite+ + uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 + with: + cache: true - name: Build application run: pnpm build diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index e1f372357..e167c95ef 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -25,8 +25,9 @@ jobs: renovate.json .github - - uses: ./.github/actions/setup-node + - uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 with: + cache: true run-install: 'false' - name: Install Renovate diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a5bd74559..5248751d3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,8 +21,10 @@ jobs: with: persist-credentials: false - - name: Setup Node.js - uses: ./.github/actions/setup-node + - name: Setup Vite+ + uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 + with: + cache: true - name: Check TypeScript run: pnpm tsc --noEmit @@ -59,8 +61,10 @@ jobs: with: persist-credentials: false - - name: Setup Node.js - uses: ./.github/actions/setup-node + - name: Setup Vite+ + uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 + with: + cache: true - name: Run visual regression tests # The job already runs in the pinned image, so the script runs vitest @@ -95,8 +99,10 @@ jobs: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis persist-credentials: false - - name: Setup Node.js - uses: ./.github/actions/setup-node + - name: Setup Vite+ + uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 + with: + cache: true - name: Download a single artifact uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 From 8b69f83909ba36ee4b2ebe2d6797c5de42405b91 Mon Sep 17 00:00:00 2001 From: Afonso Jorge Ramos Date: Wed, 2 Sep 2026 00:47:45 +0200 Subject: [PATCH 2/2] fix(ci): run JavaScript commands through Vite+ setup-vp exposes the Vite+ CLI but not the underlying pnpm binary to subsequent workflow steps. Use Vite+ to run scripts and binaries, and validate Renovate without a global package-manager install. --- .github/workflows/build.yml | 8 ++++---- .github/workflows/lint.yml | 2 +- .github/workflows/publish.yml | 8 ++++---- .github/workflows/renovate.yml | 7 +++---- .github/workflows/test.yml | 6 +++--- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 546030eb5..769488e36 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,17 +27,17 @@ jobs: include: - os: macos-latest platform: macOS - package-cmd: pnpm package:macos --publish=never -c.mac.identity=null + package-cmd: vp run package:macos -- --publish=never -c.mac.identity=null cleanup-path: dist/mac-universal artifact-name: Gitify-dist-mac - os: windows-latest platform: Windows - package-cmd: pnpm package:win --publish=never + package-cmd: vp run package:win -- --publish=never cleanup-path: dist/win-unpacked artifact-name: Gitify-dist-win - os: ubuntu-latest platform: Linux - package-cmd: pnpm package:linux --publish=never + package-cmd: vp run package:linux -- --publish=never cleanup-path: dist/linux-unpacked artifact-name: Gitify-dist-linux runs-on: ${{ matrix.os }} @@ -54,7 +54,7 @@ jobs: cache: true - name: Build application - run: pnpm build + run: vp run build - name: Package for ${{ matrix.platform }} run: ${{ matrix.package-cmd }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d6a38f2e6..ff5b37d0b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -24,7 +24,7 @@ jobs: cache: true - name: Run lint and format checks - run: pnpm check + run: vp run check lint-actions: name: Lint GitHub Actions [actionlint] diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 590fc6629..0ac4e2e94 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -45,17 +45,17 @@ jobs: include: - os: macos-latest platform: macOS - package-cmd: pnpm package:macos --publish onTagOrDraft + package-cmd: vp run package:macos -- --publish onTagOrDraft artifact-name: Gitify-release-mac use-apple-notarization: true - os: windows-latest platform: Windows - package-cmd: pnpm package:win --publish onTagOrDraft + package-cmd: vp run package:win -- --publish onTagOrDraft artifact-name: Gitify-release-win use-apple-notarization: false - os: ubuntu-latest platform: Linux - package-cmd: pnpm package:linux --publish onTagOrDraft + package-cmd: vp run package:linux -- --publish onTagOrDraft artifact-name: Gitify-release-linux use-apple-notarization: false runs-on: ${{ matrix.os }} @@ -72,7 +72,7 @@ jobs: cache: true - name: Build application - run: pnpm build + run: vp run build env: OAUTH_CLIENT_ID: ${{ secrets.OAUTH_CLIENT_ID }} diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index e167c95ef..cdde0216c 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -23,6 +23,8 @@ jobs: persist-credentials: false sparse-checkout: | renovate.json + package.json + pnpm-lock.yaml .github - uses: voidzero-dev/setup-vp@1b32467adbe183473499fd9d5d372c3ed9641754 # v1.18.0 @@ -30,8 +32,5 @@ jobs: cache: true run-install: 'false' - - name: Install Renovate - run: pnpm install --global renovate - - name: Validate Renovate config - run: renovate-config-validator + run: vp dlx --package renovate renovate-config-validator diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5248751d3..93787a3e7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,10 +27,10 @@ jobs: cache: true - name: Check TypeScript - run: pnpm tsc --noEmit + run: vp exec tsc --noEmit - name: Run tests with coverage - run: pnpm test + run: vp run test - name: Archive code coverage results uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 @@ -71,7 +71,7 @@ jobs: # directly instead of starting another container. env: GITIFY_VISUAL_IN_CONTAINER: '1' - run: pnpm test:visual + run: vp run test:visual # Vitest writes the actual and diff images here; the reference stays in # __screenshots__. Download this to see what changed.