Dax Raad 2 months ago
parent
commit
52ef8dea3e
2 changed files with 20 additions and 5 deletions
  1. 13 4
      .github/workflows/publish.yml
  2. 7 1
      packages/script/src/index.ts

+ 13 - 4
.github/workflows/publish.yml

@@ -2,6 +2,10 @@ name: publish
 run-name: "${{ format('release {0}', inputs.bump) }}"
 
 on:
+  push:
+    branches:
+      - dev
+      - snapshot-*
   workflow_dispatch:
     inputs:
       bump:
@@ -46,6 +50,7 @@ jobs:
         run: |
           sudo apt-get update
           sudo apt-get install -y pacman-package-manager
+
       - name: Setup SSH for AUR
         run: |
           mkdir -p ~/.ssh
@@ -69,17 +74,21 @@ jobs:
           username: ${{ github.repository_owner }}
           password: ${{ secrets.GITHUB_TOKEN }}
 
+      - uses: actions/setup-node@v4
+        with:
+          node-version: "24"
+          registry-url: "https://registry.npmjs.org"
+
       - name: Publish
         run: |
           ./script/publish.ts
         env:
           OPENCODE_BUMP: ${{ inputs.bump }}
           OPENCODE_VERSION: ${{ inputs.version }}
-          OPENCODE_CHANNEL: latest
-          NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }}
-          GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
-          AUR_KEY: ${{ secrets.AUR_KEY }}
           OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
+          AUR_KEY: ${{ secrets.AUR_KEY }}
+          GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
+          NPM_CONFIG_PROVENANCE: false
 
   publish-tauri:
     continue-on-error: true

+ 7 - 1
packages/script/src/index.ts

@@ -13,8 +13,14 @@ if (process.versions.bun !== expectedBunVersion) {
   throw new Error(`This script requires bun@${expectedBunVersion}, but you are using bun@${process.versions.bun}`)
 }
 
-const CHANNEL = process.env["OPENCODE_CHANNEL"] ?? (await $`git branch --show-current`.text().then((x) => x.trim()))
+const CHANNEL = await (async () => {
+  if (process.env["OPENCODE_CHANNEL"]) return process.env["OPENCODE_CHANNEL"]
+  if (process.env["OPENCODE_BUMP"]) return "latest"
+  if (!process.env["OPENCODE_VERSION"]?.startsWith("0.0.0-")) return "latest"
+  return await $`git branch --show-current`.text().then((x) => x.trim())
+})()
 const IS_PREVIEW = CHANNEL !== "latest"
+
 const VERSION = await (async () => {
   if (process.env["OPENCODE_VERSION"]) return process.env["OPENCODE_VERSION"]
   if (IS_PREVIEW) return `0.0.0-${CHANNEL}-${new Date().toISOString().slice(0, 16).replace(/[-:T]/g, "")}`