Files
homebrew-software/.github/workflows/bump-xswitcher.yml
Darwin Cereska 96b816d96d asrtar
2025-06-19 17:15:34 -04:00

63 lines
2.0 KiB
YAML

name: Bump XSwitcher Formula
on:
workflow_dispatch:
schedule:
- cron: '0 * * * *'
jobs:
bump:
runs-on: ubuntu-latest
steps:
- name: Checkout tap repo
uses: actions/checkout@v3
- name: Fetch latest release from GitHub
id: fetch
uses: actions/github-script@v6
with:
result-encoding: json
script: |
const release = await github.rest.repos.getLatestRelease({
owner: 'darwincereska',
repo: 'xswitcher'
});
return {
version: release.data.tag_name,
url: release.data.tarball_url
};
- name: Download tarball and compute SHA256
id: compute
run: |
curl -L -o xswitcher.tar.gz "${{ steps.fetch.outputs.url }}"
SHA256=$(sha256sum xswitcher.tar.gz | awk '{ print $1 }')
echo "sha256=$SHA256" >> $GITHUB_OUTPUT
- name: Update Formula
run: |
VERSION=${{ steps.fetch.outputs.version }}
SHA256=${{ steps.compute.outputs.sha256 }}
FORMULA=Formula/xswitcher.rb
echo "Updating $FORMULA to version $VERSION"
sed -i "s|url \".*\"|url \"https://github.com/darwincereska/xswitcher/archive/refs/tags/${VERSION}.tar.gz\"|g" "$FORMULA"
sed -i "s/sha256 \".*\"/sha256 \"$SHA256\"/g" "$FORMULA"
sed -i "s/version \".*\"/version \"${VERSION#v}\"/g" "$FORMULA" || echo "No version field to replace"
- name: Commit and push if changed
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "GitHub Actions"
git config user.email "actions@github.com"
git add Formula/xswitcher.rb
if ! git diff --cached --quiet; then
VERSION=${{ steps.fetch.outputs.version }}
git commit -m "Auto-update xswitcher to $VERSION"
git push
else
echo "No changes to commit"