Commit Graph

117 Commits

Author SHA1 Message Date
David Zuelke d943f5a789 execute build formulae through shell
this prevents the need for chmod +x on formulae

fixes #35
2019-03-25 16:12:17 -07:00
David Zülke 00863664ac allow wildcards in dependencies (#39)
Example:

That would fetch the latest S3_PREFIX/php-7.3.*.tar.gz as a dependency
2019-03-25 16:12:01 -07:00
Casey 0fc6774fe1 Merge pull request #36 from heroku-python/pypi-homepage
Update repo URL in setup.py
2018-11-07 12:00:56 -06:00
Casey Faist 9fd97abe5e update author to Heroku v0.0.14 2018-11-07 11:59:12 -06:00
David Zülke 19c144a785 Update repo URL in setup.py
So PyPI.org points to the right place. Bumped version too.
2018-11-07 18:57:03 +01:00
Ed Morley e30c2e53ef v0.0.13 v0.0.13 2017-05-30 23:38:16 +01:00
kennethreitz 3c4f7f0822 Merge pull request #33 from edmorley/flake8
Add a basic Travis configuration that runs flake8 and 'bob --help'
2017-05-30 18:24:37 -04:00
Ed Morley dea1b170a8 Allow Travis run to fail on Python 3
I'll file a separate issue for adding Python 3 support.
2017-05-30 23:10:07 +01:00
Ed Morley d28bafeba4 Add 'bob --help' to the Travis run
In lieu of having a test suite, this at least ensures the setup.py
`console_scripts` entry is configured correctly, and that basic
CLI and arg functionality works.
2017-05-30 23:02:03 +01:00
Ed Morley 0373ef2b98 Run flake8 on Travis 2017-05-30 22:49:39 +01:00
Ed Morley e838ff0027 flake8 import and whitespace fixes 2017-05-30 22:48:21 +01:00
kennethreitz ace8d61313 Update README.md 2017-05-26 11:49:06 -04:00
kennethreitz 14d968045d Update README.md 2017-05-26 11:48:50 -04:00
kennethreitz 54211376a8 Merge pull request #32 from edmorley/clearer-tmpfile-names
Use clearer file and directory names for build output
2017-05-25 07:28:47 -07:00
kennethreitz 04cc84cccd Merge pull request #28 from edmorley/aws-auth-improvements
Improve UX when AWS credentials are not found or are for another account
2017-05-25 07:28:17 -07:00
Ed Morley 17e68dfd69 Print build directory & upload URL during build/deploy
Previously only the temporary build directory was output, not the
final build output location.

The upload URL is generated using:
http://boto.cloudhackers.com/en/latest/ref/s3.html#boto.s3.key.Key.generate_url

Fixes #10.
2017-05-25 14:03:34 +01:00
Ed Morley 480ba2ecab Fail gracefully if S3_BUCKET is not set
Previously this raised with the unclear:
`TypeError: cannot concatenate 'str' and 'NoneType' objects`
2017-05-25 01:51:16 +01:00
Ed Morley bce1e3509d Make errors output to stderr
Using `print_function` is the cleanest option out of those on:
https://stackoverflow.com/questions/5574702/how-to-print-to-stderr-in-python
2017-05-25 01:51:07 +01:00
Ed Morley 9df32fadee Use clearer file and directory names for build output
This makes it easier to differentiate between the archives for
dependencies and that of the final build output by bob when sifting
through `/tmp/`. The archive type is now also apparent when reading
the console output.

Before:
```
Building formula foo in /tmp/bobrmyuSG:
    ...
Archiving.
/tmp/tmp4JUwdj
Deploying.
...
```

After (when combined with #28):
```
Building formula foo in /tmp/bob-rmyuSG:
    ...
Archiving.
Created: /tmp/bob-build-tmp4JUwdj.tar.gz
Deploying.
...
```
2017-05-24 19:52:00 +01:00
Ed Morley 3f5018c69c Defer S3 connections until Formula instantiation
This prevents unnecessary connections to S3 or resultant error
messages when running `bob --help`.

Fixes #27.
2017-05-24 18:22:17 +01:00
Ed Morley 3cd9532ad2 Support no AWS credentials being found in the environment
This allows the build command to be used with public buckets even
if the user doesn't have their own AWS credentials.

Fixes #26.
2017-05-24 18:22:12 +01:00
Ed Morley 13f3689087 Move S3 connection handling to its own class
This means that the main bucket also benefits from the access denied
`anon=True` fall-back previously only used for the upstream bucket.
This helps with the case where AWS credentials are found, but are
for an account unrelated to either bucket.

Since the main bucket can now fall back to anonymous mode, a check
has been added to the deploy command to improve the UX.

Fixes:
https://github.com/kennethreitz/bob-builder/issues/26#issuecomment-301058112
2017-05-24 18:19:54 +01:00
kennethreitz 6360194c2b Merge pull request #29 from edmorley/unused-deps-imports
Remove unused dependencies and imports
2017-05-12 10:56:54 -04:00
kennethreitz 84030c8518 Merge pull request #30 from edmorley/add-gitignore
Add .gitignore
2017-05-12 10:56:25 -04:00
Ed Morley 6e15af87e0 Add .gitignore
This covers files generated by `pip install -e .` and
`./setup.py sdist bdist_wheel`.
2017-05-12 14:59:33 +01:00
Ed Morley 7053c3e708 Remove unused dependencies and imports 2017-05-12 14:52:32 +01:00
David Zuelke 506a972125 v0.0.12 v0.0.12 2016-12-22 17:19:59 +01:00
David Zülke 5ce25e7b9b Allow fallback to anon UPSTREAM_S3_BUCKET access (#24)
An UPSTREAM_S3_BUCKET should usually allow "Everyone" for listing bucket contents.
If the S3 credentials for the normal bucket do not explicitly have access, a 403 will occur.
In that case, we re-try fetching the upstream bucket with anonymous authentication.
2016-12-22 17:13:58 +01:00
kennethreitz f8c539ebf6 Merge pull request #25 from stof/patch-1
Update the repository URL
2016-07-20 12:59:02 -04:00
Christophe Coevoet 71d8824720 Update the repository URL 2016-07-20 17:04:14 +02:00
David Zuelke 130594f9c6 v0.0.11 v0.0.11 2016-07-05 14:54:11 +02:00
kennethreitz 6edb47c09c Merge pull request #22 from noexng/fix-upstream-s3-bucket
fix setting bucket for upstream
2016-04-28 06:58:25 -04:00
noexng 8b08462b0b fix setting bucket for upstream 2016-04-28 16:54:58 +06:00
David Zülke 683a2d174b v0.0.10 v0.0.10 2016-03-29 22:14:44 +02:00
David Zülke 3ef883e21e fix undefined upstream 2016-03-29 17:25:05 +02:00
David Zülke 34d2899432 Merge pull request #21 from dzuelke/upstream_bucket
UPSTREAM_S3_BUCKET
2016-03-29 15:31:56 +02:00
David Zuelke fc2e325372 UPSTREAM_S3_BUCKET 2016-03-29 12:07:36 +02:00
kennethreitz a1fe32c184 Merge pull request #20 from kennethreitz/dzuelke-mkdir_p-file
Raise in mkdir_p if path is existing file
2016-03-28 16:39:06 -04:00
David Zülke de2a44e310 Clear build_dir before build
Intentionally uses os.path.exists without checking if it's a dir so that if it's a file or link an error is raised and the user sees that they're doing something really wrong somehow, somewhere
2016-03-28 03:09:41 +02:00
David Zülke 00af02bd7c Raise in mkdir_p if path is existing file 2016-03-28 02:58:56 +02:00
kennethreitz 81beff804c Merge pull request #18 from dzuelke/exit
Use sys.exit and fix SIGINT exit code
2016-02-17 00:09:31 -05:00
David Zuelke 21570bb939 programs interrupted by SIGINT must exit with code 130 (128+INT) 2016-02-17 06:07:38 +01:00
David Zuelke 6b4891d719 use sys.exit instead of site.exit 2016-02-17 06:07:38 +01:00
kennethreitz 00a45d8206 Merge pull request #17 from dzuelke/streamsnobuffer
Don't buffer streams and fix stderr
v0.0.8
2016-02-16 16:28:25 -05:00
David Zuelke c669c195db redirect subprocess stderr to stdout 2016-02-16 22:24:37 +01:00
David Zuelke c27f8e6beb do not buffer when relaying process stream data 2016-02-16 21:58:46 +01:00
kennethreitz 8a348e5226 Update setup.py 2016-02-16 14:55:49 -05:00
kennethreitz 9788a39583 Update models.py 2016-02-16 13:53:36 -05:00
kennethreitz c4c1a71641 Update models.py 2016-02-16 13:51:41 -05:00
kennethreitz 89ecb9061f S3_PREFIX-fix for @dzuelke
/
2016-02-16 13:08:58 -05:00