Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(index): handle error when posting new tags
Previous behavior was based on the use of `Q.allSettled`, which does not distinguish between a successful promise, or a rejected promise. Therefore, even if `conventional-gitlab-releaser` failed to post a new GitLab Release page, `conventional-gitlab-releaser` would still call the callback without an error, thereby causing consumers to assume everything succeeded. New behavior is based on the use of `Q.all`, which will distinguish between a fulfilled promise and a rejected promise. Therefore we can register a `then` callback for success, and a `catch` callback to handle the first promise that fails. Concern: Because we make POST requests for new tags concurrently, some tags, and their respective Release pages, may be successfully created on GitLab, yet `conventional-gitlab-releaser` could still report failure if even a single POST request fails. That could leave the process of creating tags in an undesired state. Long-term, perhaps we should cleanup all created tags if a single request fails so that we leave the target project in a clean state. (Though we need to also consider that tag creation may automatically trigger other downstream processes; such as CI). Fixes #3
- Loading branch information