- Introduce
App#in_directory_fork
for safe execution of code that might mutate the process env vars (heroku#65)
- Fix deadlock when a single process kills the same app twice (heroku#63)
- Add ability to debug deadlock with
HATCHET_DEBUG_DEADLOCK
env var.
- Fix logic in rake task (heroku#62)
- Fix syntax in rake task (heroku#61)
- Allow overriding of all App#run options, including option removal (by passing
Hatchet::App::SkipDefaultOption
as the value)
- Fix
hatchet destroy
calling class from wrong module - Fix
hatchet destroy
not passing rate limited API to Reaper - Fix undeclared variable in
App#create_app
rescue block - Fix race condition in
Reaper#cycle
triggering 403s in API, causing test failures - Allow configurable app name prefix (default "hatchet-t-") via
HATCHET_APP_PREFIX
env var
- Exit code is now returned from
app.run
commands (heroku#58) - ci_setup.rb no longer emits an error when run on
sh
(heroku#57)
- Setup script
hatchet ci:setup
added (heroku#55)
- Allow for using locally checked in repo and skip the hatchet.lock dance (heroku#53)
- Allow setting config when object is initialized (heroku#52)
- Introduce explicit
before_deploy
block that is called, well...before deploy happens. If any changes are made to disk at this time then contents are committed to disk (heroku#51) - Allow running
deploy
block inside of anin_directory
block (heroku#51) - Introduce Hatchet::App#commit! that will commit any files to a repo in the current directory. (heroku#51)
- Support for running Hatchet tests on Heroku CI by defaulting to
ENV['HEROKU_TEST_RUN_BRANCH']
(#48)
- Rate limit Heroku CI
- Introduce API rate limiting (#46)
- Deprecate App#platform_api method (#46)
- Better errors when no lockfile is found #43
- Introduce a lockfile #42
- Fix double delete error #41
- Require
mktmpdir
in the right place.
- Remove Heroku constants
- SSH no longer needed for travis setup
- Remove Heroku.rb dependency
- Use https for git clones
- Can pass in multiple buildpacks to constructor
- app#update_stack() added
- Can pass stack into constructor
- Added
Hatchet::App.default_buildpack
- Use v3 of the Heroku API because Heroku is deprecating v2
- Fix CI support to include multi nodes of output.
- Do not require super user access
- Use actual email address instead of example
- Support for Heroku CI added
- Removed support for Anvil
- Shell commands now escaped automatically
- The App#setup! method now automatically tries to reap unused apps if the request fails.
- Default app deploy type is now :git
- Return self from setup!
- Re-push of 1.3.5 with actual commits.
- Ensure travis box has an SSH key
- Ignore when we try to delete an app that does not exist
- Apps are lazily reaped for easier debugging
- Verbose output by default for easier debugging
- App#run interface now matches ReplRunner
- Fix dependencies
hatchet install
now clones and pulls in parallel threadsrake travis:setup
now ensures a git email and name is set
- Remove debug puts
- Change
App#push
default behavior to beApp#push_with_retry!
App#in_directory
now copies source repo to tmpdir so it can be modified if needed- Repo name now shows up in error outputs.
- Use TRAVIS_BRANCH if present
- Do not check git branch unless using GitApp
- Add labs methods
App#set_labs!
andApp.new(labs: "websockets")
App#setup!
is now idempotent- Added
App#get_config
- Added
App#set_config
- Add
App#in_directory
to public API
- Bugfix: Eliminate race condition around running multiple travis builds at the same time
- Bugfix: use clean bundler env when setting up travis.
- Bugfix: test setup on travis now works correctly
- Ensure external commands run inside of
bundle_exec
block are run with propper environment variables set.
- Added
Hatchet::Runner
which can dynamically swap the backend (anvil/git) depending on the value of ENV['HATCHET_DEPLOY_STRATEGY'] you can use 'anvil' or 'git'.
- Move remote console running code to https://github.com/schneems/repl_runner This changes the API for running interactive code. README has been updated
-
Add database method App#add_database
-
Drastically improved reliability of
app.run
outputs. -
Add
rake hatchet:teardown_travis
task to put intravis.yml
:after_script: bundle exec rake hatchet:teardown_travis
- Allow auto retries of pushes by setting environment variable
HATCHET_RETRIES=3
- Failed deploys now raise an exception, to ignore set
allow_failure: true
in theHatchet::App
- Added ability to run inline commands with no block (such as
app.run('ruby -v')
)
- Initial Release