dnote/scripts/cli/release-homebrew.sh
2025-10-05 21:26:12 -07:00

53 lines
1.4 KiB
Bash
Executable file

#!/usr/bin/env bash
set -eux
currentDir=$(dirname "${BASH_SOURCE[0]}")
cliHomebrewDir=${currentDir}/../../homebrew-dnote
if [ ! -d "$cliHomebrewDir" ]; then
echo "homebrew-dnote not found locally. Cloning."
git clone git@github.com:dnote/homebrew-dnote.git "$cliHomebrewDir"
fi
version=$1
echo "version: $version"
# Download source tarball and calculate SHA256
source_url="https://github.com/dnote/dnote/archive/refs/tags/cli-v${version}.tar.gz"
echo "Calculating SHA256 for: $source_url"
sha=$(curl -L "$source_url" | shasum -a 256 | cut -d ' ' -f 1)
pushd "$cliHomebrewDir"
echo "pulling latest dnote-homebrew repo"
git checkout master
git pull origin master
cat > ./Formula/dnote.rb << EOF
class Dnote < Formula
desc "Simple command line notebook for programmers"
homepage "https://www.getdnote.com"
url "https://github.com/dnote/dnote/archive/refs/tags/cli-v${version}.tar.gz"
sha256 "${sha}"
license "GPL-3.0"
head "https://github.com/dnote/dnote.git", branch: "master"
depends_on "go" => :build
def install
ldflags = "-s -w -X main.apiEndpoint=https://api.getdnote.com -X main.versionTag=#{version}"
system "go", "build", *std_go_args(ldflags: ldflags), "-tags", "fts5", "./pkg/cli"
end
test do
system "#{bin}/dnote", "version"
end
end
EOF
git add .
git commit --author="Bot <bot@getdnote.com>" -m "Release ${version}"
git push origin master
popd