skuba 4.2.2 → 4.3.1

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 (72) hide show
  1. package/README.md +1 -1
  2. package/jest-preset.js +5 -1
  3. package/lib/api/git/index.d.ts +1 -0
  4. package/lib/api/git/index.js +3 -1
  5. package/lib/api/git/index.js.map +1 -1
  6. package/lib/api/git/pull.d.ts +35 -0
  7. package/lib/api/git/pull.js +34 -0
  8. package/lib/api/git/pull.js.map +1 -0
  9. package/lib/api/github/index.d.ts +1 -0
  10. package/lib/api/github/index.js +5 -1
  11. package/lib/api/github/index.js.map +1 -1
  12. package/lib/api/github/push.d.ts +73 -0
  13. package/lib/api/github/push.js +148 -0
  14. package/lib/api/github/push.js.map +1 -0
  15. package/lib/api/jest/index.d.ts +20 -20
  16. package/lib/cli/configure/analyseDependencies.js +1 -2
  17. package/lib/cli/configure/analyseDependencies.js.map +1 -1
  18. package/lib/cli/configure/analysis/diff.d.ts +1 -1
  19. package/lib/cli/configure/analysis/package.d.ts +1 -1
  20. package/lib/cli/configure/processing/ignoreFile.d.ts +1 -1
  21. package/lib/cli/configure/processing/javascript.d.ts +1 -1
  22. package/lib/cli/configure/processing/json.d.ts +1 -1
  23. package/lib/cli/configure/processing/package.d.ts +12 -12
  24. package/lib/cli/lint/autofix.js +24 -13
  25. package/lib/cli/lint/autofix.js.map +1 -1
  26. package/lib/cli/lint/external.d.ts +1 -0
  27. package/lib/cli/test/reporters/github/annotations.js +23 -8
  28. package/lib/cli/test/reporters/github/annotations.js.map +1 -1
  29. package/lib/utils/args.d.ts +1 -1
  30. package/lib/utils/error.d.ts +1 -1
  31. package/lib/utils/version.d.ts +1 -0
  32. package/lib/utils/version.js +11 -3
  33. package/lib/utils/version.js.map +1 -1
  34. package/lib/wrapper/http.d.ts +1 -1
  35. package/package.json +46 -17
  36. package/template/express-rest-api/.buildkite/pipeline.yml +4 -4
  37. package/template/express-rest-api/.gantry/common.yml +1 -1
  38. package/template/express-rest-api/Dockerfile +1 -1
  39. package/template/express-rest-api/Dockerfile.dev-deps +1 -1
  40. package/template/express-rest-api/README.md +11 -14
  41. package/template/express-rest-api/gantry.apply.yml +2 -0
  42. package/template/express-rest-api/gantry.build.yml +2 -0
  43. package/template/express-rest-api/package.json +1 -1
  44. package/template/greeter/.buildkite/pipeline.yml +1 -1
  45. package/template/greeter/Dockerfile +1 -1
  46. package/template/greeter/README.md +12 -15
  47. package/template/koa-rest-api/.buildkite/pipeline.yml +4 -4
  48. package/template/koa-rest-api/.gantry/common.yml +1 -1
  49. package/template/koa-rest-api/Dockerfile +1 -1
  50. package/template/koa-rest-api/Dockerfile.dev-deps +1 -1
  51. package/template/koa-rest-api/README.md +11 -14
  52. package/template/koa-rest-api/gantry.apply.yml +2 -0
  53. package/template/koa-rest-api/gantry.build.yml +2 -0
  54. package/template/koa-rest-api/package.json +6 -6
  55. package/template/lambda-sqs-worker/.buildkite/pipeline.yml +2 -3
  56. package/template/lambda-sqs-worker/Dockerfile +1 -1
  57. package/template/lambda-sqs-worker/README.md +10 -13
  58. package/template/lambda-sqs-worker/package.json +1 -1
  59. package/template/lambda-sqs-worker/serverless.yml +0 -3
  60. package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +2 -2
  61. package/template/lambda-sqs-worker-cdk/Dockerfile +1 -1
  62. package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +6 -0
  63. package/template/lambda-sqs-worker-cdk/infra/appStack.ts +1 -0
  64. package/template/oss-npm-package/README.md +9 -11
  65. package/template/private-npm-package/README.md +6 -12
  66. package/template/express-rest-api/.me +0 -22
  67. package/template/greeter/.me +0 -20
  68. package/template/koa-rest-api/.me +0 -22
  69. package/template/lambda-sqs-worker/.me +0 -22
  70. package/template/lambda-sqs-worker-cdk/.me +0 -22
  71. package/template/oss-npm-package/.me +0 -21
  72. package/template/private-npm-package/.me +0 -21
@@ -11,3 +11,5 @@ buildArgs:
11
11
 
12
12
  # SEEK-Jobs/gantry#1661
13
13
  failOnScanFindings: false
14
+
15
+ cpuArchitecture: arm64
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "dependencies": {
3
- "@koa/router": "^10.1.1",
3
+ "@koa/router": "^12.0.0",
4
4
  "@opentelemetry/api": "^1.1.0",
5
5
  "@opentelemetry/exporter-collector-grpc": "^0.25.0",
6
- "@opentelemetry/instrumentation-aws-sdk": "^0.7.0",
7
- "@opentelemetry/instrumentation-http": "^0.28.0",
8
- "@opentelemetry/sdk-node": "^0.28.0",
6
+ "@opentelemetry/instrumentation-aws-sdk": "^0.8.0",
7
+ "@opentelemetry/instrumentation-http": "^0.31.0",
8
+ "@opentelemetry/sdk-node": "^0.31.0",
9
9
  "@seek/logger": "^5.0.1",
10
10
  "aws-sdk": "^2.1039.0",
11
11
  "hot-shots": "^9.0.0",
@@ -15,7 +15,7 @@
15
15
  "runtypes": "^6.4.1",
16
16
  "runtypes-filter": "^0.6.0",
17
17
  "seek-datadog-custom-metrics": "^4.0.0",
18
- "seek-koala": "^5.2.1",
18
+ "seek-koala": "^6.0.0",
19
19
  "skuba-dive": "^2.0.0",
20
20
  "uuid": "^8.3.2"
21
21
  },
@@ -28,7 +28,7 @@
28
28
  "@types/supertest": "^2.0.11",
29
29
  "@types/uuid": "^8.3.1",
30
30
  "chance": "^1.1.8",
31
- "pino-pretty": "^7.1.0",
31
+ "pino-pretty": "^8.0.0",
32
32
  "skuba": "*",
33
33
  "supertest": "^6.1.6"
34
34
  },
@@ -32,10 +32,9 @@ configs:
32
32
  - *aws-sm
33
33
  - *private-npm
34
34
  - *docker-ecr-cache
35
- - docker-compose#v3.9.0:
35
+ - docker-compose#v3.10.0:
36
36
  dependencies: false
37
37
  run: app
38
- tty: false
39
38
  retry:
40
39
  manual:
41
40
  # Only use this if you need to roll back a deployment ASAP.
@@ -61,7 +60,7 @@ steps:
61
60
  - *aws-sm
62
61
  - *private-npm
63
62
  - *docker-ecr-cache
64
- - docker-compose#v3.9.0:
63
+ - docker-compose#v3.10.0:
65
64
  run: app
66
65
  timeout_in_minutes: 10
67
66
 
@@ -1,6 +1,6 @@
1
1
  # syntax=docker/dockerfile:1.2
2
2
 
3
- FROM node:16-alpine AS dev-deps
3
+ FROM --platform=arm64 node:16-alpine AS dev-deps
4
4
 
5
5
  WORKDIR /workdir
6
6
 
@@ -4,23 +4,25 @@
4
4
 
5
5
  Next steps:
6
6
 
7
- 1. [ ] Finish templating if this was skipped earlier:
7
+ 1. [ ] Check if your team has a Graviton-based Buildkite cluster;
8
+ see the [ARM64 guide] for more information.
9
+ 2. [ ] Finish templating if this was skipped earlier:
8
10
 
9
11
  ```shell
10
12
  yarn skuba configure
11
13
  ```
12
14
 
13
- 2. [ ] Create a new repository in the appropriate GitHub organisation.
14
- 3. [ ] Add the repository to BuildAgency;
15
+ 3. [ ] Create a new repository in the appropriate GitHub organisation.
16
+ 4. [ ] Add the repository to BuildAgency;
15
17
  see [Builds at SEEK] for more information.
16
- 4. [ ] Fill out [.me](.me) to power SEEK's system catalogue;
17
- see the [Codex] documentation for more information.
18
18
  5. [ ] Add deployment bucket configuration and data classification tags to [serverless.yml](serverless.yml).
19
19
  6. [ ] Push local commits to the upstream GitHub branch.
20
20
  7. [ ] Configure [GitHub repository settings].
21
- 8. [ ] Keep dependencies up to date with [Renovate];
22
- request installation in [SEEK-Jobs/renovate].
23
- 9. [ ] Delete this checklist 😌.
21
+ 8. [ ] Delete this checklist 😌.
22
+
23
+ [arm64 guide]: https://seek-oss.github.io/skuba/docs/deep-dives/arm64.html
24
+ [builds at seek]: https://builds-at-seek.ssod.skinfra.xyz
25
+ [github repository settings]: https://github.com/<%-orgName%>/<%-repoName%>/settings
24
26
 
25
27
  ## Design
26
28
 
@@ -127,12 +129,7 @@ TODO: add support links for the prod environment.
127
129
  - Splunk logs
128
130
  -->
129
131
 
130
- [builds at seek]: https://builds-at-seek.ssod.skinfra.xyz
131
132
  [codedeploy]: https://docs.aws.amazon.com/codedeploy
132
- [codex]: https://codex.ssod.skinfra.xyz/docs
133
- [github repository settings]: https://github.com/<%-orgName%>/<%-repoName%>/settings
134
133
  [lambda]: https://docs.aws.amazon.com/lambda
135
- [renovate]: https://github.com/apps/renovate
136
- [seek-jobs/renovate]: https://github.com/SEEK-Jobs/renovate
137
134
  [serverless]: https://www.serverless.com/
138
135
  [technology strategy]: https://tech-strategy.ssod.skinfra.xyz
@@ -12,7 +12,7 @@
12
12
  "@types/chance": "^1.1.3",
13
13
  "@types/node": "^16.0.0",
14
14
  "chance": "^1.1.8",
15
- "pino-pretty": "^7.1.0",
15
+ "pino-pretty": "^8.0.0",
16
16
  "serverless": "^3.17.0",
17
17
  "serverless-plugin-canary-deployments": "^0.8.0",
18
18
  "serverless-prune-plugin": "^2.0.0",
@@ -54,9 +54,6 @@ provider:
54
54
  - Action: sns:Publish
55
55
  Effect: Allow
56
56
  Resource: !Ref DestinationTopic
57
- - Action: sqs:SendMessage*
58
- Effect: Allow
59
- Resource: !GetAtt DeadLetterQueue.Arn
60
57
  stackTags:
61
58
  # TODO: add data classification tags
62
59
  # https://rfc.skinfra.xyz/RFC019-AWS-Tagging-Standard.html#seekdataconsumers
@@ -32,7 +32,7 @@ configs:
32
32
  - *aws-sm
33
33
  - *private-npm
34
34
  - *docker-ecr-cache
35
- - docker-compose#v3.9.0:
35
+ - docker-compose#v3.10.0:
36
36
  dependencies: false
37
37
  run: app
38
38
  retry:
@@ -57,7 +57,7 @@ steps:
57
57
  - *aws-sm
58
58
  - *private-npm
59
59
  - *docker-ecr-cache
60
- - docker-compose#v3.9.0:
60
+ - docker-compose#v3.10.0:
61
61
  run: app
62
62
  timeout_in_minutes: 10
63
63
 
@@ -1,6 +1,6 @@
1
1
  # syntax=docker/dockerfile:1.2
2
2
 
3
- FROM node:16-alpine AS dev-deps
3
+ FROM --platform=arm64 node:16-alpine AS dev-deps
4
4
 
5
5
  WORKDIR /workdir
6
6
 
@@ -146,6 +146,9 @@ Object {
146
146
  "workerServiceRole2130CC7F",
147
147
  ],
148
148
  "Properties": Object {
149
+ "Architectures": Array [
150
+ "arm64",
151
+ ],
149
152
  "Code": Object {
150
153
  "S3Bucket": Object {
151
154
  "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}",
@@ -502,6 +505,9 @@ Object {
502
505
  "workerServiceRole2130CC7F",
503
506
  ],
504
507
  "Properties": Object {
508
+ "Architectures": Array [
509
+ "arm64",
510
+ ],
505
511
  "Code": Object {
506
512
  "S3Bucket": Object {
507
513
  "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}",
@@ -51,6 +51,7 @@ export class AppStack extends Stack {
51
51
  });
52
52
 
53
53
  const worker = new aws_lambda.Function(this, 'worker', {
54
+ architecture: aws_lambda.Architecture.ARM_64,
54
55
  code: new aws_lambda.AssetCode('./lib'),
55
56
  runtime: aws_lambda.Runtime.NODEJS_16_X,
56
57
  handler: 'app.handler',
@@ -10,13 +10,16 @@ Next steps:
10
10
 
11
11
  1. [ ] Read [SEEK's Open Source RFC].
12
12
  2. [ ] Create a new repository in the [seek-oss] GitHub organisation.
13
- 3. [ ] Fill out [.me](.me) to power SEEK's system catalogue;
14
- see the [Codex] documentation for more information.
15
- 4. [ ] Push local commits to the upstream GitHub branch.
16
- 5. [ ] Configure [GitHub repository settings].
17
- 6. [ ] Keep dependencies up to date with [Renovate];
13
+ 3. [ ] Push local commits to the upstream GitHub branch.
14
+ 4. [ ] Configure [GitHub repository settings].
15
+ 5. [ ] Keep dependencies up to date with [Renovate];
18
16
  request installation in [#open-source].
19
- 7. [ ] Delete this checklist 😌.
17
+ 6. [ ] Delete this checklist 😌.
18
+
19
+ [#open-source]: https://slack.com/app_redirect?channel=C39P1H2SU
20
+ [github repository settings]: https://github.com/<%-orgName%>/<%-repoName%>/settings
21
+ [renovate]: https://github.com/apps/renovate
22
+ [seek's open source rfc]: https://rfc.skinfra.xyz/RFC016-Open-Source.html
20
23
 
21
24
  ## API
22
25
 
@@ -117,14 +120,9 @@ Here are some branches that **semantic-release** supports by default:
117
120
 
118
121
  For more information, see the **semantic-release** docs on [triggering a release].
119
122
 
120
- [#open-source]: https://slack.com/app_redirect?channel=C39P1H2SU
121
- [codex]: https://codex.ssod.skinfra.xyz/docs
122
123
  [distribution tags]: https://docs.npmjs.com/adding-dist-tags-to-packages
123
124
  [oss npm package guidance]: https://github.com/SEEK-Jobs/seek-oss-ci/blob/master/NPM_PACKAGES.md#access-to-publish-to-npm
124
125
  [release workflow]: .github/workflows/release.yml
125
126
  [seek-oss]: https://github.com/seek-oss
126
- [github repository settings]: https://github.com/<%-orgName%>/<%-repoName%>/settings
127
- [seek's open source rfc]: https://rfc.skinfra.xyz/RFC016-Open-Source.html
128
- [renovate]: https://github.com/apps/renovate
129
127
  [semantic-release]: https://github.com/semantic-release/semantic-release
130
128
  [triggering a release]: https://github.com/semantic-release/semantic-release/#triggering-a-release
@@ -10,13 +10,12 @@ Next steps:
10
10
 
11
11
  1. [ ] Create a new repository in the [SEEK-Jobs] GitHub organisation.
12
12
  2. [ ] Follow [Gutenberg] instructions for [installing on your repository].
13
- 3. [ ] Fill out [.me](.me) to power SEEK's system catalogue;
14
- see the [Codex] documentation for more information.
15
- 4. [ ] Push local commits to the upstream GitHub branch.
16
- 5. [ ] Configure [GitHub repository settings].
17
- 6. [ ] Keep dependencies up to date with [Renovate];
18
- request installation in [SEEK-Jobs/renovate].
19
- 7. [ ] Delete this checklist 😌.
13
+ 3. [ ] Push local commits to the upstream GitHub branch.
14
+ 4. [ ] Configure [GitHub repository settings].
15
+ 5. [ ] Delete this checklist 😌.
16
+
17
+ [github repository settings]: https://github.com/<%-orgName%>/<%-repoName%>/settings
18
+ [installing on your repository]: https://github.com/SEEK-Jobs/gutenberg#installing-on-your-repository
20
19
 
21
20
  ## API
22
21
 
@@ -103,13 +102,8 @@ Here are some branches that **semantic-release** supports by default:
103
102
 
104
103
  For more information, see the **semantic-release** docs on [triggering a release].
105
104
 
106
- [codex]: https://codex.ssod.skinfra.xyz/docs
107
105
  [distribution tags]: https://docs.npmjs.com/adding-dist-tags-to-packages
108
- [github repository settings]: https://github.com/<%-orgName%>/<%-repoName%>/settings
109
106
  [gutenberg]: https://github.com/SEEK-Jobs/gutenberg
110
- [installing on your repository]: https://github.com/SEEK-Jobs/gutenberg#installing-on-your-repository
111
- [renovate]: https://github.com/apps/renovate
112
107
  [seek-jobs]: https://github.com/orgs/seek-jobs/sso
113
- [seek-jobs/renovate]: https://github.com/SEEK-Jobs/renovate
114
108
  [semantic-release]: https://github.com/semantic-release/semantic-release
115
109
  [triggering a release]: https://github.com/semantic-release/semantic-release/#triggering-a-release
@@ -1,22 +0,0 @@
1
- ---
2
- # https://codex.ssod.skinfra.xyz/docs
3
-
4
- components:
5
- '<%- repoName %>':
6
- # TODO: supply system catalog information
7
- # dependencies:
8
- # - type: api
9
- # key: SEEK-Jobs/???
10
- # - type: datastore
11
- # arn: arn:aws:dynamodb:us-east-1:123456789012:table/???
12
- # - type: datastore
13
- # key: infrastructure/???
14
- deploy_target: API
15
- # is_production_system: true
16
- primary_technologies:
17
- - Buildkite
18
- - Express
19
- - Gantry
20
- - skuba
21
- - TypeScript
22
- # scope: APAC
@@ -1,20 +0,0 @@
1
- ---
2
- # https://codex.ssod.skinfra.xyz/docs
3
-
4
- components:
5
- '<%- repoName %>':
6
- # TODO: supply system catalog information
7
- # dependencies:
8
- # - type: api
9
- # key: SEEK-Jobs/???
10
- # - type: datastore
11
- # arn: arn:aws:dynamodb:us-east-1:123456789012:table/???
12
- # - type: datastore
13
- # key: infrastructure/???
14
- # deploy_target: Documentation
15
- # is_production_system: false
16
- primary_technologies:
17
- - Buildkite
18
- - skuba
19
- - TypeScript
20
- # scope: APAC
@@ -1,22 +0,0 @@
1
- ---
2
- # https://codex.ssod.skinfra.xyz/docs
3
-
4
- components:
5
- '<%- repoName %>':
6
- # TODO: supply system catalog information
7
- # dependencies:
8
- # - type: api
9
- # key: SEEK-Jobs/???
10
- # - type: datastore
11
- # arn: arn:aws:dynamodb:us-east-1:123456789012:table/???
12
- # - type: datastore
13
- # key: infrastructure/???
14
- deploy_target: API
15
- # is_production_system: true
16
- primary_technologies:
17
- - Buildkite
18
- - Gantry
19
- - Koa
20
- - skuba
21
- - TypeScript
22
- # scope: APAC
@@ -1,22 +0,0 @@
1
- ---
2
- # https://codex.ssod.skinfra.xyz/docs
3
-
4
- components:
5
- '<%- repoName %>':
6
- # TODO: supply system catalog information
7
- # dependencies:
8
- # - type: api
9
- # key: SEEK-Jobs/???
10
- # - type: datastore
11
- # arn: arn:aws:dynamodb:us-east-1:123456789012:table/???
12
- # - type: datastore
13
- # key: infrastructure/???
14
- deploy_target: Worker
15
- # is_production_system: true
16
- primary_technologies:
17
- - AWS Lambda
18
- - Buildkite
19
- - Serverless
20
- - skuba
21
- - TypeScript
22
- # scope: APAC
@@ -1,22 +0,0 @@
1
- ---
2
- # https://codex.ssod.skinfra.xyz/docs
3
-
4
- components:
5
- '<%- repoName %>':
6
- # TODO: supply system catalog information
7
- # dependencies:
8
- # - type: api
9
- # key: SEEK-Jobs/???
10
- # - type: datastore
11
- # arn: arn:aws:dynamodb:us-east-1:123456789012:table/???
12
- # - type: datastore
13
- # key: infrastructure/???
14
- deploy_target: Worker
15
- # is_production_system: true
16
- primary_technologies:
17
- - AWS CDK
18
- - AWS Lambda
19
- - Buildkite
20
- - skuba
21
- - TypeScript
22
- # scope: APAC
@@ -1,21 +0,0 @@
1
- ---
2
- # https://codex.ssod.skinfra.xyz/docs
3
-
4
- components:
5
- '<%- repoName %>':
6
- # TODO: supply system catalog information
7
- # dependencies:
8
- # - type: api
9
- # key: SEEK-Jobs/???
10
- # - type: datastore
11
- # arn: arn:aws:dynamodb:us-east-1:123456789012:table/???
12
- # - type: datastore
13
- # key: infrastructure/???
14
- deploy_target: Library
15
- # is_production_system: false
16
- primary_technologies:
17
- - GitHub Actions
18
- - npm
19
- - skuba
20
- - TypeScript
21
- # scope: APAC
@@ -1,21 +0,0 @@
1
- ---
2
- # https://codex.ssod.skinfra.xyz/docs
3
-
4
- components:
5
- '<%- repoName %>':
6
- # TODO: supply system catalog information
7
- # dependencies:
8
- # - type: api
9
- # key: SEEK-Jobs/???
10
- # - type: datastore
11
- # arn: arn:aws:dynamodb:us-east-1:123456789012:table/???
12
- # - type: datastore
13
- # key: infrastructure/???
14
- deploy_target: Library
15
- # is_production_system: false
16
- primary_technologies:
17
- - Buildkite
18
- - npm
19
- - skuba
20
- - TypeScript
21
- # scope: APAC