From 86f62c9514d291bf1d4eae10cc4464d9b7412f99 Mon Sep 17 00:00:00 2001 From: Darwin Cereska <157426553+darwincereska@users.noreply.github.com> Date: Mon, 10 Nov 2025 20:25:35 -0500 Subject: [PATCH] Create bump-notevc.yml --- .github/workflows/bump-notevc.yml | 76 +++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/bump-notevc.yml diff --git a/.github/workflows/bump-notevc.yml b/.github/workflows/bump-notevc.yml new file mode 100644 index 0000000..e7d4599 --- /dev/null +++ b/.github/workflows/bump-notevc.yml @@ -0,0 +1,76 @@ +name: Bump Homebrew Formula + +on: + schedule: + - cron: "0 * * * *" # every hour + workflow_dispatch: + +jobs: + bump: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Get latest release version + id: get_release + run: | + api="https://api.github.com/repos/darwincereska/notevc/releases/latest" + response=$(curl -s "$api") + version=$(echo "$response" | jq -r .tag_name | sed 's/^v//') + echo "version=$version" >> $GITHUB_OUTPUT + + - name: Get current formula version + id: get_current + run: | + current=$(grep 'version "' Formula/notevc.rb | cut -d'"' -f2) + echo "current=$current" >> $GITHUB_OUTPUT + + - name: Stop if already up to date + if: ${{ steps.get_release.outputs.version == steps.get_current.outputs.current }} + run: | + echo "Already up to date." + exit 0 + + - name: Download new release binaries + id: download + run: | + version=${{ steps.get_release.outputs.version }} + mkdir -p tmp + curl -L -o tmp/notevc-macos-arm64 "https://github.com/darwincereska/notevc/releases/download/v${version}/notevc-macos-arm64" + curl -L -o tmp/notevc-linux-x64 "https://github.com/darwincereska/notevc/releases/download/v${version}/notevc-linux-x64" + mac_hash=$(sha256sum tmp/notevc-macos-arm64 | cut -d' ' -f1) + linux_hash=$(sha256sum tmp/notevc-linux-x64 | cut -d' ' -f1) + echo "mac_hash=$mac_hash" >> $GITHUB_OUTPUT + echo "linux_hash=$linux_hash" >> $GITHUB_OUTPUT + + - name: Update Formula file + run: | + version=${{ steps.get_release.outputs.version }} + mac_hash=${{ steps.download.outputs.mac_hash }} + linux_hash=${{ steps.download.outputs.linux_hash }} + + sed -i "s/version \".*\"/version \"${version}\"/" Formula/notevc.rb + sed -i "s|notevc/releases/download/v.*/notevc-macos-arm64\"|notevc/releases/download/v${version}/notevc-macos-arm64\"|" Formula/notevc.rb + sed -i "s|notevc/releases/download/v.*/notevc-linux-x64\"|notevc/releases/download/v${version}/notevc-linux-x64\"|" Formula/notevc.rb + + mac_hash=$(sha256sum tmp/notevc-macos-arm64 | cut -d' ' -f1) + linux_hash=$(sha256sum tmp/notevc-linux-x64 | cut -d' ' -f1) + awk -v mac_hash="$mac_hash" -v linux_hash="$linux_hash" ' + /if OS.mac\?/ {print; getline; sub(/sha256 ".*"/, "sha256 \""mac_hash"\""); print; next} + /elsif OS.linux\?/ {print; getline; sub(/sha256 ".*"/, "sha256 \""linux_hash"\""); print; next} + {print} + ' Formula/notevc.rb > Formula/tmp.rb && mv Formula/tmp.rb Formula/notevc.rb + + - name: Commit and push changes + run: | + version=${{ steps.get_release.outputs.version }} + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add Formula/notevc.rb + git diff --quiet && echo "No changes detected." && exit 0 + git commit -m "bump(notevc): updated version to ${version}" + git push