ci: add official Homebrew cask bump workflow

This commit is contained in:
t8y2 committed 2026-05-30 09:41:44 +08:00
1 parent eb9030b9ef
commit 548692f073
5 files changed
+58 -27

No files matched your search

+52 -21
View File
@@ -6,6 +6,11 @@ on:
tag: tag:
description: 'Release tag (e.g. v0.3.10)' description: 'Release tag (e.g. v0.3.10)'
required: true required: true
open_homebrew_pr:
description: 'Open a Homebrew/homebrew-cask bump PR'
required: false
type: boolean
default: false
permissions: permissions:
contents: write contents: write
@@ -97,38 +102,27 @@ jobs:
cat > Casks/dbx.rb <<'RUBY_EOF' cat > Casks/dbx.rb <<'RUBY_EOF'
cask "dbx" do cask "dbx" do
arch arm: "aarch64", intel: "x64"
version "__VERSION__" version "__VERSION__"
sha256 arm: "__SHA_ARM64__",
intel: "__SHA_X64__"
on_arm do url "https://github.com/__OWNER__/__APP__/releases/download/v#{version}/__PRODUCT___#{version}_#{arch}.dmg",
url "https://github.com/__OWNER__/__APP__/releases/download/v#{version}/__PRODUCT___#{version}_aarch64.dmg", verified: "github.com/__OWNER__/__APP__/"
verified: "github.com/__OWNER__/__APP__/"
sha256 "__SHA_ARM64__"
end
on_intel do
url "https://github.com/__OWNER__/__APP__/releases/download/v#{version}/__PRODUCT___#{version}_x64.dmg",
verified: "github.com/__OWNER__/__APP__/"
sha256 "__SHA_X64__"
end
name "DBX" name "DBX"
desc "Open-source database management tool" desc "Database management tool"
homepage "https://github.com/__OWNER__/__APP__" homepage "https://dbxio.com/"
livecheck do depends_on macos: :big_sur
url :url
strategy :github_latest
end
depends_on macos: ">= :big_sur"
app "DBX.app" app "DBX.app"
zap trash: [ zap trash: [
"~/Library/Application Support/com.dbx.app", "~/Library/Application Support/com.dbx.app",
"~/Library/Caches/com.dbx.app", "~/Library/Caches/com.dbx.app",
"~/Library/Preferences/com.dbx.app.plist",
"~/Library/Logs/com.dbx.app", "~/Library/Logs/com.dbx.app",
"~/Library/Preferences/com.dbx.app.plist",
] ]
end end
RUBY_EOF RUBY_EOF
@@ -268,6 +262,43 @@ jobs:
--latest --latest
echo "::notice::Release ${TAG} promoted from prerelease to latest release" echo "::notice::Release ${TAG} promoted from prerelease to latest release"
homebrew-cask-pr:
name: Open Homebrew Cask PR
needs: [promote-release]
if: ${{ github.event.inputs.open_homebrew_pr == 'true' }}
runs-on: macos-latest
steps:
- name: Extract version from tag
id: version
run: |
TAG="${{ github.event.inputs.tag }}"
TAG="$(echo "${TAG}" | xargs)"
VERSION="${TAG#v}"
if [[ ! "${VERSION}" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then
echo "::error::Tag '${TAG}' does not look like a semver version."
exit 1
fi
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
- name: Configure Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Open Homebrew cask bump PR
env:
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
GH_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
run: |
if [[ -z "${HOMEBREW_GITHUB_API_TOKEN}" ]]; then
echo "::error::Set HOMEBREW_GITHUB_API_TOKEN to a GitHub token that can fork and push to Homebrew/homebrew-cask."
exit 1
fi
brew update
brew tap homebrew/cask
brew bump-cask-pr dbx --version "${{ steps.version.outputs.version }}" --no-browse
notify-qq: notify-qq:
name: QQ Notify name: QQ Notify
needs: [promote-release] needs: [promote-release]
+1 -1
View File
@@ -167,7 +167,7 @@ Download the latest release from the [Releases](https://github.com/t8y2/dbx/rele
**Homebrew (macOS):** **Homebrew (macOS):**
```bash ```bash
brew install --cask t8y2/tap/dbx brew install --cask dbx
``` ```
**Scoop (Windows):** **Scoop (Windows):**
+1 -1
View File
@@ -167,7 +167,7 @@ dbx query local "select 1" --json
**Homebrew (macOS):** **Homebrew (macOS):**
```bash ```bash
brew install --cask t8y2/tap/dbx brew install --cask dbx
``` ```
**Scoop (Windows):** **Scoop (Windows):**
+2 -2
View File
@@ -16,13 +16,13 @@ description: 安装 DBX、创建第一个连接,并了解桌面版、Docker
使用 Homebrew 安装: 使用 Homebrew 安装:
```bash ```bash
brew install --cask t8y2/tap/dbx brew install --cask dbx
``` ```
之后可用以下命令更新: 之后可用以下命令更新:
```bash ```bash
brew upgrade --cask t8y2/tap/dbx brew upgrade --cask dbx
``` ```
也可以从 [GitHub Releases](https://github.com/t8y2/dbx/releases) 下载 `.dmg` 安装包。 也可以从 [GitHub Releases](https://github.com/t8y2/dbx/releases) 下载 `.dmg` 安装包。
+2 -2
View File
@@ -16,13 +16,13 @@ This guide gets you through three things:
Install with Homebrew: Install with Homebrew:
```bash ```bash
brew install --cask t8y2/tap/dbx brew install --cask dbx
``` ```
Update later with: Update later with:
```bash ```bash
brew upgrade --cask t8y2/tap/dbx brew upgrade --cask dbx
``` ```
You can also download a `.dmg` installer from [GitHub Releases](https://github.com/t8y2/dbx/releases). You can also download a `.dmg` installer from [GitHub Releases](https://github.com/t8y2/dbx/releases).