Commit Graph

25 Commits

Author SHA1 Message Date
Tianon Gravi dfc5512318 Convert "bashbrew" to Go and add a new RFC 2822 manifest file format
To satisfy both Windows (https://github.com/docker-library/golang/pull/92) building and "non-AUFS" (https://github.com/docker-library/official-images/pull/1612, https://github.com/docker-library/official-images/pull/1537) building ("build machine" constraints, if you will), an update to the manifest file format is necessary.

To this end, we're introducing a new format which uses RFC 2822, allowing much more expressivity (especially for additional metadata like `Constraints`) and readability.  The new tool also includes backwards compatibility for the older line-based manifest file format, but its usage is discouraged (and we will be slowly converting at least the `docker-library` repos to use the new format in their `generate-stackbrew-library.sh` scripts).

One of the tangential benefits of this conversion is a massive increase in the speed of the tool (`bashbrew list --all` on a very fast system with an SSD and a flaming hot cache used to take ~5s and now takes ~0.012s).
2016-06-03 10:23:09 -07:00
Tianon Gravi 50a535d861 Update bashbrew to fail more directly on missing library files
This works around the busybox "readlink" implementation being slightly different from GNU's which would cause failures without any error output.
2015-11-11 09:42:33 -08:00
Tianon Gravi 54539d39ad Add a simple initial "bashbrew" Dockerfile 2015-10-15 16:38:20 -07:00
Tianon Gravi fea0e192a9 Fix "$gitDir" being allowed to be the empty string 👼 2015-04-22 11:41:40 -06:00
Tianon Gravi 39582210d8 Add "retries" logic for build and push (since sometimes it just needs a little kick and everything works fine) 2015-04-22 11:11:16 -06:00
Tianon Gravi 4a2f22e6a0 Fix a few (but not all) too-complex expressions that won't fail properly with just "set -e" 2015-04-21 22:45:30 -06:00
Joe Ferguson 0a16236a1f Add uniq option to bashbrew 2015-03-27 16:42:00 -07:00
Tianon Gravi 9c3439123d Delete empty log files
This prevents "bashbrew/logs/latest/list-.....".
2015-03-04 17:09:01 -07:00
Tianon Gravi 56ec621efe Fix some minor issues in bashbrew.sh
Double quotes and indented heredocs!
2015-02-13 17:14:12 -07:00
Tianon Gravi e22cea5364 Move MAINTAINERS to the top-level
This also removes the special-case inside bashbrew to ignore `library/MAINTAINERS`.
2015-02-12 16:25:27 -07:00
Tianon Gravi badea764f2 Add a trap for Ctrl+C 2015-01-21 11:27:22 -07:00
Peter Salvatore 3b7ef79179 change default --namespaces to '_' 2015-01-16 21:20:28 -05:00
Tianon Gravi f9fc21ac1d Merge pull request #395 from infosiftr/fix-push-logs
Fix log append in push logic
2015-01-13 15:48:07 -07:00
Tianon Gravi 86871e6051 Add new "bashbrew list" subcommand
This allows us to manipulate/use the repo lists from bashbrew directly in fun ways.

For example, `bashbrew list --namespaces='_' --all | xargs -n1 docker pull`.
2015-01-13 15:35:35 -07:00
Tianon Gravi 237afd7521 Fix log append in push logic
`&>` vs `&>>`
2015-01-13 15:32:32 -07:00
Tianon Gravi 251b54bb3d Adjust bashbrew to fail on dups 2014-12-31 23:21:13 -07:00
Tianon Gravi c6462ff90e Update "docker tag" usage to use "-f" 2014-12-24 10:08:37 -07:00
Tianon Gravi 3101c8f8a3 Add explicit error handling in more places 2014-12-23 15:59:29 -07:00
Tianon Gravi 9c978391f2 Move subcommand checking down so we can "bashbrew --help" without errors 2014-12-19 16:57:24 -07:00
Tianon Gravi 83c679ff73 Use $(basename $0) in usage instead of raw $0 so it's prettier 2014-12-19 16:57:05 -07:00
Tianon Gravi 248ab44fa8 Change a few minor nits in bashbrew.sh 2014-12-17 12:44:20 -07:00
Joe Ferguson c6ee32ead9 Fix usage ordering, logs are now common to build and push 2014-12-16 13:47:38 -08:00
Joe Ferguson 25b8ed0fb4 Feed /dev/null to Username prompt to fix hang when not logged in 2014-12-16 13:29:08 -08:00
Joe Ferguson 6ac7163cf6 Finish combining to one script, make nifty helpers 2014-12-16 13:17:06 -08:00
Joe Ferguson 6426164142 Combining build.sh with push.sh 2014-12-15 15:50:39 -08:00