skuba 4.1.1 → 4.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/lib/api/git/commitAllChanges.d.ts +1 -1
  2. package/lib/api/git/commitAllChanges.js +4 -1
  3. package/lib/api/git/commitAllChanges.js.map +1 -1
  4. package/lib/api/git/currentBranch.d.ts +10 -0
  5. package/lib/api/git/currentBranch.js +41 -0
  6. package/lib/api/git/currentBranch.js.map +1 -0
  7. package/lib/api/git/index.d.ts +2 -1
  8. package/lib/api/git/index.js +4 -1
  9. package/lib/api/git/index.js.map +1 -1
  10. package/lib/api/git/log.d.ts +9 -2
  11. package/lib/api/git/log.js +24 -5
  12. package/lib/api/git/log.js.map +1 -1
  13. package/lib/api/git/remote.d.ts +4 -2
  14. package/lib/api/git/remote.js +22 -5
  15. package/lib/api/git/remote.js.map +1 -1
  16. package/lib/api/github/environment.d.ts +0 -4
  17. package/lib/api/github/environment.js +3 -7
  18. package/lib/api/github/environment.js.map +1 -1
  19. package/lib/cli/format.js +3 -2
  20. package/lib/cli/format.js.map +1 -1
  21. package/lib/cli/init/git.d.ts +0 -1
  22. package/lib/cli/init/git.js +1 -11
  23. package/lib/cli/init/git.js.map +1 -1
  24. package/lib/cli/init/index.js +7 -3
  25. package/lib/cli/init/index.js.map +1 -1
  26. package/lib/cli/lint/autofix.d.ts +2 -0
  27. package/lib/cli/lint/autofix.js +114 -0
  28. package/lib/cli/lint/autofix.js.map +1 -0
  29. package/lib/cli/lint/external.js +6 -0
  30. package/lib/cli/lint/external.js.map +1 -1
  31. package/lib/utils/env.d.ts +5 -0
  32. package/lib/utils/env.js +9 -0
  33. package/lib/utils/env.js.map +1 -0
  34. package/package.json +1 -1
  35. package/template/express-rest-api/docker-compose.yml +3 -1
  36. package/template/greeter/docker-compose.yml +3 -1
  37. package/template/koa-rest-api/docker-compose.yml +3 -1
  38. package/template/lambda-sqs-worker/docker-compose.yml +3 -1
  39. package/template/lambda-sqs-worker-cdk/cdk.json +3 -3
  40. package/template/lambda-sqs-worker-cdk/docker-compose.yml +3 -1
  41. package/template/lambda-sqs-worker-cdk/package.json +1 -1
@@ -8,5 +8,5 @@ interface CommitAllParameters {
8
8
  /**
9
9
  * Stages all changes and writes a commit to the local Git repository.
10
10
  */
11
- export declare const commitAllChanges: ({ dir, message, author, committer, }: CommitAllParameters) => Promise<void>;
11
+ export declare const commitAllChanges: ({ dir, message, author, committer, }: CommitAllParameters) => Promise<string | undefined>;
12
12
  export {};
@@ -22,10 +22,13 @@ const getChangedFiles_1 = require("./getChangedFiles");
22
22
  */
23
23
  const commitAllChanges = ({ dir, message, author, committer, }) => __awaiter(void 0, void 0, void 0, function* () {
24
24
  const changedFiles = yield (0, getChangedFiles_1.getChangedFiles)({ dir });
25
+ if (!changedFiles.length) {
26
+ return;
27
+ }
25
28
  yield Promise.all(changedFiles.map((file) => file.state === 'deleted'
26
29
  ? isomorphic_git_1.default.remove({ fs: fs_extra_1.default, dir, filepath: file.path })
27
30
  : isomorphic_git_1.default.add({ fs: fs_extra_1.default, dir, filepath: file.path })));
28
- yield (0, commit_1.commit)({
31
+ return (0, commit_1.commit)({
29
32
  dir,
30
33
  message,
31
34
  author,
@@ -1 +1 @@
1
- {"version":3,"file":"commitAllChanges.js","sourceRoot":"","sources":["../../../src/api/git/commitAllChanges.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC,qCAAkC;AAElC,uDAAoD;AASpD;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAO,EACrC,GAAG,EACH,OAAO,EACP,MAAM,EACN,SAAS,GACW,EAAiB,EAAE;IACvC,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAe,EAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,IAAI,CAAC,KAAK,KAAK,SAAS;QACtB,CAAC,CAAC,wBAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAF,kBAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,wBAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAF,kBAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC9C,CACF,CAAC;IAEF,MAAM,IAAA,eAAM,EAAC;QACX,GAAG;QACH,OAAO;QACP,MAAM;QACN,SAAS;KACV,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B"}
1
+ {"version":3,"file":"commitAllChanges.js","sourceRoot":"","sources":["../../../src/api/git/commitAllChanges.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC,qCAAkC;AAElC,uDAAoD;AASpD;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAO,EACrC,GAAG,EACH,OAAO,EACP,MAAM,EACN,SAAS,GACW,EAA+B,EAAE;IACrD,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAe,EAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEpD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,OAAO;KACR;IAED,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,IAAI,CAAC,KAAK,KAAK,SAAS;QACtB,CAAC,CAAC,wBAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAF,kBAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,wBAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAF,kBAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC9C,CACF,CAAC;IAEF,OAAO,IAAA,eAAM,EAAC;QACZ,GAAG;QACH,OAAO;QACP,MAAM;QACN,SAAS;KACV,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B"}
@@ -0,0 +1,10 @@
1
+ interface CurrentBranchParameters {
2
+ dir?: string;
3
+ env?: Record<string, string | undefined>;
4
+ }
5
+ /**
6
+ * Tries to return a Git branch name from CI environment variables, falling back
7
+ * to the local Git repository when the current working `dir` is supplied.
8
+ */
9
+ export declare const currentBranch: ({ dir, env, }?: CurrentBranchParameters) => Promise<string | undefined>;
10
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.currentBranch = void 0;
16
+ const fs_extra_1 = __importDefault(require("fs-extra"));
17
+ const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
18
+ /**
19
+ * Tries to return a Git branch name from CI environment variables.
20
+ */
21
+ const currentBranchFromEnvironment = (env = process.env) => { var _a, _b; return (_b = (_a = env.BUILDKITE_BRANCH) !== null && _a !== void 0 ? _a : env.GITHUB_HEAD_REF) !== null && _b !== void 0 ? _b : env.GITHUB_REF_NAME; };
22
+ /**
23
+ * Tries to return a Git branch name from CI environment variables, falling back
24
+ * to the local Git repository when the current working `dir` is supplied.
25
+ */
26
+ const currentBranch = ({ dir, env = process.env, } = {}) => __awaiter(void 0, void 0, void 0, function* () {
27
+ const fromEnv = currentBranchFromEnvironment(env);
28
+ if (fromEnv) {
29
+ return fromEnv;
30
+ }
31
+ if (!dir) {
32
+ return;
33
+ }
34
+ const fromRepo = yield isomorphic_git_1.default.currentBranch({
35
+ dir,
36
+ fs: fs_extra_1.default,
37
+ });
38
+ return fromRepo !== null && fromRepo !== void 0 ? fromRepo : undefined;
39
+ });
40
+ exports.currentBranch = currentBranch;
41
+ //# sourceMappingURL=currentBranch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currentBranch.js","sourceRoot":"","sources":["../../../src/api/git/currentBranch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC;;GAEG;AACH,MAAM,4BAA4B,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAsB,EAAE,eAC7E,OAAA,MAAA,MAAA,GAAG,CAAC,gBAAgB,mCAAI,GAAG,CAAC,eAAe,mCAAI,GAAG,CAAC,eAAe,CAAA,EAAA,CAAC;AAOrE;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAO,EAClC,GAAG,EACH,GAAG,GAAG,OAAO,CAAC,GAAG,MACU,EAAE,EAA+B,EAAE;IAC9D,MAAM,OAAO,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,CAAC,GAAG,EAAE;QACR,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,MAAM,wBAAG,CAAC,aAAa,CAAC;QACvC,GAAG;QACH,EAAE,EAAF,kBAAE;KACH,CAAC,CAAC;IAEH,OAAO,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS,CAAC;AAC/B,CAAC,CAAA,CAAC;AApBW,QAAA,aAAa,iBAoBxB"}
@@ -1,7 +1,8 @@
1
1
  export { commit } from './commit';
2
2
  export { commitAllChanges } from './commitAllChanges';
3
+ export { currentBranch } from './currentBranch';
3
4
  export { getChangedFiles } from './getChangedFiles';
4
- export { getHeadCommitId } from './log';
5
+ export { getHeadCommitId, getHeadCommitMessage } from './log';
5
6
  export { getOwnerAndRepo } from './remote';
6
7
  export { push } from './push';
7
8
  export { reset } from './reset';
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reset = exports.push = exports.getOwnerAndRepo = exports.getHeadCommitId = exports.getChangedFiles = exports.commitAllChanges = exports.commit = void 0;
3
+ exports.reset = exports.push = exports.getOwnerAndRepo = exports.getHeadCommitMessage = exports.getHeadCommitId = exports.getChangedFiles = exports.currentBranch = exports.commitAllChanges = exports.commit = void 0;
4
4
  var commit_1 = require("./commit");
5
5
  Object.defineProperty(exports, "commit", { enumerable: true, get: function () { return commit_1.commit; } });
6
6
  var commitAllChanges_1 = require("./commitAllChanges");
7
7
  Object.defineProperty(exports, "commitAllChanges", { enumerable: true, get: function () { return commitAllChanges_1.commitAllChanges; } });
8
+ var currentBranch_1 = require("./currentBranch");
9
+ Object.defineProperty(exports, "currentBranch", { enumerable: true, get: function () { return currentBranch_1.currentBranch; } });
8
10
  var getChangedFiles_1 = require("./getChangedFiles");
9
11
  Object.defineProperty(exports, "getChangedFiles", { enumerable: true, get: function () { return getChangedFiles_1.getChangedFiles; } });
10
12
  var log_1 = require("./log");
11
13
  Object.defineProperty(exports, "getHeadCommitId", { enumerable: true, get: function () { return log_1.getHeadCommitId; } });
14
+ Object.defineProperty(exports, "getHeadCommitMessage", { enumerable: true, get: function () { return log_1.getHeadCommitMessage; } });
12
15
  var remote_1 = require("./remote");
13
16
  Object.defineProperty(exports, "getOwnerAndRepo", { enumerable: true, get: function () { return remote_1.getOwnerAndRepo; } });
14
17
  var push_1 = require("./push");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/git/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,6BAAwC;AAA/B,sGAAA,eAAe,OAAA;AACxB,mCAA2C;AAAlC,yGAAA,eAAe,OAAA;AACxB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/git/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,6BAA8D;AAArD,sGAAA,eAAe,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAC9C,mCAA2C;AAAlC,yGAAA,eAAe,OAAA;AACxB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"}
@@ -1,4 +1,4 @@
1
- interface GetHeadCommitIdParameters {
1
+ interface GetHeadCommitParameters {
2
2
  dir: string;
3
3
  env?: Record<string, string | undefined>;
4
4
  }
@@ -8,5 +8,12 @@ interface GetHeadCommitIdParameters {
8
8
  * This tries to extract the commit ID from common CI environment variables,
9
9
  * and falls back to the local Git repository log.
10
10
  */
11
- export declare const getHeadCommitId: ({ dir, env, }: GetHeadCommitIdParameters) => Promise<string>;
11
+ export declare const getHeadCommitId: ({ dir, env, }: GetHeadCommitParameters) => Promise<string>;
12
+ /**
13
+ * Gets the message of the head commit.
14
+ *
15
+ * This tries to extract the message from common CI environment variables,
16
+ * and falls back to the local Git repository log.
17
+ */
18
+ export declare const getHeadCommitMessage: ({ dir, env, }: GetHeadCommitParameters) => Promise<string>;
12
19
  export {};
@@ -12,9 +12,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getHeadCommitId = void 0;
15
+ exports.getHeadCommitMessage = exports.getHeadCommitId = void 0;
16
16
  const fs_extra_1 = __importDefault(require("fs-extra"));
17
17
  const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
18
+ const EMPTY_GIT_LOG_ERROR = new Error('Git log does not contain any commits');
18
19
  /**
19
20
  * Gets the object ID of the head commit.
20
21
  *
@@ -27,11 +28,29 @@ const getHeadCommitId = ({ dir, env = process.env, }) => __awaiter(void 0, void
27
28
  if (oidFromEnv) {
28
29
  return oidFromEnv;
29
30
  }
30
- const [headCommit] = yield isomorphic_git_1.default.log({ depth: 1, dir, fs: fs_extra_1.default });
31
- if (!headCommit) {
32
- throw new Error('Git log does not contain any commits');
31
+ const [headResult] = yield isomorphic_git_1.default.log({ depth: 1, dir, fs: fs_extra_1.default });
32
+ if (!headResult) {
33
+ throw EMPTY_GIT_LOG_ERROR;
33
34
  }
34
- return headCommit.oid;
35
+ return headResult.oid;
35
36
  });
36
37
  exports.getHeadCommitId = getHeadCommitId;
38
+ /**
39
+ * Gets the message of the head commit.
40
+ *
41
+ * This tries to extract the message from common CI environment variables,
42
+ * and falls back to the local Git repository log.
43
+ */
44
+ const getHeadCommitMessage = ({ dir, env = process.env, }) => __awaiter(void 0, void 0, void 0, function* () {
45
+ const messageFromEnv = env.BUILDKITE_MESSAGE;
46
+ if (messageFromEnv) {
47
+ return messageFromEnv;
48
+ }
49
+ const [headResult] = yield isomorphic_git_1.default.log({ depth: 1, dir, fs: fs_extra_1.default });
50
+ if (!headResult) {
51
+ throw EMPTY_GIT_LOG_ERROR;
52
+ }
53
+ return headResult.commit.message;
54
+ });
55
+ exports.getHeadCommitMessage = getHeadCommitMessage;
37
56
  //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/api/git/log.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAOjC;;;;;GAKG;AACI,MAAM,eAAe,GAAG,CAAO,EACpC,GAAG,EACH,GAAG,GAAG,OAAO,CAAC,GAAG,GACS,EAAmB,EAAE;;IAC/C,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,gBAAgB,mCAAI,GAAG,CAAC,UAAU,CAAC;IAE1D,IAAI,UAAU,EAAE;QACd,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,wBAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IAED,OAAO,UAAU,CAAC,GAAG,CAAC;AACxB,CAAC,CAAA,CAAC;AAjBW,QAAA,eAAe,mBAiB1B"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/api/git/log.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAOjC,MAAM,mBAAmB,GAAG,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAE9E;;;;;GAKG;AACI,MAAM,eAAe,GAAG,CAAO,EACpC,GAAG,EACH,GAAG,GAAG,OAAO,CAAC,GAAG,GACO,EAAE,EAAE;;IAC5B,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,gBAAgB,mCAAI,GAAG,CAAC,UAAU,CAAC;IAE1D,IAAI,UAAU,EAAE;QACd,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,wBAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,mBAAmB,CAAC;KAC3B;IAED,OAAO,UAAU,CAAC,GAAG,CAAC;AACxB,CAAC,CAAA,CAAC;AAjBW,QAAA,eAAe,mBAiB1B;AAEF;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAAO,EACzC,GAAG,EACH,GAAG,GAAG,OAAO,CAAC,GAAG,GACO,EAAE,EAAE;IAC5B,MAAM,cAAc,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAE7C,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,wBAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,mBAAmB,CAAC;KAC3B;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;AACnC,CAAC,CAAA,CAAC;AAjBW,QAAA,oBAAoB,wBAiB/B"}
@@ -1,8 +1,10 @@
1
1
  interface GetOwnerAndRepoParameters {
2
2
  dir: string;
3
+ env?: Record<string, string | undefined>;
3
4
  }
4
5
  /**
5
- * Extracts the owner and repository names from local Git remotes.
6
+ * Extracts the owner and repository names from CI environment variables,
7
+ * falling back to local Git remotes.
6
8
  *
7
9
  * Currently, only GitHub repository URLs are supported:
8
10
  *
@@ -11,7 +13,7 @@ interface GetOwnerAndRepoParameters {
11
13
  * https://github.com/seek-oss/skuba.git
12
14
  * ```
13
15
  */
14
- export declare const getOwnerAndRepo: ({ dir, }: GetOwnerAndRepoParameters) => Promise<{
16
+ export declare const getOwnerAndRepo: ({ dir, env, }: GetOwnerAndRepoParameters) => Promise<{
15
17
  owner: string;
16
18
  repo: string;
17
19
  }>;
@@ -31,8 +31,15 @@ const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
31
31
  * 2. skuba
32
32
  */
33
33
  const ownerRepoRegex = /github.com(?::|\/)(.+)\/(.+).git$/;
34
+ const ownerAndRepoFromUrl = (url) => {
35
+ const match = ownerRepoRegex.exec(url);
36
+ const owner = match === null || match === void 0 ? void 0 : match[1];
37
+ const repo = match === null || match === void 0 ? void 0 : match[2];
38
+ return { owner, repo };
39
+ };
34
40
  /**
35
- * Extracts the owner and repository names from local Git remotes.
41
+ * Extracts the owner and repository names from CI environment variables,
42
+ * falling back to local Git remotes.
36
43
  *
37
44
  * Currently, only GitHub repository URLs are supported:
38
45
  *
@@ -41,12 +48,22 @@ const ownerRepoRegex = /github.com(?::|\/)(.+)\/(.+).git$/;
41
48
  * https://github.com/seek-oss/skuba.git
42
49
  * ```
43
50
  */
44
- const getOwnerAndRepo = ({ dir, }) => __awaiter(void 0, void 0, void 0, function* () {
51
+ const getOwnerAndRepo = ({ dir, env = process.env, }) => __awaiter(void 0, void 0, void 0, function* () {
52
+ if (env.GITHUB_REPOSITORY) {
53
+ const [owner, repo] = env.GITHUB_REPOSITORY.split('/');
54
+ if (owner && repo) {
55
+ return { owner, repo };
56
+ }
57
+ }
58
+ if (env.BUILDKITE_REPO) {
59
+ const { owner, repo } = ownerAndRepoFromUrl(env.BUILDKITE_REPO);
60
+ if (owner && repo) {
61
+ return { owner, repo };
62
+ }
63
+ }
45
64
  const remotes = yield isomorphic_git_1.default.listRemotes({ dir, fs: fs_extra_1.default });
46
65
  for (const { url } of remotes) {
47
- const match = ownerRepoRegex.exec(url);
48
- const owner = match === null || match === void 0 ? void 0 : match[1];
49
- const repo = match === null || match === void 0 ? void 0 : match[2];
66
+ const { owner, repo } = ownerAndRepoFromUrl(url);
50
67
  if (owner && repo) {
51
68
  return { owner, repo };
52
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/api/git/remote.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAM3D;;;;;;;;;GASG;AACI,MAAM,eAAe,GAAG,CAAO,EACpC,GAAG,GACuB,EAA4C,EAAE;IACxE,MAAM,OAAO,GAAG,MAAM,wBAAG,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC;IAEnD,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE;QAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;QAExB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACxB;KACF;IAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACpD,CAAC,CAAA,CAAC;AAjBW,QAAA,eAAe,mBAiB1B"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/api/git/remote.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAE3D,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;IAExB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC,CAAC;AAOF;;;;;;;;;;GAUG;AACI,MAAM,eAAe,GAAG,CAAO,EACpC,GAAG,EACH,GAAG,GAAG,OAAO,CAAC,GAAG,GACS,EAA4C,EAAE;IACxE,IAAI,GAAG,CAAC,iBAAiB,EAAE;QACzB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACxB;KACF;IAED,IAAI,GAAG,CAAC,cAAc,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEhE,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACxB;KACF;IAED,MAAM,OAAO,GAAG,MAAM,wBAAG,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC;IAEnD,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE;QAC7B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACxB;KACF;IAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACpD,CAAC,CAAA,CAAC;AA/BW,QAAA,eAAe,mBA+B1B"}
@@ -16,7 +16,3 @@ export declare const enabledFromEnvironment: (env?: NodeJS.ProcessEnv) => boolea
16
16
  * Tries to return a GitHub API token from the environment.
17
17
  */
18
18
  export declare const apiTokenFromEnvironment: (env?: NodeJS.ProcessEnv) => string | undefined;
19
- /**
20
- * Tries to return a branch name from CI environment variables.
21
- */
22
- export declare const currentBranchFromEnvironment: (env?: NodeJS.ProcessEnv) => string | undefined;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.currentBranchFromEnvironment = exports.apiTokenFromEnvironment = exports.enabledFromEnvironment = exports.buildNameFromEnvironment = void 0;
3
+ exports.apiTokenFromEnvironment = exports.enabledFromEnvironment = exports.buildNameFromEnvironment = void 0;
4
+ const env_1 = require("../../utils/env");
4
5
  /**
5
6
  * Returns the name of the build as seen in GitHub status checks.
6
7
  *
@@ -25,7 +26,7 @@ exports.buildNameFromEnvironment = buildNameFromEnvironment;
25
26
  */
26
27
  const enabledFromEnvironment = (env = process.env) =>
27
28
  // Running in a CI environment.
28
- Boolean(env.BUILDKITE || env.CI || env.GITHUB_ACTIONS) &&
29
+ (0, env_1.isCiEnv)(env) &&
29
30
  // Has an API token at the ready.
30
31
  Boolean((0, exports.apiTokenFromEnvironment)(env));
31
32
  exports.enabledFromEnvironment = enabledFromEnvironment;
@@ -34,9 +35,4 @@ exports.enabledFromEnvironment = enabledFromEnvironment;
34
35
  */
35
36
  const apiTokenFromEnvironment = (env = process.env) => { var _a; return (_a = env.GITHUB_API_TOKEN) !== null && _a !== void 0 ? _a : env.GITHUB_TOKEN; };
36
37
  exports.apiTokenFromEnvironment = apiTokenFromEnvironment;
37
- /**
38
- * Tries to return a branch name from CI environment variables.
39
- */
40
- const currentBranchFromEnvironment = (env = process.env) => { var _a; return (_a = env.BUILDKITE_BRANCH) !== null && _a !== void 0 ? _a : env.GITHUB_REF_NAME; };
41
- exports.currentBranchFromEnvironment = currentBranchFromEnvironment;
42
38
  //# sourceMappingURL=environment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/api/github/environment.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACI,MAAM,wBAAwB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAU,EAAE;;IACpE,IAAI,GAAG,CAAC,sBAAsB,EAAE;QAC9B,OAAO,UAAU,GAAG,CAAC,sBAAsB,EAAE,CAAC;KAC/C;IAED,IAAI,GAAG,CAAC,iBAAiB,EAAE;QACzB,OAAO,GAAG,MAAA,GAAG,CAAC,eAAe,mCAAI,OAAO,KAAK,GAAG,CAAC,iBAAiB,EAAE,CAAC;KACtE;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC;AAEF;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAW,EAAE;AACnE,+BAA+B;AAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC;IACtD,iCAAiC;IACjC,OAAO,CAAC,IAAA,+BAAuB,EAAC,GAAG,CAAC,CAAC,CAAC;AAJ3B,QAAA,sBAAsB,0BAIK;AAExC;;GAEG;AACI,MAAM,uBAAuB,GAAG,CACrC,GAAG,GAAG,OAAO,CAAC,GAAG,EACG,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,gBAAgB,mCAAI,GAAG,CAAC,YAAY,CAAA,EAAA,CAAC;AAFrD,QAAA,uBAAuB,2BAE8B;AAElE;;GAEG;AACI,MAAM,4BAA4B,GAAG,CAC1C,GAAG,GAAG,OAAO,CAAC,GAAG,EACG,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,gBAAgB,mCAAI,GAAG,CAAC,eAAe,CAAA,EAAA,CAAC;AAFxD,QAAA,4BAA4B,gCAE4B"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/api/github/environment.ts"],"names":[],"mappings":";;;AAAA,yCAA0C;AAE1C;;;;GAIG;AACI,MAAM,wBAAwB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAU,EAAE;;IACpE,IAAI,GAAG,CAAC,sBAAsB,EAAE;QAC9B,OAAO,UAAU,GAAG,CAAC,sBAAsB,EAAE,CAAC;KAC/C;IAED,IAAI,GAAG,CAAC,iBAAiB,EAAE;QACzB,OAAO,GAAG,MAAA,GAAG,CAAC,eAAe,mCAAI,OAAO,KAAK,GAAG,CAAC,iBAAiB,EAAE,CAAC;KACtE;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC;AAEF;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAW,EAAE;AACnE,+BAA+B;AAC/B,IAAA,aAAO,EAAC,GAAG,CAAC;IACZ,iCAAiC;IACjC,OAAO,CAAC,IAAA,+BAAuB,EAAC,GAAG,CAAC,CAAC,CAAC;AAJ3B,QAAA,sBAAsB,0BAIK;AAExC;;GAEG;AACI,MAAM,uBAAuB,GAAG,CACrC,GAAG,GAAG,OAAO,CAAC,GAAG,EACG,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,gBAAgB,mCAAI,GAAG,CAAC,YAAY,CAAA,EAAA,CAAC;AAFrD,QAAA,uBAAuB,2BAE8B"}
package/lib/cli/format.js CHANGED
@@ -22,11 +22,12 @@ const refreshIgnoreFiles_1 = require("./configure/refreshIgnoreFiles");
22
22
  const format = (args = process.argv) => __awaiter(void 0, void 0, void 0, function* () {
23
23
  yield (0, refreshIgnoreFiles_1.tryRefreshIgnoreFiles)();
24
24
  const debug = (0, args_1.hasDebugFlag)(args);
25
+ const logger = (0, logging_1.createLogger)(debug);
25
26
  logging_1.log.plain(chalk_1.default.magenta('ESLint'));
26
- const eslint = yield (0, eslint_1.runESLint)('format', (0, logging_1.createLogger)(debug));
27
+ const eslint = yield (0, eslint_1.runESLint)('format', logger);
27
28
  logging_1.log.newline();
28
29
  logging_1.log.plain(chalk_1.default.cyan('Prettier'));
29
- const prettier = yield (0, prettier_1.runPrettier)('format', (0, logging_1.createLogger)(debug));
30
+ const prettier = yield (0, prettier_1.runPrettier)('format', logger);
30
31
  if (eslint.ok && prettier.ok) {
31
32
  return;
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,wCAA6C;AAC7C,8CAAqD;AAErD,6CAA6C;AAC7C,iDAAiD;AACjD,uEAAuE;AAEhE,MAAM,MAAM,GAAG,CAAO,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE;IAClD,MAAM,IAAA,0CAAqB,GAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;IAEjC,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,QAAQ,EAAE,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IAE9D,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE;QAC5B,OAAO;KACR;IAED,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KACrC,CAAC;IAEF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAE/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAA,CAAC;AA3BW,QAAA,MAAM,UA2BjB"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,wCAA6C;AAC7C,8CAAqD;AAErD,6CAA6C;AAC7C,iDAAiD;AACjD,uEAAuE;AAEhE,MAAM,MAAM,GAAG,CAAO,IAAI,GAAG,OAAO,CAAC,IAAI,EAAiB,EAAE;IACjE,MAAM,IAAA,0CAAqB,GAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC;IAEnC,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEjD,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE;QAC5B,OAAO;KACR;IAED,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KACrC,CAAC;IAEF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAE/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAA,CAAC;AA5BW,QAAA,MAAM,UA4BjB"}
@@ -3,6 +3,5 @@ interface GitHubProject {
3
3
  repoName: string;
4
4
  }
5
5
  export declare const initialiseRepo: (dir: string, { orgName, repoName }: GitHubProject) => Promise<void>;
6
- export declare const commitChanges: (dir: string, message: string) => Promise<void>;
7
6
  export declare const downloadGitHubTemplate: (gitHubPath: string, destinationDir: string) => Promise<void>;
8
7
  export {};
@@ -31,13 +31,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
31
31
  return (mod && mod.__esModule) ? mod : { "default": mod };
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.downloadGitHubTemplate = exports.commitChanges = exports.initialiseRepo = void 0;
34
+ exports.downloadGitHubTemplate = exports.initialiseRepo = void 0;
35
35
  const path_1 = __importDefault(require("path"));
36
36
  const fs_extra_1 = __importDefault(require("fs-extra"));
37
37
  const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
38
38
  const simple_git_1 = __importDefault(require("simple-git"));
39
39
  const Git = __importStar(require("../../api/git"));
40
- const dir_1 = require("../../utils/dir");
41
40
  const logging_1 = require("../../utils/logging");
42
41
  const initialiseRepo = (dir, { orgName, repoName }) => __awaiter(void 0, void 0, void 0, function* () {
43
42
  yield isomorphic_git_1.default.init({
@@ -58,15 +57,6 @@ const initialiseRepo = (dir, { orgName, repoName }) => __awaiter(void 0, void 0,
58
57
  });
59
58
  });
60
59
  exports.initialiseRepo = initialiseRepo;
61
- const commitChanges = (dir, message) => __awaiter(void 0, void 0, void 0, function* () {
62
- const filepaths = yield (0, dir_1.crawlDirectory)(dir);
63
- yield Promise.all(filepaths.map((filepath) => isomorphic_git_1.default.add({ dir, filepath, fs: fs_extra_1.default })));
64
- yield Git.commit({
65
- dir,
66
- message,
67
- });
68
- });
69
- exports.commitChanges = commitChanges;
70
60
  const downloadGitHubTemplate = (gitHubPath, destinationDir) => __awaiter(void 0, void 0, void 0, function* () {
71
61
  logging_1.log.newline();
72
62
  logging_1.log.plain('Downloading', logging_1.log.bold(gitHubPath), 'from GitHub...');
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,oEAAiC;AACjC,4DAAmC;AAEnC,mDAAqC;AACrC,yCAAiD;AACjD,iDAA0C;AAOnC,MAAM,cAAc,GAAG,CAC5B,GAAW,EACX,EAAE,OAAO,EAAE,QAAQ,EAAiB,EACpC,EAAE;IACF,MAAM,wBAAG,CAAC,IAAI,CAAC;QACb,wCAAwC;QACxC,aAAa,EAAE,QAAQ;QACvB,GAAG;QACH,EAAE,EAAF,kBAAE;KACH,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,GAAG;QACH,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,SAAS,CAAC;QAClB,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,kBAAkB,OAAO,IAAI,QAAQ,MAAM;KACjD,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAtBW,QAAA,cAAc,kBAsBzB;AAEK,MAAM,aAAa,GAAG,CAAO,GAAW,EAAE,OAAe,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC,CAC5D,CAAC;IAEF,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,GAAG;QACH,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAXW,QAAA,aAAa,iBAWxB;AAEK,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,cAAsB,EACtB,EAAE;IACF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,IAAA,oBAAS,GAAE,CAAC,KAAK,CAAC,kBAAkB,UAAU,MAAM,EAAE,cAAc,EAAE;QAC1E,WAAW;QACX,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,IAAI,CACN,qBAAqB,EACrB,aAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAChC,oBAAoB,CACrB,CAAC;AACJ,CAAC,CAAA,CAAC;AAvBW,QAAA,sBAAsB,0BAuBjC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,oEAAiC;AACjC,4DAAmC;AAEnC,mDAAqC;AACrC,iDAA0C;AAOnC,MAAM,cAAc,GAAG,CAC5B,GAAW,EACX,EAAE,OAAO,EAAE,QAAQ,EAAiB,EACpC,EAAE;IACF,MAAM,wBAAG,CAAC,IAAI,CAAC;QACb,wCAAwC;QACxC,aAAa,EAAE,QAAQ;QACvB,GAAG;QACH,EAAE,EAAF,kBAAE;KACH,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,GAAG;QACH,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,SAAS,CAAC;QAClB,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,kBAAkB,OAAO,IAAI,QAAQ,MAAM;KACjD,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAtBW,QAAA,cAAc,kBAsBzB;AAEK,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,cAAsB,EACtB,EAAE;IACF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,IAAA,oBAAS,GAAE,CAAC,KAAK,CAAC,kBAAkB,UAAU,MAAM,EAAE,cAAc,EAAE;QAC1E,WAAW;QACX,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,IAAI,CACN,qBAAqB,EACrB,aAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAChC,oBAAoB,CACrB,CAAC;AACJ,CAAC,CAAA,CAAC;AAvBW,QAAA,sBAAsB,0BAuBjC"}
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.init = void 0;
16
16
  const path_1 = __importDefault(require("path"));
17
+ const git_1 = require("../../api/git");
17
18
  const copy_1 = require("../../utils/copy");
18
19
  const dir_1 = require("../../utils/dir");
19
20
  const exec_1 = require("../../utils/exec");
@@ -21,7 +22,7 @@ const logging_1 = require("../../utils/logging");
21
22
  const logo_1 = require("../../utils/logo");
22
23
  const template_1 = require("../../utils/template");
23
24
  const getConfig_1 = require("./getConfig");
24
- const git_1 = require("./git");
25
+ const git_2 = require("./git");
25
26
  const writePackageJson_1 = require("./writePackageJson");
26
27
  const init = () => __awaiter(void 0, void 0, void 0, function* () {
27
28
  const skubaVersionInfo = yield (0, logo_1.showLogoAndVersionInfo)();
@@ -66,7 +67,7 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
66
67
  streamStdio: 'yarn',
67
68
  });
68
69
  logging_1.log.newline();
69
- yield (0, git_1.initialiseRepo)(destinationDir, templateData);
70
+ yield (0, git_2.initialiseRepo)(destinationDir, templateData);
70
71
  const skubaSlug = `skuba@${skubaVersionInfo.local}`;
71
72
  let depsInstalled = false;
72
73
  try {
@@ -75,7 +76,10 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
75
76
  yield exec('npx', 'yarn-deduplicate', '--strategy=highest');
76
77
  }
77
78
  catch (_a) { }
78
- yield (0, git_1.commitChanges)(destinationDir, `Clone ${templateName}`);
79
+ yield (0, git_1.commitAllChanges)({
80
+ dir: destinationDir,
81
+ message: `Clone ${templateName}`,
82
+ });
79
83
  const logGitHubRepoCreation = () => {
80
84
  logging_1.log.plain('Next, create an empty', logging_1.log.bold(`${templateData.orgName}/${templateData.repoName}`), 'repository:');
81
85
  logging_1.log.ok('https://github.com/new');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Input } from './types';
2
+ export declare const autofix: (input: Pick<Input, 'debug'>) => Promise<void>;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __importDefault = (this && this.__importDefault) || function (mod) {
31
+ return (mod && mod.__esModule) ? mod : { "default": mod };
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.autofix = void 0;
35
+ const simple_git_1 = __importDefault(require("simple-git"));
36
+ const Git = __importStar(require("../../api/git"));
37
+ const eslint_1 = require("../../cli/adapter/eslint");
38
+ const prettier_1 = require("../../cli/adapter/prettier");
39
+ const env_1 = require("../../utils/env");
40
+ const logging_1 = require("../../utils/logging");
41
+ const AUTOFIX_COMMIT_MESSAGE = 'Run `skuba format`';
42
+ const shouldPush = (dir) => __awaiter(void 0, void 0, void 0, function* () {
43
+ if (!(0, env_1.isCiEnv)()) {
44
+ // We're not running in a CI environment so we don't need to push autofixes.
45
+ // Ideally we'd drive this off of repository write permissions, but that is
46
+ // non-trivial to infer without attempting an actual write.
47
+ return false;
48
+ }
49
+ try {
50
+ const currentBranch = yield Git.currentBranch({ dir });
51
+ const isDefaultBuildkiteBranch = currentBranch &&
52
+ [
53
+ process.env.BUILDKITE_PIPELINE_DEFAULT_BRANCH,
54
+ 'master',
55
+ 'main',
56
+ ].includes(currentBranch);
57
+ const isProtectedGitHubBranch = process.env.GITHUB_REF_PROTECTED === 'true';
58
+ if (isDefaultBuildkiteBranch || isProtectedGitHubBranch) {
59
+ // The current branch is a protected branch.
60
+ // We respect GitHub Flow; avoid pushing directly to the default branch.
61
+ return false;
62
+ }
63
+ }
64
+ catch (_a) { }
65
+ try {
66
+ const headCommitMessage = yield Git.getHeadCommitMessage({ dir });
67
+ if (headCommitMessage === AUTOFIX_COMMIT_MESSAGE) {
68
+ // Short circuit when the head commit appears to be one of our autofixes.
69
+ // Repeating the same operation is unlikely to correct outstanding issues.
70
+ return false;
71
+ }
72
+ }
73
+ catch (_b) { }
74
+ // Allow the push attempt to go ahead if our guards have been cleared.
75
+ return true;
76
+ });
77
+ const autofix = (input) => __awaiter(void 0, void 0, void 0, function* () {
78
+ const dir = process.cwd();
79
+ if (!(yield shouldPush(dir))) {
80
+ return;
81
+ }
82
+ // Naively try to autofix issues as we can't tell from ESLint output.
83
+ try {
84
+ logging_1.log.newline();
85
+ logging_1.log.warn(`Trying to autofix with ESLint and Prettier...`);
86
+ const logger = (0, logging_1.createLogger)(input.debug);
87
+ yield (0, eslint_1.runESLint)('format', logger);
88
+ yield (0, prettier_1.runPrettier)('format', logger);
89
+ const ref = yield Git.commitAllChanges({
90
+ dir,
91
+ message: AUTOFIX_COMMIT_MESSAGE,
92
+ });
93
+ if (!ref) {
94
+ return logging_1.log.warn('No autofixes detected.');
95
+ }
96
+ yield (process.env.GITHUB_ACTIONS
97
+ ? // GitHub's checkout action should preconfigure the Git CLI.
98
+ (0, simple_git_1.default)().push()
99
+ : // In other CI environments (Buildkite) we fall back to GitHub App auth.
100
+ Git.push({
101
+ auth: { type: 'gitHubApp' },
102
+ dir: process.cwd(),
103
+ ref,
104
+ }));
105
+ logging_1.log.warn(`Pushed fix commit ${ref}.`);
106
+ }
107
+ catch (err) {
108
+ logging_1.log.warn(logging_1.log.bold('Failed to push fix commit.'));
109
+ logging_1.log.warn(logging_1.log.bold('Does your CI environment have write access to your Git repository?'));
110
+ logging_1.log.subtle(err);
111
+ }
112
+ });
113
+ exports.autofix = autofix;
114
+ //# sourceMappingURL=autofix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autofix.js","sourceRoot":"","sources":["../../../src/cli/lint/autofix.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAmC;AAEnC,mDAAqC;AACrC,qDAAqD;AACrD,yDAAyD;AACzD,yCAA0C;AAC1C,iDAAwD;AAIxD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAEpD,MAAM,UAAU,GAAG,CAAO,GAAW,EAAE,EAAE;IACvC,IAAI,CAAC,IAAA,aAAO,GAAE,EAAE;QACd,4EAA4E;QAC5E,2EAA2E;QAC3E,2DAA2D;QAC3D,OAAO,KAAK,CAAC;KACd;IAED,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAEvD,MAAM,wBAAwB,GAC5B,aAAa;YACb;gBACE,OAAO,CAAC,GAAG,CAAC,iCAAiC;gBAC7C,QAAQ;gBACR,MAAM;aACP,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE5B,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAC;QAE5E,IAAI,wBAAwB,IAAI,uBAAuB,EAAE;YACvD,4CAA4C;YAC5C,wEAAwE;YACxE,OAAO,KAAK,CAAC;SACd;KACF;IAAC,WAAM,GAAE;IAEV,IAAI;QACF,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAElE,IAAI,iBAAiB,KAAK,sBAAsB,EAAE;YAChD,yEAAyE;YACzE,0EAA0E;YAC1E,OAAO,KAAK,CAAC;SACd;KACF;IAAC,WAAM,GAAE;IAEV,sEAAsE;IACtE,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEK,MAAM,OAAO,GAAG,CAAO,KAA2B,EAAiB,EAAE;IAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;QAC5B,OAAO;KACR;IAED,qEAAqE;IACrE,IAAI;QACF,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,IAAA,kBAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClC,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC;YACrC,GAAG;YACH,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,aAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;YAC/B,CAAC,CAAC,4DAA4D;gBAC5D,IAAA,oBAAS,GAAE,CAAC,IAAI,EAAE;YACpB,CAAC,CAAC,wEAAwE;gBACxE,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;oBAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,GAAG;iBACJ,CAAC,CAAC,CAAC;QAER,aAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC;KACvC;IAAC,OAAO,GAAG,EAAE;QACZ,aAAG,CAAC,IAAI,CAAC,aAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACjD,aAAG,CAAC,IAAI,CACN,aAAG,CAAC,IAAI,CACN,oEAAoE,CACrE,CACF,CAAC;QACF,aAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACjB;AACH,CAAC,CAAA,CAAC;AA9CW,QAAA,OAAO,WA8ClB"}
@@ -27,6 +27,7 @@ exports.externalLint = exports.StreamInterceptor = void 0;
27
27
  const stream_1 = __importDefault(require("stream"));
28
28
  const logging_1 = require("../../utils/logging");
29
29
  const annotate_1 = require("./annotate");
30
+ const autofix_1 = require("./autofix");
30
31
  const eslint_1 = require("./eslint");
31
32
  const prettier_1 = require("./prettier");
32
33
  const tsc_1 = require("./tsc");
@@ -106,6 +107,11 @@ const externalLint = (input) => __awaiter(void 0, void 0, void 0, function* () {
106
107
  logging_1.log.newline();
107
108
  logging_1.log.err(`${tools.join(', ')} found issues that require triage.`);
108
109
  process.exitCode = 1;
110
+ if (eslint.ok && prettier.ok) {
111
+ // If these are fine then the issue lies with tsc, which we can't autofix.
112
+ return;
113
+ }
114
+ yield (0, autofix_1.autofix)(input);
109
115
  });
110
116
  exports.externalLint = externalLint;
111
117
  //# sourceMappingURL=external.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cli/lint/external.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cli/lint/external.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Whether the code is executing in a CI environment.
4
+ */
5
+ export declare const isCiEnv: (env?: NodeJS.ProcessEnv) => boolean;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCiEnv = void 0;
4
+ /**
5
+ * Whether the code is executing in a CI environment.
6
+ */
7
+ const isCiEnv = (env = process.env) => Boolean(env.BUILDKITE || env.CI || env.GITHUB_ACTIONS);
8
+ exports.isCiEnv = isCiEnv;
9
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAW,EAAE,CACpD,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAD5C,QAAA,OAAO,WACqC"}
package/package.json CHANGED
@@ -124,5 +124,5 @@
124
124
  "version": "4.0.0"
125
125
  },
126
126
  "types": "./lib/index.d.ts",
127
- "version": "4.1.1"
127
+ "version": "4.2.0-beta.0"
128
128
  }
@@ -3,11 +3,13 @@ version: '3.7'
3
3
  services:
4
4
  app:
5
5
  environment:
6
- # Enable Buildkite + GitHub annotation support.
6
+ # Enable Buildkite + GitHub integrations.
7
7
  - BUILDKITE
8
8
  - BUILDKITE_AGENT_ACCESS_TOKEN
9
+ - BUILDKITE_BRANCH
9
10
  - BUILDKITE_BUILD_NUMBER
10
11
  - BUILDKITE_JOB_ID
12
+ - BUILDKITE_PIPELINE_DEFAULT_BRANCH
11
13
  - BUILDKITE_STEP_ID
12
14
  - GITHUB_API_TOKEN
13
15
  image: ${BUILDKITE_PLUGIN_DOCKER_IMAGE:-''}
@@ -3,11 +3,13 @@ version: '3.7'
3
3
  services:
4
4
  app:
5
5
  environment:
6
- # Enable Buildkite + GitHub annotation support.
6
+ # Enable Buildkite + GitHub integrations.
7
7
  - BUILDKITE
8
8
  - BUILDKITE_AGENT_ACCESS_TOKEN
9
+ - BUILDKITE_BRANCH
9
10
  - BUILDKITE_BUILD_NUMBER
10
11
  - BUILDKITE_JOB_ID
12
+ - BUILDKITE_PIPELINE_DEFAULT_BRANCH
11
13
  - BUILDKITE_STEP_ID
12
14
  - GITHUB_API_TOKEN
13
15
  image: ${BUILDKITE_PLUGIN_DOCKER_IMAGE:-''}
@@ -3,11 +3,13 @@ version: '3.7'
3
3
  services:
4
4
  app:
5
5
  environment:
6
- # Enable Buildkite + GitHub annotation support.
6
+ # Enable Buildkite + GitHub integrations.
7
7
  - BUILDKITE
8
8
  - BUILDKITE_AGENT_ACCESS_TOKEN
9
+ - BUILDKITE_BRANCH
9
10
  - BUILDKITE_BUILD_NUMBER
10
11
  - BUILDKITE_JOB_ID
12
+ - BUILDKITE_PIPELINE_DEFAULT_BRANCH
11
13
  - BUILDKITE_STEP_ID
12
14
  - GITHUB_API_TOKEN
13
15
  image: ${BUILDKITE_PLUGIN_DOCKER_IMAGE:-''}
@@ -3,11 +3,13 @@ version: '3.7'
3
3
  services:
4
4
  app:
5
5
  environment:
6
- # Enable Buildkite + GitHub annotation support.
6
+ # Enable Buildkite + GitHub integrations.
7
7
  - BUILDKITE
8
8
  - BUILDKITE_AGENT_ACCESS_TOKEN
9
+ - BUILDKITE_BRANCH
9
10
  - BUILDKITE_BUILD_NUMBER
10
11
  - BUILDKITE_JOB_ID
12
+ - BUILDKITE_PIPELINE_DEFAULT_BRANCH
11
13
  - BUILDKITE_STEP_ID
12
14
  - GITHUB_API_TOKEN
13
15
  # Tag AWS resources with the commit hash.
@@ -19,7 +19,7 @@
19
19
  "SOMETHING": "prod"
20
20
  }
21
21
  }
22
- },
23
- "progress": "events"
24
- }
22
+ }
23
+ },
24
+ "progress": "events"
25
25
  }
@@ -3,11 +3,13 @@ version: '3.7'
3
3
  services:
4
4
  app:
5
5
  environment:
6
- # Enable Buildkite + GitHub annotation support.
6
+ # Enable Buildkite + GitHub integrations.
7
7
  - BUILDKITE
8
8
  - BUILDKITE_AGENT_ACCESS_TOKEN
9
+ - BUILDKITE_BRANCH
9
10
  - BUILDKITE_BUILD_NUMBER
10
11
  - BUILDKITE_JOB_ID
12
+ - BUILDKITE_PIPELINE_DEFAULT_BRANCH
11
13
  - BUILDKITE_STEP_ID
12
14
  - GITHUB_API_TOKEN
13
15
  # Tag AWS resources with the commit hash.
@@ -15,7 +15,7 @@
15
15
  "private": true,
16
16
  "scripts": {
17
17
  "build": "skuba build",
18
- "deploy": "cdk deploy appStack --require-approval never --context stage=${ENVIRONMENT} --progress events",
18
+ "deploy": "cdk deploy appStack --require-approval never --context stage=${ENVIRONMENT}",
19
19
  "format": "skuba format",
20
20
  "lint": "skuba lint",
21
21
  "package": "yarn install --ignore-optional --ignore-scripts --modules-folder ./lib/node_modules --non-interactive --offline --production",