firehose 0.3.4 copy "firehose: ^0.3.4" to clipboard
firehose: ^0.3.4 copied to clipboard

unlisted

A tool to automate publishing of Pub packages from GitHub actions.

Dart pub package package publisher

What's this? #

This is a tool to automate publishing of pub packages from GitHub actions.

Conventions and setup #

When run from a PR branch, this tool will validate the package pubspecs and and changelogs, and indicate whether the criteria for publishing has been met. Each PR should add a new entry to the changelog and the changelog version and pubspec version should agree.

When run in reponse to a git tag event (a tag with a pattern like v1.2.3 or name_v1.2.3 for monorepos), this tool will publish the indicated package.

Pre-release versions #

Pre-release versions (aka, '1.2.3-dev') are handled specially; this tool will validate the package but will not auto-publish it. This can be used to accumulate several changes and later publish them as a group.

Disabling auto-publishing #

In order to disable package validation and auto-publishing, publish_to: none key to your pubspec (see also https://dart.dev/tools/pub/pubspec#publish_to).

PR branch actions #

For a PR, this tool:

  • determines repo packages
  • validates that there is a changelog entry
  • validates that the changelog version equals the pubspec version

Git tag actions #

In reponse to a git tag event, this tool:

  • validates the tag is well-formed
  • determines the indicated package
  • attempts to publish that package

Mono-repos #

This tool can work with either single package repos or with mono-repos (repos containing several packages). It will scan for and detect packages in a mono repo; to omit packages from validation and auto-publishing, add a publish_to: none key to its pubspec.

For single package repos, the tag pattern should be v1.2.3. For mono-repos, the tage pattern be prefixed with the package name, e.g. foo-v1.2.3.

Integrating this tool into a repo #

  • copy the .github/workflows/publish.yaml file to your repo
  • update that file to invoke this tool via pub global activate (i.e., dart pub global activate firehose; dart pub global run firehose)
4
likes
0
points
2.69k
downloads

Publisher

verified publishertools.dart.dev

Weekly Downloads

A tool to automate publishing of Pub packages from GitHub actions.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

args, collection, path, pub_semver, yaml

More

Packages that depend on firehose