diff --git a/.github/workflows/S3-Publish-Homebrew.yml b/.github/workflows/S3-Publish-Homebrew.yml index 0426bad..ff192c7 100644 --- a/.github/workflows/S3-Publish-Homebrew.yml +++ b/.github/workflows/S3-Publish-Homebrew.yml @@ -11,7 +11,6 @@ on: env: TAP_REPO: zaai-com/homebrew-tap FORMULA_NAME: git-same-cli - FORMULA_SHIM_NAME: git-same CASK_NAME: git-same permissions: @@ -43,7 +42,6 @@ jobs: fi echo "tag=$TAG" >> "$GITHUB_OUTPUT" echo "version=$TAG" >> "$GITHUB_OUTPUT" - echo "deprecation_date=$(date -u +%Y-%m-%d)" >> "$GITHUB_OUTPUT" - name: Download release assets env: @@ -71,23 +69,12 @@ jobs: echo "macos_x86_64=$(shasum -a 256 "$MAC_X86" | cut -d' ' -f1)" >> "$GITHUB_OUTPUT" echo "macos_aarch64=$(shasum -a 256 "$MAC_ARM" | cut -d' ' -f1)" >> "$GITHUB_OUTPUT" - - name: Compute source archive SHA256 - id: src_sha - run: | - TAG="${{ steps.version.outputs.tag }}" - URL="https://github.com/zaai-com/git-same/archive/refs/tags/${TAG}.tar.gz" - mkdir -p src-archive - curl -fsSL "$URL" -o "src-archive/source.tar.gz" - SHA=$(shasum -a 256 src-archive/source.tar.gz | cut -d' ' -f1) - echo "sha=$SHA" >> "$GITHUB_OUTPUT" - - name: Render formula-cli run: | TAG="${{ steps.version.outputs.tag }}" REPO_URL="https://github.com/zaai-com/git-same/releases/download/${TAG}" bash toolkit/homebrew/render-formula.sh \ "${{ steps.version.outputs.version }}" \ - --kind cli \ --url "${REPO_URL}" \ --sha-macos-arm "${{ steps.sha.outputs.macos_aarch64 }}" \ --sha-macos-intel "${{ steps.sha.outputs.macos_x86_64 }}" \ @@ -95,15 +82,6 @@ jobs: --sha-linux-intel "${{ steps.sha.outputs.linux_x86_64 }}" \ --out formula-cli.rb - - name: Render formula deprecation shim - run: | - bash toolkit/homebrew/render-formula.sh \ - "${{ steps.version.outputs.version }}" \ - --kind shim \ - --deprecation-date "${{ steps.version.outputs.deprecation_date }}" \ - --src-sha "${{ steps.src_sha.outputs.sha }}" \ - --out formula-shim.rb - - name: Render cask run: | bash toolkit/homebrew/render-cask.sh \ @@ -112,12 +90,11 @@ jobs: --sha-intel "${{ steps.sha.outputs.macos_x86_64 }}" \ --out cask.rb - - name: Verify rendered cask + formulae against a temp tap + - name: Verify rendered cask + formula against a temp tap run: | bash toolkit/homebrew/verify-tap.sh \ --cask cask.rb \ - --formula-cli formula-cli.rb \ - --formula-shim formula-shim.rb + --formula-cli formula-cli.rb - name: Checkout tap repository uses: actions/checkout@v6 @@ -131,7 +108,6 @@ jobs: run: | mkdir -p tap/Formula tap/Casks cp formula-cli.rb "tap/Formula/${FORMULA_NAME}.rb" - cp formula-shim.rb "tap/Formula/${FORMULA_SHIM_NAME}.rb" cp cask.rb "tap/Casks/${CASK_NAME}.rb" - name: Commit and push to tap @@ -141,11 +117,10 @@ jobs: git config user.email "github-actions[bot]@users.noreply.github.com" git add \ "Formula/${FORMULA_NAME}.rb" \ - "Formula/${FORMULA_SHIM_NAME}.rb" \ "Casks/${CASK_NAME}.rb" if git diff --cached --quiet; then echo "Cask + formula unchanged, skipping commit" else - git commit -m "Update git-same to ${{ steps.version.outputs.version }} (cask + formula-cli + shim)" + git commit -m "Update git-same to ${{ steps.version.outputs.version }} (cask + formula-cli)" git push origin HEAD fi diff --git a/Cargo.lock b/Cargo.lock index e732787..4550ce4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.61" +version = "1.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" +checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" dependencies = [ "find-msvc-tools", "jobserver", @@ -277,9 +277,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.6.3" +version = "4.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "660c0520455b1013b9bcb0393d5f643d7e4454fb69c915b8d6d2aa0e9a45acc3" +checksum = "e0a7a9bfdb35811f9e59832f0f05975114d2251b415fb534108e6f34060fd772" dependencies = [ "clap", ] @@ -304,9 +304,9 @@ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "clap_mangen" -version = "0.2.33" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e30ffc187e2e3aeafcd1c6e2aa416e29739454c0ccaa419226d5ecd181f2d78" +checksum = "d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07" dependencies = [ "clap", "roff", @@ -864,7 +864,7 @@ dependencies = [ [[package]] name = "git-same" -version = "3.0.1" +version = "3.0.2" dependencies = [ "anyhow", "async-trait", @@ -933,9 +933,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "heck" @@ -1202,7 +1202,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "serde", "serde_core", ] @@ -2753,9 +2753,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.2" +version = "1.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "110a78583f19d5cdb2c5ccf321d1290344e71313c6c37d43520d386027d18386" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ "bytes", "libc", @@ -3732,9 +3732,9 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" dependencies = [ "zerofrom-derive", ] diff --git a/Cargo.toml b/Cargo.toml index 6a66584..d54e215 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "git-same" -version = "3.0.1" +version = "3.0.2" edition = "2021" authors = ["Git-Same Contributors"] description = "Mirror GitHub structure /orgs/repos/ to local file system." @@ -82,7 +82,7 @@ crossterm = { version = "0.29", optional = true } # Release tooling (optional, behind "release-tools" feature) clap_complete = { version = "4", optional = true } -clap_mangen = { version = "0.2", optional = true } +clap_mangen = { version = "0.3", optional = true } [dev-dependencies] # Testing diff --git a/docs/README.md b/docs/README.md index 7659b39..4375fe7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -48,7 +48,7 @@ brew install --cask zaai-com/tap/git-same brew install zaai-com/tap/git-same-cli ``` -> As of 3.0.1, macOS distribution moved to a Homebrew Cask. The previous `brew install zaai-com/tap/git-same` formula path is deprecated on macOS and prints a notice that points at the cask. The cask is the seam for the upcoming Tauri GUI app and Finder badges, which arrive via `brew upgrade --cask git-same` with no second migration. +> As of 3.0.1, macOS distribution moved to a Homebrew Cask. The cask is the seam for the upcoming Tauri GUI app and Finder badges, which arrive via `brew upgrade --cask git-same` with no second migration.
Other installation methods diff --git a/toolkit/homebrew/README.md b/toolkit/homebrew/README.md index ccabae6..a8215d1 100644 --- a/toolkit/homebrew/README.md +++ b/toolkit/homebrew/README.md @@ -10,27 +10,23 @@ locally for pre-publish smoke tests. |---|---|---| | `cask.rb.tmpl` | `Casks/git-same.rb` | macOS users (signed + notarized tarball, GUI-friendly) | | `formula-cli.rb.tmpl` | `Formula/git-same-cli.rb` | Linux users + headless macOS | -| `formula-shim.rb.tmpl` | `Formula/git-same.rb` | Existing users on the old name; depends on `git-same-cli`, prints a deprecation warning | - -The shim is scheduled for removal at git-same 3.2 (see `formula-shim.rb.tmpl`). ## Decision tree for users - **macOS GUI / casual install** → cask: `brew install --cask zaai-com/tap/git-same` - **macOS headless / shell scripts** → formula: `brew install zaai-com/tap/git-same-cli` - **Linux** → formula: `brew install zaai-com/tap/git-same-cli` -- **Already running `brew install zaai-com/tap/git-same`** → unchanged for now; the shim transparently installs `git-same-cli` and emits a one-time deprecation notice. ## Scripts - `render-cask.sh VERSION --sha-arm --sha-intel [--out PATH]` Renders `cask.rb.tmpl` → stdout or PATH. -- `render-formula.sh VERSION --kind {cli|shim} ... [--out PATH]` - Renders both formula templates. See `--help` for the full flag list per kind. +- `render-formula.sh VERSION --url URL_PREFIX --sha-macos-arm --sha-macos-intel --sha-linux-arm --sha-linux-intel [--out PATH]` + Renders `formula-cli.rb.tmpl` → stdout or PATH. -- `verify-tap.sh --cask cask.rb --formula-cli formula-cli.rb --formula-shim formula-shim.rb [--install-smoke]` - Stages rendered files into a throwaway local tap, then runs `brew style --strict` +- `verify-tap.sh --cask cask.rb --formula-cli formula-cli.rb [--install-smoke]` + Stages rendered files into a throwaway local tap, then runs `brew style` and `brew audit --strict --online` against each. Pass `--install-smoke` to also `brew install --cask` end-to-end (downloads the real tarballs from the release; only run after the release exists). @@ -56,7 +52,7 @@ bash toolkit/homebrew/render-cask.sh "$VERSION" \ --sha-intel "$(cat /tmp/sha-x86_64-apple-darwin.txt)" \ --out /tmp/cask.rb -bash toolkit/homebrew/render-formula.sh "$VERSION" --kind cli \ +bash toolkit/homebrew/render-formula.sh "$VERSION" \ --url "$URL_PREFIX" \ --sha-macos-arm "$(cat /tmp/sha-aarch64-apple-darwin.txt)" \ --sha-macos-intel "$(cat /tmp/sha-x86_64-apple-darwin.txt)" \ @@ -64,18 +60,9 @@ bash toolkit/homebrew/render-formula.sh "$VERSION" --kind cli \ --sha-linux-intel "$(cat /tmp/sha-x86_64-unknown-linux-gnu.txt)" \ --out /tmp/formula-cli.rb -# Compute the source archive SHA for the shim -SRC_SHA=$(curl -sSL "https://github.com/zaai-com/git-same/archive/refs/tags/${VERSION}.tar.gz" \ - | shasum -a 256 | awk '{print $1}') -bash toolkit/homebrew/render-formula.sh "$VERSION" --kind shim \ - --deprecation-date "$(date -u +%Y-%m-%d)" \ - --src-sha "$SRC_SHA" \ - --out /tmp/formula-shim.rb - # Verify bash toolkit/homebrew/verify-tap.sh \ --cask /tmp/cask.rb \ --formula-cli /tmp/formula-cli.rb \ - --formula-shim /tmp/formula-shim.rb \ --install-smoke ``` diff --git a/toolkit/homebrew/formula-shim.rb.tmpl b/toolkit/homebrew/formula-shim.rb.tmpl deleted file mode 100644 index 429c2e9..0000000 --- a/toolkit/homebrew/formula-shim.rb.tmpl +++ /dev/null @@ -1,26 +0,0 @@ -# Homebrew Formula deprecation shim for the old `git-same` formula name. -# Rendered by S3-Publish-Homebrew.yml into Formula/git-same.rb on the tap. -# -# Existing users running `brew install zaai-com/tap/git-same` see a deprecation -# warning and transparently get `git-same-cli` installed via the dependency. -# Scheduled for removal at git-same 3.2. -class GitSame < Formula - desc "Renamed: use 'git-same' cask (macOS) or 'git-same-cli' formula (headless)" - homepage "https://github.com/zaai-com/git-same" - url "https://github.com/zaai-com/git-same/archive/refs/tags/VERSION_PLACEHOLDER.tar.gz" - sha256 "SOURCE_TARBALL_SHA_PLACEHOLDER" - license "MIT" - - deprecate! date: "DEPRECATION_DATE_PLACEHOLDER", - because: "renamed: install 'git-same' cask (GUI users) or 'git-same-cli' formula (headless)" - - depends_on "zaai-com/tap/git-same-cli" - - def install - # No-op: the dependency installs the actual binary. - end - - test do - assert_path_exists Formula["zaai-com/tap/git-same-cli"].opt_bin/"git-same" - end -end diff --git a/toolkit/homebrew/render-formula.sh b/toolkit/homebrew/render-formula.sh index 0a7b583..867c83a 100755 --- a/toolkit/homebrew/render-formula.sh +++ b/toolkit/homebrew/render-formula.sh @@ -1,23 +1,15 @@ #!/usr/bin/env bash -# Render a git-same Homebrew Formula from one of the checked-in templates. +# Render the git-same-cli Homebrew Formula from the checked-in template. # -# Two kinds: -# --kind cli Renders formula-cli.rb.tmpl (cross-platform, signed macOS -# tarballs + Linux tarballs) -# --kind shim Renders formula-shim.rb.tmpl (deprecation shim that points -# at the cli formula) +# Cross-platform: signed macOS tarballs + Linux tarballs. # -# Usage (cli): -# render-formula.sh VERSION --kind cli --url URL_PREFIX \ +# Usage: +# render-formula.sh VERSION --url URL_PREFIX \ # --sha-macos-arm --sha-macos-intel \ # --sha-linux-arm --sha-linux-intel \ # [--out PATH] # -# Usage (shim): -# render-formula.sh VERSION --kind shim --deprecation-date YYYY-MM-DD \ -# --src-sha [--out PATH] -# -# Reads: toolkit/homebrew/formula-cli.rb.tmpl or formula-shim.rb.tmpl +# Reads: toolkit/homebrew/formula-cli.rb.tmpl # Writes: stdout, or --out PATH # # Used both locally (for `brew style` + `brew install` testing against a draft @@ -28,31 +20,23 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" VERSION="" -KIND="" URL="" SHA_MAC_ARM="" SHA_MAC_INTEL="" SHA_LIN_ARM="" SHA_LIN_INTEL="" -DEPRECATION_DATE="" -SRC_SHA="" OUT="" usage() { cat <&2 Usage: - $0 VERSION --kind cli --url URL_PREFIX \\ + $0 VERSION --url URL_PREFIX \\ --sha-macos-arm --sha-macos-intel \\ --sha-linux-arm --sha-linux-intel [--out PATH] - $0 VERSION --kind shim --deprecation-date YYYY-MM-DD \\ - --src-sha [--out PATH] - VERSION Strict semver, no leading zeros, no v prefix (e.g. 3.0.1) - --url URL prefix for cli kind (no trailing slash) + --url URL prefix (no trailing slash) --sha-* SHA256 of the tarball (64 hex chars) - --deprecation-date ISO date when the shim begins emitting a warning - --src-sha SHA256 of the GitHub source archive tarball EOF } @@ -67,14 +51,11 @@ require_flag_value() { while [ $# -gt 0 ]; do case "$1" in - --kind) require_flag_value "$@"; KIND="$2"; shift 2 ;; --url) require_flag_value "$@"; URL="$2"; shift 2 ;; --sha-macos-arm) require_flag_value "$@"; SHA_MAC_ARM="$2"; shift 2 ;; --sha-macos-intel) require_flag_value "$@"; SHA_MAC_INTEL="$2"; shift 2 ;; --sha-linux-arm) require_flag_value "$@"; SHA_LIN_ARM="$2"; shift 2 ;; --sha-linux-intel) require_flag_value "$@"; SHA_LIN_INTEL="$2"; shift 2 ;; - --deprecation-date) require_flag_value "$@"; DEPRECATION_DATE="$2"; shift 2 ;; - --src-sha) require_flag_value "$@"; SRC_SHA="$2"; shift 2 ;; --out) require_flag_value "$@"; OUT="$2"; shift 2 ;; -h|--help) usage; exit 0 ;; --*) echo "ERROR: unknown flag $1" >&2; usage; exit 2 ;; @@ -103,57 +84,28 @@ require_sha() { fi } -case "$KIND" in - cli) - TEMPLATE="$SCRIPT_DIR/formula-cli.rb.tmpl" - if [ -z "$URL" ]; then - echo "ERROR: --url is required for --kind cli" >&2; exit 2 - fi - require_sha --sha-macos-arm "$SHA_MAC_ARM" - require_sha --sha-macos-intel "$SHA_MAC_INTEL" - require_sha --sha-linux-arm "$SHA_LIN_ARM" - require_sha --sha-linux-intel "$SHA_LIN_INTEL" - ;; - shim) - TEMPLATE="$SCRIPT_DIR/formula-shim.rb.tmpl" - if [ -z "$DEPRECATION_DATE" ]; then - echo "ERROR: --deprecation-date is required for --kind shim" >&2; exit 2 - fi - if ! [[ "$DEPRECATION_DATE" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then - echo "ERROR: --deprecation-date must be ISO date YYYY-MM-DD" >&2; exit 2 - fi - require_sha --src-sha "$SRC_SHA" - ;; - "") - echo "ERROR: --kind is required (cli|shim)" >&2; usage; exit 2 ;; - *) - echo "ERROR: --kind must be cli or shim, got '$KIND'" >&2; exit 2 ;; -esac +TEMPLATE="$SCRIPT_DIR/formula-cli.rb.tmpl" +if [ -z "$URL" ]; then + echo "ERROR: --url is required" >&2; exit 2 +fi +require_sha --sha-macos-arm "$SHA_MAC_ARM" +require_sha --sha-macos-intel "$SHA_MAC_INTEL" +require_sha --sha-linux-arm "$SHA_LIN_ARM" +require_sha --sha-linux-intel "$SHA_LIN_INTEL" if [ ! -r "$TEMPLATE" ]; then echo "ERROR: template not readable: $TEMPLATE" >&2 exit 1 fi -case "$KIND" in - cli) - RENDERED="$(sed \ - -e "s|VERSION_PLACEHOLDER|${VERSION}|g" \ - -e "s|URL_PLACEHOLDER|${URL}|g" \ - -e "s|SHA_LINUX_X86_64_PLACEHOLDER|${SHA_LIN_INTEL}|g" \ - -e "s|SHA_LINUX_AARCH64_PLACEHOLDER|${SHA_LIN_ARM}|g" \ - -e "s|SHA_MACOS_X86_64_PLACEHOLDER|${SHA_MAC_INTEL}|g" \ - -e "s|SHA_MACOS_AARCH64_PLACEHOLDER|${SHA_MAC_ARM}|g" \ - "$TEMPLATE")" - ;; - shim) - RENDERED="$(sed \ - -e "s|VERSION_PLACEHOLDER|${VERSION}|g" \ - -e "s|DEPRECATION_DATE_PLACEHOLDER|${DEPRECATION_DATE}|g" \ - -e "s|SOURCE_TARBALL_SHA_PLACEHOLDER|${SRC_SHA}|g" \ - "$TEMPLATE")" - ;; -esac +RENDERED="$(sed \ + -e "s|VERSION_PLACEHOLDER|${VERSION}|g" \ + -e "s|URL_PLACEHOLDER|${URL}|g" \ + -e "s|SHA_LINUX_X86_64_PLACEHOLDER|${SHA_LIN_INTEL}|g" \ + -e "s|SHA_LINUX_AARCH64_PLACEHOLDER|${SHA_LIN_ARM}|g" \ + -e "s|SHA_MACOS_X86_64_PLACEHOLDER|${SHA_MAC_INTEL}|g" \ + -e "s|SHA_MACOS_AARCH64_PLACEHOLDER|${SHA_MAC_ARM}|g" \ + "$TEMPLATE")" if [ -n "$OUT" ]; then printf '%s\n' "$RENDERED" > "$OUT" diff --git a/toolkit/homebrew/verify-tap.sh b/toolkit/homebrew/verify-tap.sh index 1feedc7..29dfda8 100755 --- a/toolkit/homebrew/verify-tap.sh +++ b/toolkit/homebrew/verify-tap.sh @@ -6,8 +6,7 @@ # was removed. # # Usage: -# verify-tap.sh --cask cask.rb --formula-cli formula-cli.rb \ -# --formula-shim formula-shim.rb [--install-smoke] +# verify-tap.sh --cask cask.rb --formula-cli formula-cli.rb [--install-smoke] # # Optional --install-smoke does `brew install --cask` against the temp tap to # confirm the artifacts download + install end-to-end. Skipped by default @@ -20,13 +19,12 @@ set -euo pipefail CASK="" FORMULA_CLI="" -FORMULA_SHIM="" INSTALL_SMOKE=0 ONLINE=1 usage() { cat <&2 -Usage: $0 --cask cask.rb --formula-cli formula-cli.rb --formula-shim formula-shim.rb [--install-smoke] [--offline] +Usage: $0 --cask cask.rb --formula-cli formula-cli.rb [--install-smoke] [--offline] --offline Skip the URL/livecheck audit. Useful for local dry runs before the GitHub Release is uploaded; CI should leave this off. @@ -38,7 +36,6 @@ while [ $# -gt 0 ]; do case "$1" in --cask) CASK="${2:-}"; shift 2 ;; --formula-cli) FORMULA_CLI="${2:-}"; shift 2 ;; - --formula-shim) FORMULA_SHIM="${2:-}"; shift 2 ;; --install-smoke) INSTALL_SMOKE=1; shift ;; --offline) ONLINE=0; shift ;; -h|--help) usage; exit 0 ;; @@ -48,8 +45,7 @@ done if [ -z "$CASK" ]; then echo "ERROR: --cask is required" >&2; usage; exit 2; fi if [ -z "$FORMULA_CLI" ]; then echo "ERROR: --formula-cli is required" >&2; usage; exit 2; fi -if [ -z "$FORMULA_SHIM" ]; then echo "ERROR: --formula-shim is required" >&2; usage; exit 2; fi -for f in "$CASK" "$FORMULA_CLI" "$FORMULA_SHIM"; do +for f in "$CASK" "$FORMULA_CLI"; do [ -f "$f" ] || { echo "ERROR: file not found: $f" >&2; exit 1; } done @@ -70,14 +66,13 @@ trap cleanup EXIT echo "==> Creating throwaway tap at $TAP_PATH" mkdir -p "$TAP_PATH/Formula" "$TAP_PATH/Casks" cp "$FORMULA_CLI" "$TAP_PATH/Formula/git-same-cli.rb" -cp "$FORMULA_SHIM" "$TAP_PATH/Formula/git-same.rb" cp "$CASK" "$TAP_PATH/Casks/git-same.rb" # brew tap-new normally requires a git repo; we mimic enough for tap commands # to work by initializing one. ( cd "$TAP_PATH" && git init -q && git add . && git -c user.email=verify@local -c user.name=verify commit -q -m init ) -echo "==> brew style (cask + formulae)" +echo "==> brew style (cask + formula)" brew style "$TAP_PATH" AUDIT_FLAGS=(--strict) @@ -91,9 +86,6 @@ brew audit "${AUDIT_FLAGS[@]}" --cask "$TAP_NAME/git-same" echo "==> brew audit (formula-cli)" brew audit "${AUDIT_FLAGS[@]}" --formula "$TAP_NAME/git-same-cli" -echo "==> brew audit (formula-shim)" -brew audit "${AUDIT_FLAGS[@]}" --formula "$TAP_NAME/git-same" - if [ "$INSTALL_SMOKE" -eq 1 ]; then echo "==> brew install --cask (smoke)" brew install --cask "$TAP_NAME/git-same" diff --git a/toolkit/packaging/release-checklist.md b/toolkit/packaging/release-checklist.md index 975d4a8..d1b1726 100644 --- a/toolkit/packaging/release-checklist.md +++ b/toolkit/packaging/release-checklist.md @@ -11,7 +11,7 @@ manual `workflow_dispatch` workflows under `.github/workflows/`. - [ ] Smoke-render the Homebrew artifacts locally: ```sh bash toolkit/homebrew/render-cask.sh 3.X.Y --sha-arm <64x0> --sha-intel <64x0> - bash toolkit/homebrew/render-formula.sh 3.X.Y --kind cli --url https://example --sha-macos-arm <64x0> --sha-macos-intel <64x0> --sha-linux-arm <64x0> --sha-linux-intel <64x0> + bash toolkit/homebrew/render-formula.sh 3.X.Y --url https://example --sha-macos-arm <64x0> --sha-macos-intel <64x0> --sha-linux-arm <64x0> --sha-linux-intel <64x0> ``` ## 2. S1 (test CI) @@ -54,4 +54,3 @@ manual `workflow_dispatch` workflows under `.github/workflows/`. - [ ] On a clean Mac (x86_64): same as above. - [ ] On Linux (Docker is fine): `brew install zaai-com/tap/git-same-cli`. Same checks (sans `man` if unavailable). - [ ] `cargo install git-same` succeeds. -- [ ] Old `brew install zaai-com/tap/git-same` formula path still works and shows the deprecation notice.