Skip to content

Homebrew/actions

Homebrew's GitHub Actions

Navigate to subdirectories for more information about particular Actions.

Every directory (except node_modules) is a separate Action.

Development

In Actions' subdirectories, there are no separate node_modules directories or package-lock.json files. That's because we try to maintain one top-level dependency stack for all Actions together. To add a new dependency (because some Action requires it), run npm install in root directory of this repository. To update dependencies for all Actions at once, one needs to simply run npm upgrade, while being in root directory of this repository too.

Workflow names match Actions' directory names, for consistency. Particular workflow to test an Action is run only when this Action's directory contents or workflow file are changed. In addition to that, all test workflows will run if package.json or package-lock.json files or node_modules directory are changed.

Please be careful not to start multiple workflow jobs testing the same Action at once, as it may cause a failure, because of the way some Actions are tested.

To test an action locally, first run npm install in the root of this repository, then in the directory of your action, run node main.js. Input variables are specified through the environment. For example, if an Action needed a pull_request input, running export INPUT_PULL_REQUEST=1234 would pass that input to the Node.js script. For Actions that need variables from the GitHub Events API, you'll need to save (or construct) the appropriate JSON file, then set GITHUB_EVENT_PATH to the file's location.