Initial commit

This commit is contained in:
Tommaso Negri
2023-12-04 15:56:35 +01:00
parent 34ddf292bd
commit 7c34e718ce
5 changed files with 147 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
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
permissions:
contents: write
packages: none
pull-requests: write
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
+40
View File
@@ -0,0 +1,40 @@
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-
- 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.*'
+2
View File
@@ -0,0 +1,2 @@
.DS_Store
.nova
+11
View File
@@ -0,0 +1,11 @@
# Paninihouse Brewerx
## How do I install these formulae?
`brew install paninihouse/brewerx/<formula>`
Or `brew tap paninihouse/brewerx` and then `brew install <formula>`.
## Documentation
`brew help`, `man brew` or check [Homebrew's documentation](https://docs.brew.sh).
+55
View File
@@ -0,0 +1,55 @@
# frozen_string_literal: true
require "formula"
require "json"
module Homebrew
module_function
def bx_tap_content_info_args
Homebrew::CLI::Parser.new do
description <<~EOS
Do something. Place a description here.
EOS
flag "--json",
description: "Print a JSON representation. Currently the default value for <version> is `v1` for " \
"<formula>. For <formula> and <cask> use `v2`. See the docs for examples of using the " \
"JSON output: <https://docs.brew.sh/Querying-Brew>"
switch "--formula", "--formulae",
description: "Treat all named arguments as formulae."
switch "--cask", "--casks",
description: "Treat all named arguments as casks."
conflicts "--formula", "--cask"
named_args [:tap]
end
end
def bx_tap_content_info
args = bx_tap_content_info_args.parse
formulae = []
casks = []
Tap.each do |tap|
unless args.cask?
tap.formula_files.each do |formula_file|
formulae << Formulary.factory(formula_file)
end
end
unless args.formula?
tap.cask_files.each do |cask_file|
casks << Cask::CaskLoader::FromTapPathLoader.new(cask_file).load(config: nil)
end
end
end
json = {
"formulae": formulae.map(&:to_hash),
"casks": casks.map(&:to_h)
}
puts JSON.pretty_generate(json)
end
end