- Introduce
App#in_directory_forkfor 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_DEADLOCKenv 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::SkipDefaultOptionas the value)
- Fix
hatchet destroycalling class from wrong module - Fix
hatchet destroynot passing rate limited API to Reaper - Fix undeclared variable in
App#create_apprescue block - Fix race condition in
Reaper#cycletriggering 403s in API, causing test failures - Allow configurable app name prefix (default "hatchet-t-") via
HATCHET_APP_PREFIXenv var
- Exit code is now returned from
app.runcommands (heroku#58) - ci_setup.rb no longer emits an error when run on
sh(heroku#57)
- Setup script
hatchet ci:setupadded (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_deployblock 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
deployblock inside of anin_directoryblock (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
mktmpdirin 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 installnow clones and pulls in parallel threadsrake travis:setupnow ensures a git email and name is set
- Remove debug puts
- Change
App#pushdefault behavior to beApp#push_with_retry! App#in_directorynow 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_directoryto 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_execblock are run with propper environment variables set.
- Added
Hatchet::Runnerwhich 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.runoutputs. -
Add
rake hatchet:teardown_travistask 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: truein theHatchet::App
- Added ability to run inline commands with no block (such as
app.run('ruby -v'))
- Initial Release