mirror of
https://github.com/darwincereska/homebrew-software.git
synced 2026-02-12 04:04:41 -05:00
Create bump-notevc.yml
This commit is contained in:
76
.github/workflows/bump-notevc.yml
vendored
Normal file
76
.github/workflows/bump-notevc.yml
vendored
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user