name: Update Packages on: release: types: [published] workflow_dispatch: jobs: update-homebrew: runs-on: macos-latest permissions: contents: write steps: - uses: actions/checkout@v4 with: ref: ${{ github.event.repository.default_branch }} fetch-depth: 0 - name: Download and hash release id: release run: | VERSION="${{ github.event.release.tag_name || github.ref_name }}" curl --fail-with-body -L -o plezy-macos.dmg \ "https://github.com/edde746/plezy/releases/download/$VERSION/plezy-macos.dmg" SHA256=$(shasum -a 256 plezy-macos.dmg | cut -d' ' -f1) echo "version=$VERSION" >> $GITHUB_OUTPUT echo "sha256=$SHA256" >> $GITHUB_OUTPUT - name: Update cask run: | sed -i '' "s/version \".*\"/version \"${{ steps.release.outputs.version }}\"/" Casks/plezy.rb sed -i '' "s/sha256 \".*\"/sha256 \"${{ steps.release.outputs.sha256 }}\"/" Casks/plezy.rb - name: Commit run: | BRANCH="${{ github.event.repository.default_branch }}" git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add Casks/plezy.rb if ! git diff --staged --quiet; then git commit -m "chore: update cask to ${{ steps.release.outputs.version }}" git push origin "HEAD:$BRANCH" else echo "No cask changes to commit." fi update-winget: runs-on: windows-latest steps: - uses: vedantmgoyal9/winget-releaser@v2 with: identifier: edde746.Plezy installers-regex: 'plezy-windows-installer\.exe$' token: ${{ secrets.WINGET_TOKEN }} update-appcast-branch: runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v4 - name: Download appcast.xml from release run: | gh release download "${{ github.event.release.tag_name }}" \ --pattern "appcast.xml" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Push to appcast branch run: | VERSION="${{ github.event.release.tag_name }}" git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" BLOB=$(git hash-object -w appcast.xml) TREE=$(printf "100644 blob %s\tappcast.xml\n" "$BLOB" | git mktree) COMMIT=$(git commit-tree "$TREE" -m "Update appcast for $VERSION") git push origin "$COMMIT:refs/heads/appcast" --force