From 2ed54339ab6ed6ae61047a24e85174641202801d Mon Sep 17 00:00:00 2001 From: Liangsheng Yin Date: Mon, 6 Jul 2026 15:57:40 -0700 Subject: [PATCH 1/2] add macos arm64 ci build workflow --- .github/workflows/build-macos-arm64.yml | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/build-macos-arm64.yml diff --git a/.github/workflows/build-macos-arm64.yml b/.github/workflows/build-macos-arm64.yml new file mode 100644 index 0000000000..d25923ae88 --- /dev/null +++ b/.github/workflows/build-macos-arm64.yml @@ -0,0 +1,56 @@ +name: Build macOS arm64 +run-name: Build ${{ github.ref_name }} (macOS arm64) +on: + workflow_dispatch: +env: + GO_VERSION: "1.25.6" + NODE_VERSION: 22 + NODE_OPTIONS: --max-old-space-size=4096 +jobs: + build-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-go@v6 + with: + go-version: ${{ env.GO_VERSION }} + cache-dependency-path: | + go.sum + - uses: actions/setup-node@v6 + with: + node-version: ${{ env.NODE_VERSION }} + cache: npm + cache-dependency-path: package-lock.json + - name: Force git deps to HTTPS + run: | + git config --global url.https://github.com/.insteadof ssh://git@github.com/ + git config --global url.https://github.com/.insteadof git@github.com: + - name: npm ci + run: npm ci --no-audit --no-fund + - name: Install Task + uses: arduino/setup-task@v2 + with: + version: 3.x + repo-token: ${{ secrets.GITHUB_TOKEN }} + - name: Build + run: task package -- --arm64 + - name: Upload artifacts + uses: actions/upload-artifact@v5 + with: + name: waveterm-macos-arm64 + path: | + make/*.dmg + make/*.zip + - name: Write install instructions + run: | + { + echo "## Install" + echo "" + echo "1. Download the \`waveterm-macos-arm64\` artifact below, unzip it, and open the \`.dmg\`." + echo "2. Drag **Wave** into \`/Applications\`." + echo "3. This build is not notarized, so macOS Gatekeeper will block it. Clear the quarantine flag before first launch:" + echo "" + echo '```bash' + echo "xattr -cr /Applications/Wave.app" + echo '```' + } >> "$GITHUB_STEP_SUMMARY" From 285de13ea1bb5d3de679f3df051c9cfa547128de Mon Sep 17 00:00:00 2001 From: Liangsheng Yin Date: Mon, 6 Jul 2026 16:03:44 -0700 Subject: [PATCH 2/2] go version from go.mod; npm ci retry; dmg-only artifact --- .github/workflows/build-macos-arm64.yml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-macos-arm64.yml b/.github/workflows/build-macos-arm64.yml index d25923ae88..985dec84ee 100644 --- a/.github/workflows/build-macos-arm64.yml +++ b/.github/workflows/build-macos-arm64.yml @@ -3,7 +3,6 @@ run-name: Build ${{ github.ref_name }} (macOS arm64) on: workflow_dispatch: env: - GO_VERSION: "1.25.6" NODE_VERSION: 22 NODE_OPTIONS: --max-old-space-size=4096 jobs: @@ -13,7 +12,7 @@ jobs: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: - go-version: ${{ env.GO_VERSION }} + go-version-file: go.mod cache-dependency-path: | go.sum - uses: actions/setup-node@v6 @@ -25,8 +24,16 @@ jobs: run: | git config --global url.https://github.com/.insteadof ssh://git@github.com/ git config --global url.https://github.com/.insteadof git@github.com: - - name: npm ci - run: npm ci --no-audit --no-fund + - uses: nick-fields/retry@v4 + name: npm ci + with: + command: npm ci --no-audit --no-fund + retry_on: error + max_attempts: 3 + timeout_minutes: 5 + env: + GIT_ASKPASS: "echo" + GIT_TERMINAL_PROMPT: "0" - name: Install Task uses: arduino/setup-task@v2 with: @@ -38,9 +45,7 @@ jobs: uses: actions/upload-artifact@v5 with: name: waveterm-macos-arm64 - path: | - make/*.dmg - make/*.zip + path: make/*.dmg - name: Write install instructions run: | {