ci: add official Homebrew cask bump workflow
This commit is contained in:
1 parent
eb9030b9ef
commit
548692f073
5 files changed
+58
-27
No files matched your search
@@ -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]
|
||||||
|
|||||||
@@ -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
@@ -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):**
|
||||||
|
|||||||
@@ -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` 安装包。
|
||||||
|
|||||||
@@ -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).
|
||||||
|
|||||||
Reference in new issue
Block a user