From 25119af7a9875275a00e32281685e17b6a9aabd1 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Thu, 7 Nov 2019 14:10:00 +0100 Subject: build: add @sentry/cli to release process --- .default.env | 7 ++++- .release-it.json | 3 +- Makefile | 13 +++++++-- package-lock.json | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 5 files changed, 102 insertions(+), 5 deletions(-) diff --git a/.default.env b/.default.env index d6692ef..16df89f 100644 --- a/.default.env +++ b/.default.env @@ -4,4 +4,9 @@ ENV=dev # GitHub token used by release-it to publish releases -GITHUB_TOKEN= \ No newline at end of file +GITHUB_TOKEN= + +# Sentry variables used to publish releases to Sentry +SENTRY_AUTH_TOKEN= +SENTRY_ORG=club1 +SENTRY_PROJECT=wcms \ No newline at end of file diff --git a/.release-it.json b/.release-it.json index 2ac256c..7ab2857 100644 --- a/.release-it.json +++ b/.release-it.json @@ -10,6 +10,7 @@ ] }, "hooks": { - "after:git:release": "make dist" + "after:git:release": "make dist", + "after:release": "make sentryrelease" } } \ No newline at end of file diff --git a/Makefile b/Makefile index 70722f4..7ca1932 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ export PATH := vendor/bin:node_modules/.bin:$(PATH) override GIT_VERSION := $(shell git --no-pager describe --always --tags) -override CUR_VERSION := $(strip $(shell cat VERSION)) +override CUR_VERSION := $(strip $(shell cat VERSION 2>/dev/null)) js_sources := $(wildcard src/*.js) js_bundles := $(js_sources:src/%.js=assets/js/%.bundle.js) @@ -18,9 +18,16 @@ build: VERSION $(js_bundles) watch: node_modules webpack --env dev --watch -release: +release: node_modules release-it +sentryrelease: ENV := prod +sentryrelease: build + sentry-cli releases new $(GIT_VERSION) + sentry-cli releases set-commits $(GIT_VERSION) --auto + sentry-cli releases files $(GIT_VERSION) upload-sourcemaps assets/js --url-prefix '~/assets/js' + sentry-cli releases finalize $(GIT_VERSION) + dist: distclean $(zip_release) $(js_srcmaps) dist/%: ENV := prod @@ -86,4 +93,4 @@ buildclean: FORCE: ; -.PHONY: all build watch release dist clean distclean buildclean +.PHONY: all build watch release sentryrelease dist clean distclean buildclean diff --git a/package-lock.json b/package-lock.json index b1f576c..b31f92e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -124,6 +124,20 @@ "universal-user-agent": "^4.0.0" } }, + "@sentry/cli": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.49.0.tgz", + "integrity": "sha512-Augz7c42Cxz/xWQ/NOVjUGePKVA370quvskWbCICMUwxcTvKnCLI+7KDdzEoCexj4MSuxFfBzLnrrn4w2+c9TQ==", + "dev": true, + "requires": { + "fs-copy-file-sync": "^1.1.1", + "https-proxy-agent": "^3.0.0", + "mkdirp": "^0.5.1", + "node-fetch": "^2.1.2", + "progress": "2.0.0", + "proxy-from-env": "^1.0.0" + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -362,6 +376,15 @@ "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", "dev": true }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -1667,6 +1690,21 @@ "is-arrayish": "^0.2.1" } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -2097,6 +2135,12 @@ "readable-stream": "^2.0.0" } }, + "fs-copy-file-sync": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz", + "integrity": "sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==", + "dev": true + }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -2919,6 +2963,33 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -4327,6 +4398,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -4339,6 +4416,12 @@ "integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==", "dev": true }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", diff --git a/package.json b/package.json index 001c71e..58dde93 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "codemirror": "^5.49.0" }, "devDependencies": { + "@sentry/cli": "^1.49.0", "css-loader": "^3.2.0", "prettier": "^1.18.2", "prettier-webpack-plugin": "^1.2.0", -- cgit v1.2.3