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
This commit is contained in:
committed by
Marcin Grzejszczak
parent
7632b99031
commit
188c079bd6
@@ -93,14 +93,14 @@ class SpringBatchFlowRunner implements FlowRunner, Closeable {
|
||||
JobBuilderFactory jobBuilderFactory,
|
||||
ProjectsToRunFactory projectsToRunFactory, JobLauncher jobLauncher,
|
||||
FlowRunnerTaskExecutorSupplier flowRunnerTaskExecutorSupplier,
|
||||
ConfigurableApplicationContext context,
|
||||
ReleaserProperties releaserProperties) {
|
||||
ConfigurableApplicationContext context, ReleaserProperties releaserProperties,
|
||||
BuildReportHandler reportHandler) {
|
||||
this.stepBuilderFactory = stepBuilderFactory;
|
||||
this.jobBuilderFactory = jobBuilderFactory;
|
||||
this.projectsToRunFactory = projectsToRunFactory;
|
||||
this.jobLauncher = jobLauncher;
|
||||
this.flowRunnerTaskExecutorSupplier = flowRunnerTaskExecutorSupplier;
|
||||
this.stepSkipper = new ConsoleInputStepSkipper(context);
|
||||
this.stepSkipper = new ConsoleInputStepSkipper(context, reportHandler);
|
||||
this.releaserProperties = releaserProperties;
|
||||
this.executorService = Executors.newFixedThreadPool(
|
||||
this.releaserProperties.getMetaRelease().getReleaseGroupThreadCount());
|
||||
@@ -534,8 +534,12 @@ class ConsoleInputStepSkipper {
|
||||
|
||||
private final ConfigurableApplicationContext context;
|
||||
|
||||
ConsoleInputStepSkipper(ConfigurableApplicationContext context) {
|
||||
private final BuildReportHandler reportHandler;
|
||||
|
||||
ConsoleInputStepSkipper(ConfigurableApplicationContext context,
|
||||
BuildReportHandler reportHandler) {
|
||||
this.context = context;
|
||||
this.reportHandler = reportHandler;
|
||||
}
|
||||
|
||||
public boolean skipStep() {
|
||||
@@ -544,8 +548,8 @@ class ConsoleInputStepSkipper {
|
||||
case "s":
|
||||
return true;
|
||||
case "q":
|
||||
SpringApplication.exit(this.context, () -> 0);
|
||||
System.exit(0);
|
||||
reportHandler.reportBuildSummary();
|
||||
System.exit(SpringApplication.exit(this.context, () -> 0));
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user