Commit Graph

31 Commits

Author SHA1 Message Date
Tianon Gravi 04fb217d5a Ditch the vendor/ directory
Go modules are pretty good at finding the right source, so let's just trust them to do so instead of keeping our own local copy.
2020-05-06 11:24:14 -07:00
Tianon Gravi 169d5a8913 Fix the ability to use "bashbrew.sh" from any working directory 2020-04-24 13:53:45 -07:00
Tianon Gravi 61ca39fc4f Add explicit binary version and resurrect "bashbrew.sh" for helping users compile from source 2020-04-24 13:26:39 -07:00
Tianon Gravi 5425126232 Move Go code to root of the repo 2020-04-24 11:48:08 -07:00
Tianon Gravi 73d98151b5 First attempt to fix Travis (force Go modules "on") 2019-03-28 21:39:21 -07:00
Tianon Gravi d5559299cf Port bashbrew to use Go modules instead of GB
Something in here also fixes the "missing build output on error" bug we've been seeing on Jenkins (see https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/rabbitmq/184/console for example).
2019-03-28 15:45:12 -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 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 22a64a3e89 Delete empty log files
This prevents "bashbrew/logs/latest/list-.....".
2015-03-04 17:09:01 -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 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
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 ecdc95f4c9 Change a few minor nits in bashbrew.sh 2014-12-17 12:44: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