diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..a9c4084 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +build: + rm -rf dist + yarn build + +upload-for-analytics: + VERSION=v$(node scripts/get-version.js) + # make sure sentry can retrieve current commit on remote + git push --tags + yarn sentry-cli releases new "$(VERSION)" + yarn sentry-cli releases set-commits "$(VERSION)" --auto + yarn sentry-cli releases files "$(VERSION)" upload-sourcemaps dist --no-rewrite + yarn sentry-cli releases finalize "$(VERSION)" + +compress: + rm -f dist/gitako.zip + cd dist && zip -r gitako.zip * -x *.map + +release: + $(MAKE) build + $(MAKE) upload-for-analytics + $(MAKE) compress diff --git a/package.json b/package.json index b034a84..b5d5721 100644 --- a/package.json +++ b/package.json @@ -7,12 +7,12 @@ "license": "MIT", "private": true, "scripts": { - "start": "webpack --watch", + "start": "VERSION=dev-v$(node scripts/get-version.js) webpack --watch", "debug-firefox": "web-ext run -s dist", "analyse-bundle": "ANALYSE= NODE_ENV=production webpack", - "build": "NODE_ENV=production webpack", + "build": "VERSION=v$(node scripts/get-version.js) NODE_ENV=production webpack", "postversion": "node scripts/version.js", - "roll": "./scripts/release.sh" + "roll": "make release" }, "dependencies": { "@primer/octicons": "^9.2.0", diff --git a/scripts/release.sh b/scripts/release.sh deleted file mode 100755 index bff0774..0000000 --- a/scripts/release.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -rm -rf dist -yarn build - -GIT_SHA=$(git rev-parse HEAD) -VERSION=v$(node scripts/get-version.js) -echo "Got version $VERSION" - -# sentry -git push --tags # make sure sentry can retrieve current commit on remote -yarn sentry-cli releases new "$VERSION" -yarn sentry-cli releases set-commits "$VERSION" --auto -yarn sentry-cli releases files "$VERSION" upload-sourcemaps dist --no-rewrite -yarn sentry-cli releases finalize "$VERSION" - -cd dist -rm -f ./gitako.zip -zip -r gitako.zip * -x *.map diff --git a/src/analytics.ts b/src/analytics.ts index 492c2f2..0fdf838 100644 --- a/src/analytics.ts +++ b/src/analytics.ts @@ -1,14 +1,13 @@ import * as Sentry from '@sentry/browser' import { Middleware } from 'driver/connect.js' -import { IN_PRODUCTION_MODE } from 'env' -import { version } from '../package.json' +import { IN_PRODUCTION_MODE, VERSION } from 'env' const PUBLIC_KEY = 'd22ec5c9cc874539a51c78388c12e3b0' const PROJECT_ID = '1406497' const sentryOptions: Sentry.BrowserOptions = { dsn: `https://${PUBLIC_KEY}@sentry.io/${PROJECT_ID}`, - release: `v${version}`, + release: VERSION, environment: IN_PRODUCTION_MODE ? 'production' : 'development', // Not safe to activate all integrations in non-Chrome environments where Gitako may not run in top context // https://docs.sentry.io/platforms/javascript/#sdk-integrations diff --git a/src/components/SettingsBar.tsx b/src/components/SettingsBar.tsx index 85a6087..f5fa77e 100644 --- a/src/components/SettingsBar.tsx +++ b/src/components/SettingsBar.tsx @@ -1,11 +1,10 @@ import { raiseError } from 'analytics' import { Icon } from 'components/Icon' -import { oauth } from 'env' +import { oauth, VERSION } from 'env' import * as React from 'react' import { Config, configKeys, setOne } from 'utils/configHelper' import { friendlyFormatShortcut, JSONRequest, parseURLSearch } from 'utils/general' import * as keyHelper from 'utils/keyHelper' -import { version } from '../../package.json' const WIKI_HOME_LINK = 'https://github.com/EnixCoda/Gitako/wiki' const wikiLinks = { @@ -348,7 +347,7 @@ export class SettingsBar extends React.PureComponent { target={'_blank'} title={'Check out new features!'} > - v{version} + {VERSION} {activated ? (