Commit Graph

88 Commits

Author SHA1 Message Date
Tianon Gravi e4353713d2 Facepalm 2016-06-08 10:24:53 -07:00
Tianon Gravi 9a6109687d First attempt to unstick Windows 2016-06-08 10:23:58 -07:00
Tianon Gravi 446e368fe1 Add support for "--pull always", "--pull missing", and "--pull never" (replacing "--pull-missing") 2016-06-07 16:40:52 -07:00
Tianon Gravi bed693c79a Auto-upgrade "git://github.com/..." to "https://github.com/..." (with a warning) 2016-06-07 16:14:30 -07:00
Tianon Gravi 60f6f6dd9e Apply constraints during "tag" and "push" (since they're only useful after "build", at least currently) 2016-06-07 12:24:01 -07:00
Tianon Gravi 19621bf245 Add extra output when we're "Using" an older dockerCacheHash, even if we didn't need to build it 2016-06-06 16:30:10 -07:00
Tianon Gravi a48a191751 Also remove "-f" from "docker tag" (since it's deprecated in 1.10+ and removed in 1.12+) 2016-06-06 11:37:54 -07:00
Tianon Gravi 41c7a5952f Explicitly note that Docker 1.10+ is required for the new Bashbrew
This is especially thanks to https://github.com/docker/docker/issues/15785 and thus c8cc4fb8d9.
2016-06-06 10:41:10 -07:00
Tianon Gravi 5b00dc4395 Add a "--repos" flag to "bashbrew list" to prefer to list only repos 2016-06-03 14:29:26 -07:00
Tianon Gravi 2068a11e02 Fix "bashbrew list --uniq --build-order alpine:latest alpine:3.3" (to properly list two tags instead of just one) 2016-06-03 14:28:40 -07:00
Tianon Gravi 3538a9d438 Rename "--verbose" to the more-apt "--debug", and adjust "docker build" to _always_ capture output (expect when debug mode is enabled and it's piped directly to the user) so that it can be included in the error response if the build fails 2016-06-03 12:15:55 -07:00
Tianon Gravi c83bafa7a7 Don't pull scratch 2016-06-03 11:01:23 -07:00
Tianon Gravi 9e49f3ed54 Use cli's "MultiError" construct to provide useful context for top-level cmd-*.go errors 2016-06-03 10:23:09 -07:00
Tianon Gravi e5d3901d84 Add a "--format-file" flag to "bashbrew cat" which overrides "--format" with the contents of a file (and add more useful functions to our template processing) 2016-06-03 10:23:09 -07:00
Tianon Gravi 54b895bfb1 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 14f9a93796 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 6621da8aac Add a simple initial "bashbrew" Dockerfile 2015-10-15 16:38:20 -07:00
Tianon Gravi 98c5d8cfe6 Fix a minor issue with "git-set-mtimes" on a dirty working tree 2015-07-29 15:17:21 -07:00
Tianon Gravi bd63adf3b7 Adjust the bashbrew README to be closer to the truth 2015-06-01 15:45:37 -07:00
Tianon Gravi 8e5d85dc7e Fix "$gitDir" being allowed to be the empty string 👼 2015-04-22 11:41:40 -06:00
Tianon Gravi fbe0b0e47f 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 5aabe0b5be 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 2f0fbee231 Add uniq option to bashbrew 2015-03-27 16:42:00 -07:00
Tianon Gravi 80748c209c Apply markdownfmt to bashbrew/README.md 2015-03-13 16:23:12 -06:00
Tianon Gravi 22a64a3e89 Delete empty log files
This prevents "bashbrew/logs/latest/list-.....".
2015-03-04 17:09:01 -07:00
Tianon Gravi 081a9194bb Update travis.sh to full test master each merge 2015-02-19 16:41:06 -07:00
Tianon Gravi 2ac2190f01 Remove --namespaces from Travis because it's the default now 2015-02-19 16:29:03 -07:00
Tianon Gravi 24590577c9 Fix some minor issues in bashbrew.sh
Double quotes and indented heredocs!
2015-02-13 17:14:12 -07:00
Tianon Gravi fafcbfa3f5 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 1bfae8b547 Use "xargs -n1" on dirname since some versions don't support multiargs 2015-01-27 11:46:58 -07:00
Tianon Gravi d2954894e7 Add a trap for Ctrl+C 2015-01-21 11:27:22 -07:00
Peter Salvatore e959cb42f1 change default --namespaces to '_' 2015-01-16 21:20:28 -05:00
Tianon Gravi a8719d577b 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 f44eab6388 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 760bc6bd72 Fix log append in push logic
`&>` vs `&>>`
2015-01-13 15:32:32 -07:00
Tianon Gravi 166a52934b Adjust bashbrew to fail on dups 2014-12-31 23:21:13 -07:00
Tianon Gravi f69ffa8e4f Update "docker tag" usage to use "-f" 2014-12-24 10:08:37 -07:00
Tianon Gravi 1a0f624c3e Add explicit error handling in more places 2014-12-23 15:59:29 -07:00
yosifkit 2d4e8fea07 Merge pull request #359 from infosiftr/update-travis
Travis Needs Love Too (TNLT)
2014-12-22 15:46:41 -08:00
Tianon Gravi e127893b7f Move subcommand checking down so we can "bashbrew --help" without errors 2014-12-19 16:57:24 -07:00
Tianon Gravi be008eaf77 Use $(basename $0) in usage instead of raw $0 so it's prettier 2014-12-19 16:57:05 -07:00
Tianon Gravi 036c87fee2 Travis Needs Love Too (TNLT) 2014-12-19 16:51:47 -07:00
Tianon Gravi ecdc95f4c9 Change a few minor nits in bashbrew.sh 2014-12-17 12:44:20 -07:00
Tianon Gravi eb530e9b79 Add new deprecated.sh that wraps both build.sh and push.sh with a nice warning 2014-12-16 17:54:20 -07:00
Joe Ferguson c133784c6d Fix usage ordering, logs are now common to build and push 2014-12-16 13:47:38 -08:00
Joe Ferguson d96df73185 Feed /dev/null to Username prompt to fix hang when not logged in 2014-12-16 13:29:08 -08:00
Joe Ferguson 9318c9a41f Finish combining to one script, make nifty helpers 2014-12-16 13:17:06 -08:00
Joe Ferguson 0c8a366888 Combining build.sh with push.sh 2014-12-15 15:50:39 -08:00
Tianon Gravi af7db8287f Fix Travis "bashbrew/" change detection 2014-12-11 14:26:40 -07:00
Tianon Gravi 2e52e156bf Add new Travis stuff so PRs only test the bits that have changed 2014-12-09 14:36:14 -07:00