Skip to content

action clean up

action clean up #13

# 2024 Chris Rizzitello <[email protected]>
# Simple job to check if latest tag on deskflow/deskflow was updated
# Update the cask deskflow with the new version and shas then commit it to this repo
# Cask recipe must have sha256 line on a single line for this to work
# Ex: sha256sum arm: "quotedshaArm" intel: "quotedshaforIntel"
# The Update check does not check the tweak value the deskflow recipe uses only the M.m.p
# Tweak should always be 0 on the new version (not enfored here just ignored)
name: Update deskflow
on:
push:
schedule:
- cron: "3,23,43 * * * *"
jobs:
update-deskflow:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Update deskflow cask
shell: bash
run: |
export oldVersion=$(cat Casks/d/deskflow.rb | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
export oldMajor=$(echo $oldVersion | grep -oE '^[0-9]+')
export oldMinor=$(echo $oldVersion | grep -oE '\.[0-9]+\.' | sed -e 's/\.//g')
export oldPatch=$(echo $oldVersion | grep -oE '[0-9]+$')
curl -s https://api.github.com/repos/deskflow/deskflow/releases/latest | awk -F\" '/browser_download_url/{print $(NF-1)}' | grep sums | wget -q -i -
export newVersion=$(cat sums.txt | grep Build: | sed -e 's/Build: //g' | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
#export newMajor=$(echo $newVersion | grep -oE '^[0-9]+')
export newMajor=4
export newMinor=$(echo $newVersion | grep -oE '\.[0-9]+\.' | sed -e 's/\.//g')
# export newMinor=4
export newPatch=$(echo $newVersion | grep -oE '\.[0-9]+\.[0-9]+' | grep -oE '[0-9]+$')
#export newPatch=4
# These will be written into the files
export A_SHA=$(cat sums.txt | grep macos-arm64.dmg | sed -e 's/des.*//g' | sed -e 's/ //g')
export I_SHA=$(cat sums.txt | grep macos-x86_64.dmg | sed -e 's/des.*//g' | sed -e 's/ //g')
if [[ ("$oldMajor -gt $newMajor") || ($oldMajor -eq $newMajor && $oldMinor -gt $newMinor) ]]; then
# || ("$oldMajor" -eq "$newMajor" && "$oldMinor" -eq "$newMinor" && "$oldPatch" -gt "$newPatch") ]]; then
echo "Current version is newer: $oldVersion > $newVersion"
elif [ "$oldVersion" == "$newVersion" ]; then
echo " Same Version"
else
echo "New Version $newVersion"
sed -i "s/version \".*\"/version \"$newVersion\"/" Casks/d/deskflow.rb
sed -i "s/sha256 arm:.*\".*\", intel: \".*\"/sha256 arm: \"$A_SHA\", intel: \"$I_SHA\"/" Casks/d/deskflow.rb
git config --global user.name "${{github.actor}}"
git config --global user.email "${{github.actor}}@users.noreply.github.com"
git commit Casks/d/deskflow-dev.rb -m "deskflow: $newVersion"
git push -u origin HEAD
fi