diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 387c81b7d..0294aef5e 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -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] diff --git a/README.md b/README.md index 150f2c5b9..3a84fbd16 100644 --- a/README.md +++ b/README.md @@ -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):** diff --git a/README.zh-CN.md b/README.zh-CN.md index ded6d0d6c..e2359fc6f 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -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):** diff --git a/docs/content/docs/getting-started.cn.mdx b/docs/content/docs/getting-started.cn.mdx index 4ffde33c1..f9327f360 100644 --- a/docs/content/docs/getting-started.cn.mdx +++ b/docs/content/docs/getting-started.cn.mdx @@ -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` 安装包。 diff --git a/docs/content/docs/getting-started.mdx b/docs/content/docs/getting-started.mdx index 9474e4d5e..83127ff4d 100644 --- a/docs/content/docs/getting-started.mdx +++ b/docs/content/docs/getting-started.mdx @@ -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).