aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.default.env7
-rw-r--r--.release-it.json3
-rw-r--r--Makefile13
-rw-r--r--package-lock.json83
-rw-r--r--package.json1
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",