diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..9e2a27e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,35 @@ +name: brew pr-pull +on: + pull_request_target: + types: + - labeled +jobs: + pr-pull: + if: contains(github.event.pull_request.labels.*.name, 'pr-pull') + runs-on: ubuntu-22.04 + steps: + - name: Set up Homebrew + uses: Homebrew/actions/setup-homebrew@master + + - name: Set up git + uses: Homebrew/actions/git-user-config@master + + - name: Pull bottles + env: + HOMEBREW_GITHUB_API_TOKEN: ${{ github.token }} + HOMEBREW_GITHUB_PACKAGES_TOKEN: ${{ github.token }} + HOMEBREW_GITHUB_PACKAGES_USER: ${{ github.actor }} + PULL_REQUEST: ${{ github.event.pull_request.number }} + run: brew pr-pull --debug --tap=$GITHUB_REPOSITORY $PULL_REQUEST + + - name: Push commits + uses: Homebrew/actions/git-try-push@master + with: + token: ${{ github.token }} + branch: main + + - name: Delete branch + if: github.event.pull_request.head.repo.fork == false + env: + BRANCH: ${{ github.event.pull_request.head.ref }} + run: git push --delete origin $BRANCH diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..2ec00d8 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,44 @@ +name: brew test-bot +on: + push: + branches: + - main + pull_request: +jobs: + test-bot: + strategy: + matrix: + os: [ubuntu-22.04, macos-13] + runs-on: ${{ matrix.os }} + steps: + - name: Set up Homebrew + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master + + - name: Cache Homebrew Bundler RubyGems + id: cache + uses: actions/cache@v3 + with: + path: ${{ steps.set-up-homebrew.outputs.gems-path }} + key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} + restore-keys: ${{ runner.os }}-rubygems- + + - name: Install Homebrew Bundler RubyGems + if: steps.cache.outputs.cache-hit != 'true' + run: brew install-bundler-gems + + - run: brew test-bot --only-cleanup-before + + - run: brew test-bot --only-setup + + - run: brew test-bot --only-tap-syntax + + - run: brew test-bot --only-formulae + if: github.event_name == 'pull_request' + + - name: Upload bottles as artifact + if: always() && github.event_name == 'pull_request' + uses: actions/upload-artifact@main + with: + name: bottles + path: '*.bottle.*' diff --git a/Formula/modular.rb b/Formula/modular.rb new file mode 100644 index 0000000..646fcb2 --- /dev/null +++ b/Formula/modular.rb @@ -0,0 +1,21 @@ +class Modular < Formula + desc "Modular developer CLI tool" + homepage "https://www.modular.com" + version "0.0.1" + + if OS.mac? && Hardware::CPU.arm? + url "https://dl.modular.com/public/installer/raw/names/Modular%20CLI%20for%20MacOS%20ARM64/versions/0.0.1/modular-0.0.1-macos-arm64.tar.gz" + sha256 "90f7e0a5145eff2f32afa28bf4856e30df373b39380ef3dcc1a8fa62e9b719da" + end + + depends_on arch: :arm64 + depends_on :macos + + def install + prefix.install Dir["*"] + end + + test do + system "#{bin}/modular --version" + end +end diff --git a/README.md b/README.md new file mode 100644 index 0000000..7885674 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# Modular CLI Homebrew Tap + +## How do I install these formulae? + +`brew install modularml/modular/modular` + +Or `brew tap modularml/modular` and then `brew install modular`. + +## Documentation + +`brew help`, `man brew` or check [Homebrew's documentation](https://docs.brew.sh).