diff --git a/.github/workflows/renterd.yml b/.github/workflows/renterd.yml new file mode 100644 index 0000000..14ccb03 --- /dev/null +++ b/.github/workflows/renterd.yml @@ -0,0 +1,45 @@ +name: Update Renterd Formula + +on: + # Run hourly + schedule: + - cron: '0 * * * *' + # Enable manual trigger + workflow_dispatch: + +jobs: + update-formula: + runs-on: ubuntu-latest + + steps: + - name: Checkout respository + uses: actions/checkout@v3 + + - name: Check for new renterd tag in SiaFoundation/renterd + id: check-tag + env: + GH_TOKEN: ${{ github.token }} + run: | + # Fetch tags with pagination + TAGS_JSON=$(gh api --paginate repos/SiaFoundation/web/tags) + + # Extract tags that start with "renterd/", sort them in version order, and pick the highest version + LATEST_RENTERD_GO_TAG=$(echo "$TAGS_JSON" | jq -r '.[] | select(.name | startswith("v")).name' | sort -Vr | head -n 1) + LATEST_RENTERD_VERSION=$(echo "$LATEST_RENTERD_GO_TAG") + + echo "Latest renterd tag is $LATEST_RENTERD_GO_TAG" + echo "GO_TAG=$LATEST_RENTERD_GO_TAG" >> $GITHUB_ENV + echo "VERSION=$LATEST_RENTERD_VERSION" >> $GITHUB_ENV + + - name: Update Homebrew Formula + run: sed -i '' 's/:tag => "[^"]*"/:tag => "${{ env.GO_TAG }}"/' ./Formula/renterd.rb + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5.0.2 + with: + token: ${{ secrets.HOMEBREW_CREATE_PR }} + commit-message: 'renterd: ${{ env.GO_TAG }}' + title: 'renterd: ${{ env.GO_TAG }}' + body: 'This is an automated PR to update the formula of renterd' + branch: renterd/update + base: master