mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-17 22:37:04 +08:00
ci: add sentry env when frontend assets build (#5131)
This commit is contained in:
6
.github/workflows/deploy.yml
vendored
6
.github/workflows/deploy.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
|||||||
build-core:
|
build-core:
|
||||||
name: Build @affine/core
|
name: Build @affine/core
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
environment: ${{ github.event.inputs.flavor }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
@@ -52,6 +52,10 @@ jobs:
|
|||||||
SHOULD_REPORT_TRACE: true
|
SHOULD_REPORT_TRACE: true
|
||||||
TRACE_REPORT_ENDPOINT: ${{ secrets.TRACE_REPORT_ENDPOINT }}
|
TRACE_REPORT_ENDPOINT: ${{ secrets.TRACE_REPORT_ENDPOINT }}
|
||||||
CAPTCHA_SITE_KEY: ${{ secrets.CAPTCHA_SITE_KEY }}
|
CAPTCHA_SITE_KEY: ${{ secrets.CAPTCHA_SITE_KEY }}
|
||||||
|
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
||||||
|
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
||||||
|
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
||||||
- name: Upload core artifact
|
- name: Upload core artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/nightly-build.yml
vendored
2
.github/workflows/nightly-build.yml
vendored
@@ -70,8 +70,8 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
||||||
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
||||||
NEXT_PUBLIC_SENTRY_DSN: ${{ secrets.NEXT_PUBLIC_SENTRY_DSN }}
|
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
||||||
RELEASE_VERSION: ${{ needs.set-build-version.outputs.version }}
|
RELEASE_VERSION: ${{ needs.set-build-version.outputs.version }}
|
||||||
|
|
||||||
- name: Upload core artifact
|
- name: Upload core artifact
|
||||||
|
|||||||
2
.github/workflows/release-desktop-app.yml
vendored
2
.github/workflows/release-desktop-app.yml
vendored
@@ -40,6 +40,7 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
before-make:
|
before-make:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
environment: ${{ github.event.inputs.build-type || (github.ref_type == 'tag' && contains(github.ref, 'canary') && 'canary') }}
|
||||||
outputs:
|
outputs:
|
||||||
RELEASE_VERSION: ${{ steps.get-canary-version.outputs.RELEASE_VERSION }}
|
RELEASE_VERSION: ${{ steps.get-canary-version.outputs.RELEASE_VERSION }}
|
||||||
steps:
|
steps:
|
||||||
@@ -65,6 +66,7 @@ jobs:
|
|||||||
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
||||||
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
||||||
RELEASE_VERSION: ${{ github.event.inputs.version || steps.get-canary-version.outputs.RELEASE_VERSION }}
|
RELEASE_VERSION: ${{ github.event.inputs.version || steps.get-canary-version.outputs.RELEASE_VERSION }}
|
||||||
SKIP_PLUGIN_BUILD: 'true'
|
SKIP_PLUGIN_BUILD: 'true'
|
||||||
|
|
||||||
|
|||||||
2
nx.json
2
nx.json
@@ -56,7 +56,7 @@
|
|||||||
"env": "SENTRY_AUTH_TOKEN"
|
"env": "SENTRY_AUTH_TOKEN"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"env": "NEXT_PUBLIC_SENTRY_DSN"
|
"env": "SENTRY_DSN"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"env": "DISTRIBUTION"
|
"env": "DISTRIBUTION"
|
||||||
|
|||||||
@@ -351,9 +351,7 @@ export const createConfiguration: (
|
|||||||
'process.env.CAPTCHA_SITE_KEY': JSON.stringify(
|
'process.env.CAPTCHA_SITE_KEY': JSON.stringify(
|
||||||
process.env.CAPTCHA_SITE_KEY
|
process.env.CAPTCHA_SITE_KEY
|
||||||
),
|
),
|
||||||
'process.env.SENTRY_DSN': JSON.stringify(
|
'process.env.SENTRY_DSN': JSON.stringify(process.env.SENTRY_DSN),
|
||||||
process.env.SENTRY_DSN ?? process.env.NEXT_PUBLIC_SENTRY_DSN
|
|
||||||
),
|
|
||||||
'process.env.BUILD_TYPE': JSON.stringify(process.env.BUILD_TYPE),
|
'process.env.BUILD_TYPE': JSON.stringify(process.env.BUILD_TYPE),
|
||||||
runtimeConfig: JSON.stringify(runtimeConfig),
|
runtimeConfig: JSON.stringify(runtimeConfig),
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
"env": "SENTRY_AUTH_TOKEN"
|
"env": "SENTRY_AUTH_TOKEN"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"env": "NEXT_PUBLIC_SENTRY_DSN"
|
"env": "SENTRY_DSN"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"env": "DISTRIBUTION"
|
"env": "DISTRIBUTION"
|
||||||
|
|||||||
@@ -59,27 +59,29 @@ export async function setup(store: ReturnType<typeof createStore>) {
|
|||||||
performanceSetupLogger.info('setup global');
|
performanceSetupLogger.info('setup global');
|
||||||
setupGlobal();
|
setupGlobal();
|
||||||
|
|
||||||
// https://docs.sentry.io/platforms/javascript/guides/react/#configure
|
if (window.SENTRY_RELEASE) {
|
||||||
Sentry.init({
|
// https://docs.sentry.io/platforms/javascript/guides/react/#configure
|
||||||
dsn: process.env.SENTRY_DSN,
|
Sentry.init({
|
||||||
environment: process.env.BUILD_TYPE ?? 'development',
|
dsn: process.env.SENTRY_DSN,
|
||||||
integrations: [
|
environment: process.env.BUILD_TYPE ?? 'development',
|
||||||
new Sentry.BrowserTracing({
|
integrations: [
|
||||||
routingInstrumentation: Sentry.reactRouterV6Instrumentation(
|
new Sentry.BrowserTracing({
|
||||||
useEffect,
|
routingInstrumentation: Sentry.reactRouterV6Instrumentation(
|
||||||
useLocation,
|
useEffect,
|
||||||
useNavigationType,
|
useLocation,
|
||||||
createRoutesFromChildren,
|
useNavigationType,
|
||||||
matchRoutes
|
createRoutesFromChildren,
|
||||||
),
|
matchRoutes
|
||||||
}),
|
),
|
||||||
new Sentry.Replay(),
|
}),
|
||||||
],
|
new Sentry.Replay(),
|
||||||
});
|
],
|
||||||
Sentry.setTags({
|
});
|
||||||
appVersion: runtimeConfig.appVersion,
|
Sentry.setTags({
|
||||||
editorVersion: runtimeConfig.editorVersion,
|
appVersion: runtimeConfig.appVersion,
|
||||||
});
|
editorVersion: runtimeConfig.editorVersion,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
performanceSetupLogger.info('get root workspace meta');
|
performanceSetupLogger.info('get root workspace meta');
|
||||||
// do not read `rootWorkspacesMetadataAtom` before migration
|
// do not read `rootWorkspacesMetadataAtom` before migration
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
"env": "SENTRY_AUTH_TOKEN"
|
"env": "SENTRY_AUTH_TOKEN"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"env": "NEXT_PUBLIC_SENTRY_DSN"
|
"env": "SENTRY_DSN"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"env": "DISTRIBUTION"
|
"env": "DISTRIBUTION"
|
||||||
|
|||||||
5
tools/@types/env/__all.d.ts
vendored
5
tools/@types/env/__all.d.ts
vendored
@@ -56,6 +56,11 @@ declare global {
|
|||||||
var runtimeConfig: RuntimeConfig;
|
var runtimeConfig: RuntimeConfig;
|
||||||
// eslint-disable-next-line no-var
|
// eslint-disable-next-line no-var
|
||||||
var $AFFINE_SETUP: boolean | undefined;
|
var $AFFINE_SETUP: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* Inject by https://www.npmjs.com/package/@sentry/webpack-plugin
|
||||||
|
*/
|
||||||
|
// eslint-disable-next-line no-var
|
||||||
|
var SENTRY_RELEASE: { id: string } | undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module '@blocksuite/store' {
|
declare module '@blocksuite/store' {
|
||||||
|
|||||||
Reference in New Issue
Block a user