diff options
-rw-r--r-- | .github/workflows/create_sentry_release.yml | 21 | ||||
-rw-r--r-- | src/index.tsx | 5 | ||||
-rw-r--r-- | webpack.config.js | 8 |
3 files changed, 25 insertions, 9 deletions
diff --git a/.github/workflows/create_sentry_release.yml b/.github/workflows/create_sentry_release.yml index 4ae20bb..d258c5d 100644 --- a/.github/workflows/create_sentry_release.yml +++ b/.github/workflows/create_sentry_release.yml @@ -13,16 +13,23 @@ jobs: steps: - uses: actions/checkout@v2 - uses: EgorDm/gha-yarn-node-cache@v1 - + - name: Install dependencies run: yarn install - + + - name: Set SHA + id: commit-sha + run: | + if ${{ github.ref == 'refs/heads/main' }}; + then echo "::set-output name=sha::${{ github.sha }}"; + else echo "::set-output name=sha::${{ github.event.pull_request.head.sha }}"; + fi; + - name: Build application run: yarn build env: REACT_APP_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - REACT_APP_SHA: ${{ github.sha }} - REACT_APP_BRANCH: main + COMMIT_REF: ${{ steps.commit-sha.outputs.sha }} REACT_APP_OAUTH2_CLIENT_ID: ${{ secrets.CLIENT_ID }} - name: Create Sentry release (production) @@ -34,7 +41,8 @@ jobs: SENTRY_PROJECT: forms-frontend with: environment: production - sourcemaps: ./build/static/js/ + sourcemaps: ./build/ + version: ${{ steps.commit-sha.outputs.sha }} version_prefix: forms-frontend@ - name: Create Sentry release (deploy preview) @@ -46,5 +54,6 @@ jobs: SENTRY_PROJECT: forms-frontend with: environment: deploy-preview - sourcemaps: ./build/static/js/ + sourcemaps: ./build/ + version: ${{ steps.commit-sha.outputs.sha }} version_prefix: forms-frontend@ diff --git a/src/index.tsx b/src/index.tsx index 871eb40..9eea4ce 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -14,6 +14,11 @@ if (process.env.NODE_ENV === "production") { release: `forms-frontend@${process.env.REACT_APP_SHA}`, environment: process.env.CONTEXT }); + + // Set tag as PR number, "main", or if unavailable, "unknown" + const branch = process.env.REACT_APP_BRANCH ?? "unknown"; + const branch_name = branch.replace(RegExp("pull/|/head", "g"), ""); + Sentry.setTag(branch_name === "main" ? "branch" : "pull_request", branch_name); } console.log("%c Python Discord Forms ", `font-size: 6em; font-family: "Hind", "Arial"; font-weight: 900; background-color: ${colors.blurple}; border-radius: 10px;`); diff --git a/webpack.config.js b/webpack.config.js index 93e7e9d..e24c8f1 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -6,13 +6,15 @@ if (process.env.NODE_ENV === "development") { require("dotenv").config(); } module.exports = { entry: "./src/index.tsx", - mode: process.env.NODE_ENV, + mode: process.env.NODE_ENV || "production", output: { path: path.resolve(__dirname, "build"), - filename: "[name].[contenthash].bundle.js", + filename: "[name].bundle.js", + sourceMapFilename: "[name].bundle.js.map", publicPath: "/", - devtoolModuleFilenameTemplate: "file:///" + path.resolve(__dirname, "[resource-path]?[loaders]") + devtoolModuleFilenameTemplate: "[resource-path]" }, + devtool: "source-map", optimization: { splitChunks: { chunks: 'all', |