ci: add official Homebrew cask bump workflow
This commit is contained in:
parent
eb9030b9ef
commit
548692f073
|
|
@ -6,6 +6,11 @@ on:
|
|||
tag:
|
||||
description: 'Release tag (e.g. v0.3.10)'
|
||||
required: true
|
||||
open_homebrew_pr:
|
||||
description: 'Open a Homebrew/homebrew-cask bump PR'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
|
@ -97,38 +102,27 @@ jobs:
|
|||
|
||||
cat > Casks/dbx.rb <<'RUBY_EOF'
|
||||
cask "dbx" do
|
||||
arch arm: "aarch64", intel: "x64"
|
||||
|
||||
version "__VERSION__"
|
||||
sha256 arm: "__SHA_ARM64__",
|
||||
intel: "__SHA_X64__"
|
||||
|
||||
on_arm do
|
||||
url "https://github.com/__OWNER__/__APP__/releases/download/v#{version}/__PRODUCT___#{version}_aarch64.dmg",
|
||||
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
|
||||
|
||||
url "https://github.com/__OWNER__/__APP__/releases/download/v#{version}/__PRODUCT___#{version}_#{arch}.dmg",
|
||||
verified: "github.com/__OWNER__/__APP__/"
|
||||
name "DBX"
|
||||
desc "Open-source database management tool"
|
||||
homepage "https://github.com/__OWNER__/__APP__"
|
||||
desc "Database management tool"
|
||||
homepage "https://dbxio.com/"
|
||||
|
||||
livecheck do
|
||||
url :url
|
||||
strategy :github_latest
|
||||
end
|
||||
|
||||
depends_on macos: ">= :big_sur"
|
||||
depends_on macos: :big_sur
|
||||
|
||||
app "DBX.app"
|
||||
|
||||
zap trash: [
|
||||
"~/Library/Application Support/com.dbx.app",
|
||||
"~/Library/Caches/com.dbx.app",
|
||||
"~/Library/Preferences/com.dbx.app.plist",
|
||||
"~/Library/Logs/com.dbx.app",
|
||||
"~/Library/Preferences/com.dbx.app.plist",
|
||||
]
|
||||
end
|
||||
RUBY_EOF
|
||||
|
|
@ -268,6 +262,43 @@ jobs:
|
|||
--latest
|
||||
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:
|
||||
name: QQ Notify
|
||||
needs: [promote-release]
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ Download the latest release from the [Releases](https://github.com/t8y2/dbx/rele
|
|||
**Homebrew (macOS):**
|
||||
|
||||
```bash
|
||||
brew install --cask t8y2/tap/dbx
|
||||
brew install --cask dbx
|
||||
```
|
||||
|
||||
**Scoop (Windows):**
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ dbx query local "select 1" --json
|
|||
**Homebrew (macOS):**
|
||||
|
||||
```bash
|
||||
brew install --cask t8y2/tap/dbx
|
||||
brew install --cask dbx
|
||||
```
|
||||
|
||||
**Scoop (Windows):**
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ description: 安装 DBX、创建第一个连接,并了解桌面版、Docker
|
|||
使用 Homebrew 安装:
|
||||
|
||||
```bash
|
||||
brew install --cask t8y2/tap/dbx
|
||||
brew install --cask dbx
|
||||
```
|
||||
|
||||
之后可用以下命令更新:
|
||||
|
||||
```bash
|
||||
brew upgrade --cask t8y2/tap/dbx
|
||||
brew upgrade --cask dbx
|
||||
```
|
||||
|
||||
也可以从 [GitHub Releases](https://github.com/t8y2/dbx/releases) 下载 `.dmg` 安装包。
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ This guide gets you through three things:
|
|||
Install with Homebrew:
|
||||
|
||||
```bash
|
||||
brew install --cask t8y2/tap/dbx
|
||||
brew install --cask dbx
|
||||
```
|
||||
|
||||
Update later with:
|
||||
|
||||
```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).
|
||||
|
|
|
|||
Loading…
Reference in New Issue