-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[close #92] Fail on release failure #93
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When a release fails to execute the app is never deployed, for example if you were to run: ```ruby git push heroku master && heroku run ls ``` Both commands will run, but `heroku run ls` will be empty since the release never finished. This creates weird to debug hatchet tests as the deploy will work but any subsequent `app.run(<cmd>)` will fail in strange ways. This PR seeks to make this behavior more explicit, by explicitly failing on an incomplete release. This is a breaking change so it's a major version bump.
schneems
force-pushed
the
schneems/fail-on-release-fail
branch
from
July 27, 2020 20:25
ce09441
to
6be68d1
Compare
hone
approved these changes
Jul 29, 2020
schneems
added a commit
to heroku/heroku-buildpack-python
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93)
schneems
added a commit
to heroku/heroku-buildpack-php
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93)
edmorley
pushed a commit
to heroku/heroku-buildpack-python
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93) [skip changelog]
schneems
added a commit
to heroku/heroku-buildpack-jvm-common
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93)
schneems
added a commit
to heroku/heroku-buildpack-scala
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93)
schneems
added a commit
to heroku/heroku-buildpack-clojure
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93)
schneems
added a commit
to heroku/heroku-buildpack-java
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93)
schneems
added a commit
to heroku/heroku-buildpack-nodejs
that referenced
this pull request
Aug 11, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93)
dryan
pushed a commit
to dryan/heroku-buildpack-python
that referenced
this pull request
Nov 19, 2020
- ActiveSupport's Object#blank? and Object#present? are no longer provided by default (heroku/hatchet#107) - Remove deprecated support for passing a block to `App#run` (heroku/hatchet#105) - Ignore 403 on app delete due to race condition (heroku/hatchet#101) - The hatchet.lock file can now be locked to "main" in addition to "master" (heroku/hatchet#86) - Allow concurrent one-off dyno runs with the `run_multi: true` flag on apps (heroku/hatchet#94) - Apps are now marked as being "finished" by enabling maintenance mode on them when `teardown!` is called. Finished apps can be reaped immediately (heroku/hatchet#97) - Applications that are not marked as "finished" will be allowed to live for a HATCHET_ALIVE_TTL_MINUTES duration before they're deleted by the reaper to protect against deleting an app mid-deploy, default is seven minutes (heroku/hatchet#97) - The HEROKU_APP_LIMIT env var no longer does anything, instead hatchet application reaping is manually executed if an app cannot be created (heroku/hatchet#97) - App#deploy without a block will no longer run `teardown!` automatically (heroku/hatchet#97) - Calls to `git push heroku` are now rate throttled (heroku/hatchet#98) - Calls to `app.run` are now rate throttled (heroku/hatchet#99) - Deployment now raises and error when the release failed (heroku/hatchet#93) [skip changelog]
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a release fails to execute the app is never deployed, for example if you were to run:
Both commands will run, but
heroku run ls
will be empty since the release never finished. This creates weird to debug hatchet tests as the deploy will work but any subsequentapp.run(<cmd>)
will fail in strange ways. You can see an example of a failure in #92.This PR seeks to make this behavior more explicit, by explicitly failing on an incomplete release. This is a breaking change so it's a major version bump.