From d3bcd1865a57f7427d1f54f1211ace29754f0dd0 Mon Sep 17 00:00:00 2001 From: "ryunosuke.ito" Date: Sun, 1 Mar 2026 16:49:01 +0900 Subject: [PATCH 1/2] =?UTF-8?q?ci:=20main=E3=81=B8=E3=81=AEpush=E6=99=82?= =?UTF-8?q?=E3=81=ABTauri=E3=83=93=E3=83=AB=E3=83=89=E3=83=BBGitHub=20Rele?= =?UTF-8?q?ase=E3=83=BBHomebrew=20Tap=E6=9B=B4=E6=96=B0=E3=82=92=E8=87=AA?= =?UTF-8?q?=E5=8B=95=E5=AE=9F=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- .github/workflows/release.yml | 114 ++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..bde11f3 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,114 @@ +name: Release + +on: + push: + branches: [main] + +concurrency: + group: release + cancel-in-progress: true + +jobs: + build-and-release: + name: Build and Release + runs-on: macos-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: "npm" + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + + - name: Cache cargo + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + src-tauri/target + key: ${{ runner.os }}-cargo-release-${{ hashFiles('src-tauri/Cargo.lock') }} + restore-keys: ${{ runner.os }}-cargo-release- + + - name: Install dependencies + run: npm ci + + - name: Build Tauri app + run: npm run tauri build + + - name: Get version + id: version + run: echo "version=$(jq -r .version src-tauri/tauri.conf.json)" >> "$GITHUB_OUTPUT" + + - name: Check if release already exists + id: check + run: | + if gh release view "v${{ steps.version.outputs.version }}" > /dev/null 2>&1; then + echo "exists=true" >> "$GITHUB_OUTPUT" + else + echo "exists=false" >> "$GITHUB_OUTPUT" + fi + env: + GH_TOKEN: ${{ github.token }} + + - name: Get DMG path + if: steps.check.outputs.exists == 'false' + id: dmg + run: | + DMG_PATH=$(find src-tauri/target/release/bundle/dmg -name "*.dmg" | head -1) + DMG_NAME=$(basename "$DMG_PATH") + echo "path=$DMG_PATH" >> "$GITHUB_OUTPUT" + echo "name=$DMG_NAME" >> "$GITHUB_OUTPUT" + + - name: Create GitHub Release + if: steps.check.outputs.exists == 'false' + uses: softprops/action-gh-release@v2 + with: + tag_name: v${{ steps.version.outputs.version }} + name: v${{ steps.version.outputs.version }} + files: ${{ steps.dmg.outputs.path }} + generate_release_notes: true + make_latest: true + + - name: Update Homebrew Tap + if: steps.check.outputs.exists == 'false' + env: + HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }} + run: | + VERSION="${{ steps.version.outputs.version }}" + DMG_NAME="${{ steps.dmg.outputs.name }}" + DMG_URL="https://github.com/${{ github.repository }}/releases/download/v${VERSION}/${DMG_NAME}" + SHA256=$(shasum -a 256 "${{ steps.dmg.outputs.path }}" | awk '{print $1}') + + git clone "https://x-access-token:${HOMEBREW_TAP_TOKEN}@github.com/ryunosuke121/homebrew-tap.git" tap + cd tap + + mkdir -p Casks + cat > Casks/hyut.rb < Date: Sun, 1 Mar 2026 17:07:22 +0900 Subject: [PATCH 2/2] =?UTF-8?q?ci:=20environment=20secrets=E3=82=92?= =?UTF-8?q?=E5=8F=82=E7=85=A7=E3=81=99=E3=82=8B=E3=81=9F=E3=82=81environme?= =?UTF-8?q?nt:=20main=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bde11f3..3cd3c4e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,6 +12,7 @@ jobs: build-and-release: name: Build and Release runs-on: macos-latest + environment: main permissions: contents: write steps: