Git Product home page Git Product logo

homebrew-caboodle's People

Watchers

 avatar  avatar  avatar

homebrew-caboodle's Issues

Dependency Dashboard

This issue contains a list of Renovate updates and their statuses.

Repository problems

These problems occurred while renovating this repository.

  • WARN: Branch is not up to date - cannot automerge

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to ignore the schedule.

  • chore(deps): lock file maintenance

Pending Status Checks

These updates await pending status checks. To force their creation now, check the box below.

  • chore(deps): update dependency husky to v5.1.3
  • chore(deps): update linters (@typescript-eslint/eslint-plugin, @typescript-eslint/parser, eslint)

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.


  • Check this box to trigger a request for Renovate to run again on this repository

Design

Table of contents

Release strategy

The release strategy should, to some extend, minimise the updates so users don't get an abundance of formulae updates. This means that we can't simply bump all formulae in every release. I still want to keep the formulae version somewhat up-to-date with the Homebrew Caboodle version, but that could be accomplished by periodical updates. Another benefit of this release strategy is that we minimise the workload on the CI as we don't need to bottle every formula every single time. With this, the release strategy will be as follows.

  • Regular updates include only the formulae that have actually changed.
  • Monthly updates update all formulae.
    This will rebuild the bottles and bump the formulae version for all formulae, making them up-to-date with the Homebrew Caboodle version.

Continuous integration

  • Check syntax;
  • Build matrix set dynamically based on the changed formulae;
  • Each workflow run is for a single formula;
  • Use the Homebrew test bot as much as possible;

Tap syntax

This job is based on the tap-syntax job of Homebrew/homebrew-core.

Job to check the tap syntax, using the brew test-bot --only-tap-syntax command.

Test

This job is based on the test job of Homebrew/homebrew-core.

Job to test formulae and build bottles of either all formulae or only the changed ones, depending whether the current run is a periodic rebuild. To efficiently build multiple formulae, this should use a dynamic build matrix. This build simply uses the Homebrew test bot to bottle a formulae and upload the bottle as workflow artefact. All bottles build during the job are uploaded, as artefact, using GitHub upload artefact action, which will join all files from different matrix jobs in a single zip-file. The only custom thing this job needs is something to determine the build matrix.

The core commands for this workflow are:

  • brew test-bot --only-cleanup-before;
  • brew test-bot --only-setup;
  • brew test-bot --only-formulae ${{ matrix.formula }}.
    Install, test and bottle the formula.

CLI

changed

Get formulae changed between Git commits, between startCommit and endCommit.

create

Create formulae from their configurations.

  • Option to update existing formulae.

list

List formulae

update

Update formulae from their configurations, keeping the bottle information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.