mono_repo
CLI tools to make it easier to manage a single source repository containing multiple Dart packages.
6.7.2
2.5K downloads/mo
#4925 most downloaded on pub.dev
google/mono_repo.dart
What this package is like to depend on
Last release 22 days ago
01 Aug 2026
Ships unpredictably
gaps range from 9 days to 1.4 years
Nearly every release is documented
notes for 64 of 64 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
70 releases · first in 2017
3 releases in the last 12 months
see the full history below
Release timeline
70 releases · Oct 2017 to Aug 2026Releases
latest 60 of 70-
6.7.201 Aug 2026 -
6.7.117 Jul 2026 -
6.7.017 Jul 2026 withdrawnRelease notes
Open source →- Add
persist-credentials: falseto the checkout action. - Update to latest action versions.
Release notes
Open source →- Add
persist-credentials: falseto the checkout action. - Update to latest action versions.
- Add
-
6.6.309 Mar 2025 -
6.6.219 Jul 2024Release notes
Open source →- Require Dart
sdk: ^3.4.0. - Populate
tokenforcodecovaction.
(Requires the user to provideCODECOV_TOKENin their secrets.) - Update to latest action versions.
Release notes
Open source →- Require Dart
sdk: ^3.4.0. - Populate
tokenforcodecovaction. (Requires the user to provideCODECOV_TOKENin their secrets.) - Update to latest action versions.
- Require Dart
-
6.6.109 Nov 2023Release notes
Open source →- Update to latest action versions.
- Remove usage of removed
flutter formatcommand in the generatedtool/ci.shfile.
-
6.6.026 Sep 2023Release notes
Open source →- Added the
dartcommand to run arbitrary dart commands across all packages. - Require the 3.0.0 Dart SDK.
Release notes
Open source →- Added the
dartcommand to run arbitrary dart commands across all packages. - Require the 3.0.0 Dart SDK.
- Added the
-
6.5.725 May 2023Release notes
Open source →parse action versions out of workflow files (#420)
- parse action versions out of workflow files when the versions in that action file are managed by dependabot
This will allow us to configure dependabot version upgrades for repos that use mono_repo to generate (and re-generate) their actions configurations.
Code generate the hard coded versions from our own workflow file so that dependabot can manage that as well.
Release notes
Open source →- Updated
mono_repoto use the existing action versions from the generated workflow file when dependabot is configured for the repo.
- Updated
-
6.5.615 May 2023Release notes
Open source →- Restore the previous ordering behavior for jobs by using a secondary sort
based on the insertion order (this matches the listed configuration order).
Release notes
Open source →- Restore the previous ordering behavior for jobs by using a secondary sort based on the insertion order (this matches the listed configuration order).
- Restore the previous ordering behavior for jobs by using a secondary sort
-
6.5.502 May 2023 -
6.5.401 May 2023 -
6.5.301 Apr 2023Release notes
Open source →- Updated
actions/cacheandsubosito/flutter-actionto the latest versions.
- Updated
-
6.5.222 Mar 2023Release notes
Open source →- Updated
actions/cache,actions/checkout, anddart-lang/setup-dartto the latest versions.
- Updated
-
6.5.101 Mar 2023 -
6.5.001 Feb 2023Release notes
Open source →- Support for generating dependabot configurations.
- Updated
actions/cache,actions/checkout, anddart-lang/setup-dartto the latest versions.
-
6.4.302 Jan 2023Release notes
Open source →- Updated
actions/cacheandactions/checkoutto latest versions. - Require at least Dart >= 2.18.0
- Updated
-
6.4.217 Oct 2022Release notes
Open source →- Updated
actions/cache,subosito/flutter-action, andactions/checkoutto latest versions.
- Updated
-
6.4.103 Oct 2022Release notes
Open source →- Updated
actions/cache,subosito/flutter-action, andcoverallsapp/github-actionto latest versions.
- Updated
-
6.4.002 Sep 2022Release notes
Open source →- Added support for
test_with_coverage. Usespackage:coverageand supports Coveralls (the default) and Codecov to track test code coverage. - Added support for
pubspecas an CI target for Dart packages. When used, the lower-bound of the support SDK range is used. - Added
--verboseflag. Helps when debugging failures. - Updated
actions/checkout,actions/cache, andsubosito/flutter-actionto latest versions.
- Added support for
-
6.3.023 Jun 2022Release notes
Open source →- Update to
subosito/[email protected]. - Require at least Dart >= 2.17.0
- Add the
listandreadmecommands. - Update GitHub actions to use hashes instead of version numbers
- Add read-only permissions to actions by default
- Soften detection of a Flutter package. Remove check for
flutterkey inpubspec.yaml.
- Update to
-
6.2.228 Apr 2022 -
6.2.112 Apr 2022Release notes
Open source →- Use
flutter analyzeinstead ofdart analyzefor flutter package analyze actions. This fixes an issue where analyze jobs could get merged across dart and flutter packages, which caused the flutter jobs to fail.
- Use
-
6.2.001 Apr 2022 -
6.1.002 Mar 2022Release notes
Open source →- Drop restriction on stages named "test" – only applied to Travis-CI which is no longer supported.
- Fix the
pubcommand on Windows. - Update to
subosito/[email protected]. - Update to
actions/[email protected].
-
6.0.003 Dec 2021Release notes
Open source →- BREAKING Replaced the
dartconfiguration key withinmono_pkg.yamlwithsdk. It now covers the Dart or Flutter version to be used for a given package - depending on if the package is determined to be a Flutter package by the contents ofpubspec.yaml. - Added support for Flutter using
Flutter action. The
sdkvalue frommono_pkg.yamlconfigures thechannelsetting. Supported values are currently "master", "beta", and "stable". (Support for explicit versions may be added later.)
- BREAKING Replaced the
-
5.0.524 Nov 2021Release notes
Open source →- Use latest
actions/[email protected]. - Use latest
actions/[email protected].
- Use latest
-
5.0.418 Oct 2021 -
5.0.311 Oct 2021Release notes
Open source →- Trim GitHub CI cache keys to 512 characters.
- Use latest dart-lang/setup-dart v1.3.
-
5.0.228 Jul 2021 -
5.0.120 Jul 2021 -
5.0.016 Jun 2021Release notes
Open source →- BREAKING Drop support for Travis-CI.
- Change calls from
pubtodart pubwithin generated scripts. - Support and encourage up-to-date task names:
analyzeinstead ofdartanalyzerformatinstead ofdartfmt.
-
4.1.004 Jun 2021Release notes
Open source →- Improve the stability of ordering in Github workflow definitions.
- Use latest
actions/[email protected]. - Migrate to new command pattern supported in Dart 2.10
pubcommand- Now allows any
pubcommand and argument combination to be provided. - Dropped
--no-precompilesince it is now the default. - Now prints a summary of execution progress. Useful for repositories with many packages.
- Now allows any
-
4.0.012 May 2021Release notes
Open source →- Use
FLUTTER_HOME, if it exists, when using thepubcommand. - Use
flutter[.bat]instead ofpub[.bat]in generatedtool/ci.sh. - Migrate code to null safety.
- Require Dart 2.12.
- Use latest
actions/[email protected]. - Use latest
actions/[email protected].
- Use
-
3.4.704 Mar 2021Release notes
Open source →- Use the latest
dart-lang/[email protected]. - Normalize Dart SDK configurations. Throw on duplicate SDKs. Sort SDKs to maintain stable output.
- Use the latest
-
3.4.620 Jan 2021Release notes
Open source →- Fix a bug in
3.4.5with incorrectly configuring the Dart SDK when a semantic version is provided.
GitHub Actions
- Fix a bug in
-
3.4.519 Jan 2021Release notes
Open source →GitHub Actions
- Move to use dart-lang/setup-dart to
setup the Dart SDK.
- Remove explicit
dart --versioncall. This is handled in the new action.
- Remove explicit
- Move to use dart-lang/setup-dart to
setup the Dart SDK.
-
3.4.414 Jan 2021Release notes
Open source →GitHub Actions
- Always run
pub upgrade|getsteps if checkout succeeds. This ensures that tests runs for all packages, even if one package test fails in the same job.
- Always run
-
3.4.317 Dec 2020Release notes
Open source →GitHub Actions
- Adds
always() &&toifcondition for steps. This makes them run even if other steps failed instead of being skipped.
- Adds
-
3.4.210 Dec 2020Release notes
Open source →GitHub Actions
- Fix
needsconfig to depend on all previous jobs from all stages instead of just the previous stage. This fixes issues with skipped stages causing subsequent stages to not properly respect certainifconditions.
- Fix
-
3.4.108 Dec 2020 -
3.4.003 Dec 2020Release notes
Open source →- Configuring the target Dart SDK:
- Allow specifying specific
devreleases. - Allow specifying just
beta.
- Allow specifying specific
- Shorten the generated names for a job if a given component of the name is identical for all tasks. Makes it easier to read the names in the GitHub Action UI.
GitHub Actions
- Stop using
tool/ci.sh. It won't be created when using only GitHub Actions. - Detect running on Windows on GitHub without setting an extra environment variable.
- Separate job commands into a step for each. This makes it easier to see exactly what commands were ran on what packages, as well as their individual status and output.
- Configuring the target Dart SDK:
-
3.3.025 Nov 2020Release notes
Open source →- Implemented proper support for
stagesin github actions. Jobs will now be dependent on previous stages jobs. Conditional stages are also supported in the same manner as travis was, see the README.md for more details.
- Implemented proper support for
-
3.2.024 Nov 2020Release notes
Open source →- Added support for
on_completionjobs in github configuration, see theREADME.mdfor details. This allows you to configure things like webhooks after failed builds, or publishing after successful builds.
- Added support for
-
3.1.024 Nov 2020Release notes
Open source →- Added support for GitHub Actions. See
README.mdfor details. - Added the
generatecommand, since we know support more than one CI provider.- Deprecated the
traviscommand.
- Deprecated the
- Small improvement to how some strings are emitted in Yaml.
- Added support for GitHub Actions. See
-
3.1.0-beta.420 Nov 2020 pre-releaseNothing published for this version
-
3.1.0-beta.318 Nov 2020 pre-releaseNothing published for this version
-
3.1.0-beta.218 Nov 2020 pre-releaseNothing published for this version
-
3.1.0-beta.114 Nov 2020 pre-releaseNothing published for this version
-
3.1.0-beta13 Nov 2020 pre-releaseNothing published for this version
-
3.0.022 Oct 2020Release notes
Open source →mono_repo.yaml:- NEW! Added support for
pub_actionvalue. Can be one ofgetorupgrade(default) to change the package request behavior in each action. - NEW! Added support for
pretty_ansivalue. The default istrue. Set tofalseto have the generated shell script skip any ANSI formatting. - UPDATED
self_validatecan now be eithertrueor a String value that maps to the desired stage where validation should run.
- NEW! Added support for
traviscommand:- Many improvements to the generated
tool/travis.shfile- Clearly denote when terminating a job due to incorrect usage or configuration.
- Clearly mark the end of each task and if it succeeded or failed.
- Print a summary at the end of the tasks for each package to make it easier to find and fix failures.
- BREAKING Removed
--use-getcommand-line flag. Usepub_actionsetting inmono_repo.yamlinstead. - BREAKING Removed
--pretty-ansicommand-line flag. Usepretty_ansisetting inmono_repo.yamlinstead. - Simplified generated configuration for
self_validate. 'tool/mono_repo_self_validate.sh' is no longer created or used. When upgrading fromv2.5.0, you can delete this file.
- Many improvements to the generated
-
2.5.016 Oct 2020Release notes
Open source →- Provide a better error when parsing a poorly formatted Yaml file.
mono_repo.yaml:- NEW! Added support for
self_validateboolean value. Iftrue, creates a shell script and associated task to install the same version ofmono_repoduring CI and runmono_repo travis --validateto ensure all files are up-to-date. - Respect the ordering of
stages, if configured. - Allow
stagesvalues to be just a string – allows defining an explicit ordering of stages.
- NEW! Added support for
mono_pkg.yaml:- Task
commandentry: correctly handle aListcontaining strings.
- Task
-
2.4.008 Oct 2020Release notes
Open source →-
Adds a
--validateoption to thetraviscommand.-
You can configure this to run from any of your
mono_pkg.yamlfiles using a command job like this:command: "cd ../ && pub global run mono_repo travis --validate". -
We may make this easier to configure in the future.
-
-
Require Dart SDK
>=2.7.0 <3.0.0.
-
-
2.3.007 Oct 2019Release notes
Open source →- Add support for
osconfiguration.- This generally works in the same way as the
dartsdk option, except that it is not required. - The default is to only run on
linux. - Supports a top-level
oslist inmono_pkg.yamlfiles. - Supports overriding the
osper task.
- This generally works in the same way as the
- Add support for
-
2.2.003 Sep 2019Release notes
Open source →- Fix issue where
pubcommand failing for one package stops test run for other packages grouped into the same Travis task. - Use
flutter packagesforpubcommand on packages that depend on Flutter. - Any arguments given to
dartfmtTravis tasks are used instead of the default-n --set-exit-if-changed ..- To maintain previous behavior,
dartfmt: sdkis a special case and still triggers the default arguments.
- To maintain previous behavior,
- Add
--use-getoptional flag for thetraviscommand to usepub getinstead ofpub upgradein the generated script.
- Fix issue where
-
2.1.023 Apr 2019Release notes
Open source →- Require Dart SDK
>=2.2.0 <3.0.0.
mono_repo travis- Job entries in
.travis.ymlare now ordered. This may cause churn, but will create a predictable output going forward. - While running, print the package when starting each task. Makes it easy to scan results when a job has multiple packages.
- Warns if a job specifies a target Dart SDK that is not supported in the
corresponding
pubspec.yaml.
mono_repo pub- Added support for all
pubflags.
- Require Dart SDK
-
2.0.001 Apr 2019Release notes
Open source →- BREAKING All commands are recursive by default. To go back to the shallow
mode, use
--no-recursive. - Improve style of the generated
tool/travis.shscript, including fast-failing if thePKGvariable does not map to an existing directory. - Require at least Dart 2.1.0.
- The
dartkey is no longer required inmono_pkg.yamlif all stages specify their own values. A warning is printed if values are provided but not used. - All output during execution will be sent to STDOUT (instead of STDERR).
- BREAKING All commands are recursive by default. To go back to the shallow
mode, use
-
1.2.212 Mar 2019 -
1.2.108 Oct 2018 -
1.2.024 Sep 2018Release notes
Open source →- Add
--versionto executable. - Include the version of the package in generated files.
- Support customizing Travis-CI
branchesinmono_repo.yaml.
- Add
-
1.1.030 Aug 2018Release notes
Open source →- Improve presubmit command output to list the full command for each task instead of the name of the task type only.