--- name: Update Casks concurrency: jimeh/homebrew-emacs-builds/update-casks on: schedule: - cron: "0 3 * * *" workflow_dispatch: inputs: cask: description: "Specific cask to update (all if empty)" required: false default: "" extraArgs: description: "Extra arguments passed to emacs-builder cask update" required: false default: "" jobs: livecheck: runs-on: macos-12 steps: - name: Checkout tap repository uses: actions/checkout@v4 with: ref: main path: tap - name: Symlink homebrew tap run: | mkdir -p "$(brew --repo)/Library/Taps/jimeh" ln -s "${{ github.workspace }}/tap" \ "$(brew --repo)/Library/Taps/jimeh/homebrew-emacs-builds" - name: brew livecheck (all casks) if: ${{ github.event.inputs.cask == '' }} run: >- brew livecheck --json --quiet --tap jimeh/emacs-builds | tee livecheck-results.json - name: brew livecheck (specific cask) if: ${{ github.event.inputs.cask != '' }} run: >- brew livecheck --json --quiet jimeh/emacs-builds/${{ github.event.inputs.cask }} | tee livecheck-results.json - name: Upload livecheck-results.json artifact uses: actions/upload-artifact@v3 with: name: livecheck-results.json path: livecheck-results.json if-no-files-found: error update-casks: runs-on: macos-12 needs: [livecheck] steps: - name: Checkout build-emacs-for-macos for emacs-builder tool uses: actions/checkout@v4 with: repository: jimeh/build-emacs-for-macos ref: "v0.6.45" - uses: actions/setup-go@v4 with: go-version: "1.21" - name: Build emacs-builder tool run: make build - name: Download livecheck-results.json artifact uses: actions/download-artifact@v3 with: name: livecheck-results.json path: ./ - name: Update casks run: >- bin/emacs-builder cask --builds-repository jimeh/emacs-builds update --templates-dir templates ${{ github.event.inputs.extraArgs }} livecheck-results.json env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} update-meta: runs-on: macos-12 needs: [update-casks] steps: - name: Checkout tap repository main branch uses: actions/checkout@v4 with: ref: main path: tap - name: Symlink homebrew tap run: | mkdir -p "$(brew --repo)/Library/Taps/jimeh" ln -s "${{ github.workspace }}/tap" \ "$(brew --repo)/Library/Taps/jimeh/homebrew-emacs-builds" - name: Checkout tap repository meta branch uses: actions/checkout@v4 with: ref: meta path: meta - name: Install meta dependencies run: brew bundle working-directory: meta - name: Update meta files run: make update working-directory: meta - name: commit and push changes to meta branch uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: "chore(meta): update meta files" repository: meta branch: meta commit_user_name: github-actions[bot] commit_user_email: github-actions[bot]@users.noreply.github.com commit_author: >- github-actions[bot] skip_dirty_check: false