Skip to content

Commit

Permalink
Clean up left overs from dry run to build aware rename
Browse files Browse the repository at this point in the history
  • Loading branch information
cdupuis committed Aug 24, 2018
1 parent 7ca6bf6 commit c50fed5
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 16 deletions.
6 changes: 3 additions & 3 deletions src/pack/build-aware-transform/index.ts
Expand Up @@ -18,7 +18,7 @@ import { metadata } from "../../api-helper/misc/extensionPack";
import { GitHubIssueRouter } from "../../api-helper/misc/git/GitHubIssueRouter";
import { ExtensionPack } from "../../api/machine/ExtensionPack";
import { IssueCreationOptions } from "../../spi/issue/IssueCreationOptions";
import { dryRunBuildListener } from "./support/dryRunBuildListener";
import { buildAwareBuildListener } from "./support/buildAwareBuildListener";

export { makeBuildAware } from "./support/makeBuildAware";

Expand All @@ -31,14 +31,14 @@ export { makeBuildAware } from "./support/makeBuildAware";
*/
export function buildAwareCodeTransforms(opts: Partial<IssueCreationOptions> = {}): ExtensionPack {
const optsToUse: IssueCreationOptions = {
...opts,
issueRouter: new GitHubIssueRouter(),
...opts,
};

return {
...metadata("build-aware-code-transforms"),
configure: sdm => {
sdm.addBuildListener(dryRunBuildListener(optsToUse));
sdm.addBuildListener(buildAwareBuildListener(optsToUse));
},
};
}
Expand Up @@ -20,41 +20,41 @@ import { IssueCreationOptions } from "../../../spi/issue/IssueCreationOptions";
import { DryRunMessage } from "./makeBuildAware";

/**
* React to result of a dry run build to raise a PR or issue
* React to result of a build-aware build to raise a PR or issue.
*/
export function dryRunBuildListener(opts: IssueCreationOptions): BuildListener {
export function buildAwareBuildListener(opts: IssueCreationOptions): BuildListener {
return async bu => {
const build = bu.build;
const branch = build.push.branch;

logger.debug("Assessing dry run for %j: Commit message=%s", bu.id, bu.build.commit.message);
logger.debug("Assessing build aware build for '%j': '%s'", bu.id, bu.build.commit.message);
if (!bu.build.commit.message.includes(DryRunMessage)) {
logger.info("Not a dry run commit: %j: Commit message=%s", bu.id, bu.build.commit.message);
logger.info("Not a build aware build: '%j': '%s'", bu.id, bu.build.commit.message);
return;
}

const body = bu.build.commit.message.replace(DryRunMessage, "").trim() + "\n\n[atomist:generated]";
const description = body.split("\n")[0];
switch (build.status) {
case "started" :
logger.info("Tracking dry run build on %j on branch %s,", bu.id, branch);
logger.info("Tracking build aware build on '%j' on branch '%s'", bu.id, branch);
// Wait for conclusion
break;

case "passed":
logger.info("Raising PR for successful dry run build on %j", bu.id);
logger.info("Raising PR for successful build aware build on '%j'", bu.id);
const title = description;
await bu.id.raisePullRequest(
bu.credentials,
title,
body,
body.replace(description, "").trim(),
branch,
"master");
break;

case "failed" :
case "broken":
logger.info("Raising issue for failed dry run build on %j on branch %s,", bu.id, branch);
logger.info("Raising issue for failed build aware build on '%j' on branch '%s',", bu.id, branch);
let issueBody = "Details:\n\n";
issueBody += !!build.buildUrl ? `[Build log](${build.buildUrl})` : "No build log available";
issueBody += `\n\n[Branch with failure](${bu.id.url}/tree/${branch} "Failing branch ${branch}")`;
Expand All @@ -65,7 +65,8 @@ export function dryRunBuildListener(opts: IssueCreationOptions): BuildListener {
break;

default :
logger.info("Unexpected build status [%s] issue for failed dry run on %j on branch %s,", bu.build.status, bu.id, branch);
logger.info("Unexpected build status [%s] issue for failed build aware build on '%j' on branch '%s'",
bu.build.status, bu.id, branch);
break;
}
};
Expand Down
14 changes: 10 additions & 4 deletions src/pack/build-aware-transform/support/makeBuildAware.ts
Expand Up @@ -14,11 +14,17 @@
* limitations under the License.
*/

import { EditMode, isPullRequest } from "@atomist/automation-client/operations/edit/editModes";
import {
EditMode,
isPullRequest,
} from "@atomist/automation-client/operations/edit/editModes";
import { TransformModeSuggestion } from "../../../api/command/target/TransformModeSuggestion";
import { CodeTransformRegistration, CodeTransformRegistrationDecorator } from "../../../api/registration/CodeTransformRegistration";
import {
CodeTransformRegistration,
CodeTransformRegistrationDecorator,
} from "../../../api/registration/CodeTransformRegistration";

export const DryRunMessage = "[atomist:dry-run]";
export const DryRunMessage = "[atomist:build-aware]";

/**
* Return a function wrapping a CodeTransform registration to make
Expand All @@ -38,7 +44,7 @@ export const makeBuildAware: CodeTransformRegistrationDecorator<any> =
} else {
// No edit mode was set explicitly. We need to set one that sets a branch:
// No PR for now
const branch = (ci.parameters as TransformModeSuggestion).desiredBranchName || `${ctr.name}-${new Date().getTime()}`;
const branch = (ci.parameters as TransformModeSuggestion).desiredBranchName || `${ctr.name}-${Date.now()}`;
const desiredCommitMessage = (ci.parameters as TransformModeSuggestion).desiredCommitMessage
|| dryRunMessage(ctr.description || ctr.name);
return {
Expand Down

0 comments on commit c50fed5

Please sign in to comment.