Commit Graph

7 Commits

Author SHA1 Message Date
Marcin Grzejszczak
e9d0c7502e Breaking the exception cycle 2020-11-09 10:49:18 +01:00
Marcin Grzejszczak
731d68ef50 Updated exit codes and guarded against no projects to run
- exit code for build unstable resulted in batch being failed - migrated to completed build status and manually checks the execution result
- added a guard against no projects to run when marking the run post release tasks only option

Fixes gh-190, gh-191
2020-03-05 18:35:07 +01:00
Simon Baslé
188c079bd6 Improvements to common build and new Reactor task (merge with rebase) (#183)
* Reactor: For reference, mention additional inputs in app properties

* Polish: fix javadoc copypasta and mark potential problem in GitRepo

* Common: Expose method for git log (list revisions between 2 refs)

* Common: Only post-process RtGithub beans into CachingGithub

* Common: Make Sagan noOp if property is not explicitly set

* Common: Fix Process command executor outputting to app's stdout

This prevents the command executor from capturing the command's output.

* Common: Fix findTagOrBranchHeadRevision and log

In findTag... we need to compare name using refs/tags/
and refs/heads/ prefixes.

In log we need to peel symbolic tags to get the right
ObjectId. Optional.map did seem to cause issues.

* Common: Add isMergeCommit to SimpleCommit

* Common: Add method to find tag SHA by name

* Common: Polish how exit codes are generated and used

* Common: Add BuildReportHandler to show report earlier than last step

This commit also filters out tasks that haven't run yet, avoiding
NPE due to endTime being null.

* Reactor: restart task should not be part of dry-runs

* Reactor: Alter Gradle build command to include bumpVersionsInReadme task

* Reactor: Add GenerateReleaseNotesTask

Also added partial tests for the task.

Avoids generating notes if snapshot, mark as pre-release if milestone
or rc.

* Reactor: Split out configurations and use profiles for test

* Reactor: Fix org in application.yml

* Reactor: Fix some formatting

* Reactor: Force github OAuth token at Github client creation

* Reactor: Split parseChangelog into several more testable methods

* Reactor: Let interactive GenerateReleaseNotesTask force a log range

* Reactor: Allow multiple dispatch of note entries

Switching from a single TYPE to an EnumSet

* Reactor: Extract issue numbers in title too just in case

* Reactor: Fix alternative titles markdown and description

Also better protect agains Github client failures when
fetching more info like title and labels.

* Reactor: Polish format (newlines) in tag input, notes output

* Reactor: Check tag exists but not release. Check on SHA1

* Reactor: Make checks we can save notes draft BEFORE querying commits

* Reactor: Attempt to find existing release draft (max 2 month old), avoid unnecessary calls

If an existing draft is found, append notes to it.

* Reactor: Ask only for "from" change for interactive log/release notes
2020-01-22 10:44:59 +01:00
Marcin Grzejszczak
0506113ee7 Fixed
- not breaking the build when a release task has failed
- added skipped state of task
2020-01-21 13:39:11 +01:00
Marcin Grzejszczak
7e5d225a7e Should not throw an exception from batch 2019-12-28 14:07:45 +01:00
Marcin Grzejszczak
b8d17b6dc8 Catching execution result 2019-12-28 13:49:38 +01:00
Marcin Grzejszczak
8992e45321 Refactoring to batch (#181)
The rationale of this pull request is to

* have more maintainable and granular code
* not maintain the custom made job engine
* allow the users to customize the defaults of the releaser more easy
* allow the users to create their own steps without the need to change any existing code
* allow the users to fully change the flows and tasks logic
* abstract underlying batch mechanism (Spring Batch) so it doesn't leak to production code
* allow parallelization of the release process and release tasks
2019-12-23 13:49:58 +01:00