{"id":21573510,"url":"https://github.com/danielbayley/homebrew-pipeline","last_synced_at":"2026-01-17T06:09:46.008Z","repository":{"id":58326899,"uuid":"471131562","full_name":"danielbayley/homebrew-pipeline","owner":"danielbayley","description":"@GitHub @actions to provide a simple CI pipeline for your @Homebrew tap. Easily lint formulae, casks, and @ruby files with a single command.","archived":false,"fork":false,"pushed_at":"2022-11-09T14:27:51.000Z","size":17,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-01T10:36:26.090Z","etag":null,"topics":["action","actions","cask","ci","command","github-action","github-actions","homebrew","lint","lint-staged","linter","linting","macos","osx","ruby","style","tap"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielbayley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"danielbayley","custom":["https://paypal.me/danieljbayley","BTC 37rdZq4muDVNJh6jCr4XDXf8X2EFKjL3QQ","ETH 0x6248B4349e633969376dA20F9C8577530062BE64"]}},"created_at":"2022-03-17T20:24:52.000Z","updated_at":"2024-02-04T09:44:48.000Z","dependencies_parsed_at":"2023-01-22T10:30:28.929Z","dependency_job_id":null,"html_url":"https://github.com/danielbayley/homebrew-pipeline","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"40234a1aa54c3954cf1dbce8c3066c0bada4cab9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbayley%2Fhomebrew-pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbayley%2Fhomebrew-pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbayley%2Fhomebrew-pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbayley%2Fhomebrew-pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielbayley","download_url":"https://codeload.github.com/danielbayley/homebrew-pipeline/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244168294,"owners_count":20409496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","actions","cask","ci","command","github-action","github-actions","homebrew","lint","lint-staged","linter","linting","macos","osx","ruby","style","tap"],"created_at":"2024-11-24T12:06:33.321Z","updated_at":"2025-03-18T06:27:03.165Z","avatar_url":"https://github.com/danielbayley.png","language":"Ruby","funding_links":["https://github.com/sponsors/danielbayley","https://paypal.me/danieljbayley","BTC 37rdZq4muDVNJh6jCr4XDXf8X2EFKjL3QQ","ETH 0x6248B4349e633969376dA20F9C8577530062BE64"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"icon.svg\" width=\"15%\" align=\"left\"\u003e\n\n_[Homebrew]_ Pipeline\n=====================\nGitHub [Action] to provide a simple [CI] pipeline for your Homebrew _[tap]_,\nusing [`test-bot`] and the included [`lint` command].\n\nUsage\n---------------------------------------------------------------------------------------------------\n| [Input]   | Required | Default | Description                                                    |\n|:----------|:--------:|:--------|:---------------------------------------------------------------|\n| `include` |  false   | `**.rb` | _Extended_ [_glob_ pattern] matching files to check.           |\n| `exclude` |  false   |         | [Extended] glob pattern matching files to exclude from checks. |\n\nExample\n-------\n`.github/workflows/ci.yml`:\n~~~ yaml\nname: CI\non:\n  push:\n    branches: [master, main]\n    paths: '**.rb'\n  pull_request:\n    paths:\n    - Formula/*.rb\n    - Casks/*.rb\n    - cmd/*rb\n    - lib/**.rb\n  schedule:\n  - cron: 0 5 * * * # 5AM daily\n\njobs:\n  CI:\n    runs-on: macos-latest\n    steps:\n    - name: ${{github.workflow}}\n      uses: danielbayley/homebrew-pipeline@main\n      env:\n        ACTIONS_STEP_DEBUG: ${{secrets.ACTIONS_STEP_DEBUG}}\n      with:\n        skip-install: cask,tokens\n~~~\n\n`lint` [command]\n----------------\nEasily [`lint`] [_formula_]e, [_cask_]s, and [Ruby] files with a single command. `lint` is a simple\nHome`brew` _[external command]_ wrapper around existing [`audit`], [`style`], [`livecheck`] and other [command]s.\n\nOptions\n-------\n`brew lint` [`--option`s] `file`s|`tap`|`formula`e|`cask`s […]\n\n| Option                | Description                                                                                    |\n|:----------------------|:-----------------------------------------------------------------------------------------------|\n| `--style`             | Only run [`rubocop`] style checks.                                                             |\n| `--fail-fast`/`--ff`  | Stop after the first file containing offenses. Particularly useful in a _[`pre-commit` hook]_. |\n| `--fix`               | Fix style violations automatically using RuboCop's auto-correct feature.                       |\n| `--online`            | Run additional, slower style checks that require a network connection.                         |\n| `-`[`-f`]`ormat`[`=`] | Choose an output [`format`ter].                                                                |\n| `--install`           | Also run [[`un`]][`install`] along with any [`test`] step in formulae.                         |\n| `--skip-install`      | Skip \\[`un`]`install` steps for specified cask`,`s.                                            |\n\nConfig\n------\nPreferred style checks can be configured with a [`.rubocop.yml`] file in your [tap],\nwhich can [`inherit_from`] the base Homebrew [config]:\n~~~ yaml\ninherit_from: /usr/local/Homebrew/Library/.rubocop.yml\n# or /opt/homebrew/Homebrew/… if running on Apple Silicon.\n\nStyle/FrozenStringLiteralComment:\n  Enabled: false\n~~~\n\nEnvironment\n-----------\nAny `HOMEBREW_`[[`RUBOCOP`][rubocopts]|[`LIVECHECK`]]`_OPTS` will be appended to `rubocop` and `livecheck` commands,\nrespectively. For example, you might add something like the following to your [`~/.zshenv`]:\n~~~ sh\nexport HOMEBREW_RUBOCOP_OPTS=\"--display-cop-names --format simple\"\nexport HOMEBREW_LIVECHECK_OPTS=--debug\n~~~\n\nRunning `brew lint` in a [`GITHUB_ACTIONS`][action] environment implies `--online`,\n`--install`/`test` steps, and output `--format github`.\n\n`pre-commit` _[hook]_\n---------------------\nThe supplied [`pre-commit`] command is available for the corresponding [`git`] hook.\nIt will detect any [`--staged`] `**.rb` files, and `--fail-fast`, stopping after the first file containing offenses.\nFor example, you might add the following to `.git/hooks/pre-commit` or `git config core.hooksPath`:\n~~~ sh\n#! /bin/sh\nbrew pre-commit\n~~~\n\nInstall\n-------\n~~~ sh\nbrew tap danielbayley/lint\nbrew lint **.rb #formulae #cask #Brewfile\n~~~\n\nLicense\n-------\n[MIT] © [Daniel Bayley]\n\n[MIT]:                LICENSE.md\n[Daniel Bayley]:      https://github.com/danielbayley\n\n[action]:             https://docs.github.com/actions\n[ci]:                 https://docs.github.com/actions/automating-builds-and-tests/about-continuous-integration\n[environment]:        https://docs.github.com/actions/learn-github-actions/environment-variables\n[input]:              https://docs.github.com/actions/creating-actions/metadata-syntax-for-github-actions#inputs\n\n[homebrew]:           https://brew.sh\n[tap]:                https://docs.brew.sh/Taps\n[_formula_]:          https://docs.brew.sh/Formula-Cookbook\n[_cask_]:             https://docs.brew.sh/Cask-Cookbook\n[external command]:   https://docs.brew.sh/External-Commands\n[command]:            https://docs.brew.sh/Manpage#developer-commands\n[`test-bot`]:         https://github.com/Homebrew/homebrew-test-bot#readme\n[`audit`]:            https://docs.brew.sh/Manpage#audit-options-formulacask-\n[`style`]:            https://docs.brew.sh/Manpage#style-options-filetapformulacask-\n[`livecheck`]:        https://docs.brew.sh/Manpage#livecheck-lc-options-formulacask-\n[`install`]:          https://docs.brew.sh/Manpage#install-options-formulacask-\n[`un`]:               https://docs.brew.sh/Manpage#uninstall-remove-rm-options-installed_formulainstalled_cask-\n[`test`]:             https://docs.brew.sh/Manpage#test-options-installed_formula-\n\n[`lint`]:             https://en.wikipedia.org/wiki/Lint_(software)\n[`lint` command]:     #lint-command\n\n[ruby]:               https://ruby-lang.org\n[`rubocop`]:          https://rubocop.org\n[`.rubocop.yml`]:     https://docs.rubocop.org/rubocop/configuration\n[`inherit_from`]:     https://docs.rubocop.org/rubocop/configuration.html#inheritance\n[config]:             https://github.com/Homebrew/brew/blob/master/Library/.rubocop.yml\n[rubocopts]:          https://docs.rubocop.org/rubocop/usage/basic_usage#command-line-flags\n[`format`ter]:        https://docs.rubocop.org/rubocop/formatters\n\n[`git`]:              https://git-scm.com\n[`--staged`]:         https://git-scm.com/docs/git-diff#Documentation/git-diff.txt-emgitdiffemltoptionsgt--cached--merge-baseltcommitgt--ltpathgt82308203\n[hook]:               https://git-scm.com/docs/githooks\n[`pre-commit` hook]:  #pre-commit-hook\n[`pre-commit`]:       https://git-scm.com/docs/githooks#_pre_commit\n\n[_glob_ pattern]:     https://globster.xyz\n[extended]:           https://zsh.sourceforge.io/Doc/Release/Options.html#index-brace-expansion_002c-extending\n\n[`~/.zshenv`]:        https://zsh.sourceforge.io/Intro/intro_3.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielbayley%2Fhomebrew-pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielbayley%2Fhomebrew-pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielbayley%2Fhomebrew-pipeline/lists"}