From 76b414c9618f79485f26991d65c7bc98d7cde1b8 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 09:46:16 +0000 Subject: [PATCH 01/18] Initial steps for CI publish --- .circleci/config.yml | 29 +++++++++++++++++++++++++++++ package.json | 11 ++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..3d63ede --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,29 @@ +version: 2 + +defaults: + working_directory: ~/repo + docker: + - image: circleci/node:8.9.1 + + +jobs: + publish: + <<: *defaults + steps: + - checkout + + - run: npm install + + - run: ls -al + +workflows: + version: 2 + publish: + jobs: + - deploy: + filters: + tags: + only: /\d+\.\d+\.\d+/ + branches: + only: ci + # ignore: /.*/ diff --git a/package.json b/package.json index a54b842..22d6c18 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,15 @@ "@aws-cdk/aws-cloudformation": "^1.21.1" }, "devDependencies": { - "auto-changelog": "^1.16.2" + "auto-changelog": "^1.16.2", + "@aws-cdk/aws-lambda": "^1.21.1", + "@aws-cdk/aws-iam": "^1.21.1", + "@aws-cdk/aws-s3": "^1.21.1", + "@aws-cdk/aws-s3-assets": "^1.21.1", + "@aws-cdk/aws-kms": "^1.21.1", + "@aws-cdk/aws-secretsmanager": "^1.21.1", + "@aws-cdk/core": "^1.21.1", + "@aws-cdk/custom-resources": "^1.21.1", + "@aws-cdk/aws-cloudformation": "^1.21.1" } } From 84884b0717b9ccb58363c36359fc42ab38c756b6 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 09:47:27 +0000 Subject: [PATCH 02/18] test --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3d63ede..02de9f3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,3 +27,4 @@ workflows: branches: only: ci # ignore: /.*/ + From 1111af42c57463e9c9034802f1fb52f194393efd Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 09:48:10 +0000 Subject: [PATCH 03/18] Don't use defaults --- .circleci/config.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 02de9f3..9c7c3e7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,14 +1,10 @@ version: 2 -defaults: - working_directory: ~/repo - docker: - - image: circleci/node:8.9.1 - - jobs: publish: - <<: *defaults + working_directory: ~/repo + docker: + - image: circleci/node:8.9.1 steps: - checkout @@ -27,4 +23,3 @@ workflows: branches: only: ci # ignore: /.*/ - From 08479a17f9bc56a39672121050a2cf5cdf9d3c7c Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 09:48:41 +0000 Subject: [PATCH 04/18] Fix job name --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9c7c3e7..84ded46 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,7 +16,7 @@ workflows: version: 2 publish: jobs: - - deploy: + - publish: filters: tags: only: /\d+\.\d+\.\d+/ From bceaf521ef9a8d3450fa192299c806eb53188bca Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 09:50:37 +0000 Subject: [PATCH 05/18] typescript dependency --- package.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 22d6c18..ed6761d 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "@aws-cdk/aws-secretsmanager": "^1.21.1", "@aws-cdk/core": "^1.21.1", "@aws-cdk/custom-resources": "^1.21.1", - "@aws-cdk/aws-cloudformation": "^1.21.1" + "@aws-cdk/aws-cloudformation": "^1.21.1", + "typescript": ">=3.0.0" }, "devDependencies": { "auto-changelog": "^1.16.2", @@ -31,6 +32,7 @@ "@aws-cdk/aws-secretsmanager": "^1.21.1", "@aws-cdk/core": "^1.21.1", "@aws-cdk/custom-resources": "^1.21.1", - "@aws-cdk/aws-cloudformation": "^1.21.1" + "@aws-cdk/aws-cloudformation": "^1.21.1", + "typescript": ">=3.0.0" } } From b6b8184f225d494512505808a6e6de8be684727a Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 09:57:28 +0000 Subject: [PATCH 06/18] Compile into build directory --- .circleci/config.yml | 6 +++++- package.json | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 84ded46..13642b5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,7 +10,11 @@ jobs: - run: npm install - - run: ls -al + - run: npm run compile + + - run: cp package.json ./build/package.json + + - run: cd ./build && ls -al workflows: version: 2 diff --git a/package.json b/package.json index ed6761d..7423920 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,8 @@ "postinstall": "npm run tsc && npm run get-sops", "get-sops": "wget https://github.com/mozilla/sops/releases/download/v3.5.0/sops-v3.5.0.linux -O ./provider/sops && chmod a+x ./provider/sops", "tsc": "tsc", + "clean": "rm -rf build/", + "compile": "npm run -- tsc --outDir build/ && cp -R ./provider ./build/provider", "version": "auto-changelog --template ./changelog_template.hbs -p && git add CHANGELOG.md" }, "dependencies": { From b944e21d3e7949c935fbefbaf70468ebd3599acb Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 09:59:53 +0000 Subject: [PATCH 07/18] And ignore build --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 3f3c009..79de73f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ # No sops binary provider/sops +# No build +build/ + # No package-lock.json package-lock.json From 3c2bb823c5a8c60f234839a2c77f489f924976e4 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:00:51 +0000 Subject: [PATCH 08/18] Check what cd actually did --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 13642b5..764c1c6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,6 +16,8 @@ jobs: - run: cd ./build && ls -al + - run: ls -al + workflows: version: 2 publish: From 34d25f75b888bc0b5e3e0fbdb43690451310602d Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:03:15 +0000 Subject: [PATCH 09/18] And publish --- .circleci/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 764c1c6..d225ecf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,7 +16,9 @@ jobs: - run: cd ./build && ls -al - - run: ls -al + - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> ~/repo/.npmrc + + - run: cd ./build && npm publish workflows: version: 2 From d55ffb68ff60a4c7902a3bd59f9bdfa3c4e93677 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:08:12 +0000 Subject: [PATCH 10/18] check npmrc --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index d225ecf..060d6ed 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,6 +18,8 @@ jobs: - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> ~/repo/.npmrc + - run: cat ~/repo/.npmrc + - run: cd ./build && npm publish workflows: From beeee5926abd8960f0818759b0dc2a81f07d63ef Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:11:18 +0000 Subject: [PATCH 11/18] update npm --- .circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 060d6ed..bffe5ea 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,6 +8,10 @@ jobs: steps: - checkout + - run: + name: update-npm + command: 'sudo npm install -g npm@latest' + - run: npm install - run: npm run compile From 176d250299d1b7f61d54210931c4c0cbdbdc5a7f Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:12:23 +0000 Subject: [PATCH 12/18] Try newer node image --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bffe5ea..24d7b4d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ jobs: publish: working_directory: ~/repo docker: - - image: circleci/node:8.9.1 + - image: circleci/node:12 steps: - checkout From 870ea29c0c018429cbf2be75c39c565710cc9b29 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:23:33 +0000 Subject: [PATCH 13/18] try specifying the registry --- .npmrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.npmrc b/.npmrc index 9555e17..d1fe122 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ tag-version-prefix="" +registry=https://registry.npmjs.org/ From 87dccebca54f7e0b9d170ab7364599e7f3588f04 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:26:56 +0000 Subject: [PATCH 14/18] Specify the npmrc file --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 24d7b4d..66236df 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -24,7 +24,7 @@ jobs: - run: cat ~/repo/.npmrc - - run: cd ./build && npm publish + - run: cd ./build && npm --userconfig="../.npmrc" publish workflows: version: 2 From 5f9333d86e2c111b01d68d0a8c5935766fe168f4 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:29:36 +0000 Subject: [PATCH 15/18] tidy --- .circleci/config.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 66236df..4de2d7d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,8 +22,6 @@ jobs: - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> ~/repo/.npmrc - - run: cat ~/repo/.npmrc - - run: cd ./build && npm --userconfig="../.npmrc" publish workflows: @@ -35,5 +33,4 @@ workflows: tags: only: /\d+\.\d+\.\d+/ branches: - only: ci - # ignore: /.*/ + ignore: /.*/ From 173e76f1e09a7b76d0984a75dcf90aaf54b31632 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:31:52 +0000 Subject: [PATCH 16/18] more tidying --- .circleci/config.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4de2d7d..af5c0f9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2 jobs: - publish: + build: working_directory: ~/repo docker: - image: circleci/node:12 @@ -20,6 +20,18 @@ jobs: - run: cd ./build && ls -al + - persist_to_workspace: + root: ~/repo + paths: . + + publish: + working_directory: ~/repo + docker: + - image: circleci/node:12 + steps: + - attach_workspace: + at: ~/repo + - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> ~/repo/.npmrc - run: cd ./build && npm --userconfig="../.npmrc" publish @@ -28,9 +40,13 @@ workflows: version: 2 publish: jobs: + - build - publish: + requires: + - build filters: tags: only: /\d+\.\d+\.\d+/ branches: - ignore: /.*/ + # ignore: /.*/ + only: ci From 1b61e7e38f3e0c064d9663f32672753d6c8fe5b9 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:33:17 +0000 Subject: [PATCH 17/18] More tidying --- .circleci/config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index af5c0f9..67b080f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -48,5 +48,4 @@ workflows: tags: only: /\d+\.\d+\.\d+/ branches: - # ignore: /.*/ - only: ci + ignore: /.*/ From 5c5e65c54d6ec9604bb6637d84fa54c3e3d76c64 Mon Sep 17 00:00:00 2001 From: Andrew Plummer Date: Thu, 27 Feb 2020 10:34:05 +0000 Subject: [PATCH 18/18] And copy the README --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 67b080f..25dec10 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,6 +18,8 @@ jobs: - run: cp package.json ./build/package.json + - run: cp README.md ./build/README.md + - run: cd ./build && ls -al - persist_to_workspace: