getsentry / sentry-cli

A command line utility to work with Sentry.
https://docs.sentry.io/cli/
BSD 3-Clause "New" or "Revised" License
893 stars 221 forks source link

sentry-cli can not upload release bundles #1610

Closed nnsay closed 1 year ago

nnsay commented 1 year ago

Environment

Localhost, if the local testing is ok, the scripts will be run at Github Action(ubuntu-lastetr)

Steps to Reproduce

yarn add @sentry/cli --dev

export SENTRY_AUTH_TOKEN=xxx

yarn sentry-cli releases new demo --org=nnsaycc --project=javascript-react

yarn sentry-cli releases files demo upload-sourcemaps ./build --rewrite --project=javascript-react --org=nnsaycc 

yarn sentry-cli releases finalize demo --project=javascript-react --org=nnsaycc  

the ./build is the webpack build output dir.

the last three commands come from @sentry/webpack-plugin source code. In our case, we should not use the plugin, so I want to upload source map with @sentry/cli

sentry-cli version: 2.17.5, platform: "darwin", architecture: "arm64"

Expected Result

@sentry/cli can upload release bundles. It should be same result when I use the @sentry/webpack-plugin.

Actual Result

@sentry/cli uploads a artifact bundle but not release bundle

kamilogorek commented 1 year ago

I don't understand what's the actual problem here. Can you elaborate? And provide debug logs? (--log-level=debug or SENTRY_LOG_LEVEL=debug)

CarltonHowell commented 1 year ago

Seeing something similar. When uploading with the sentry-cli the assets are going to the "Artifact bundles" tab and not the "Release bundles" tab:

Screenshot 2023-05-16 at 4 42 53 PM
nnsay commented 1 year ago

I don't understand what's the actual problem here. Can you elaborate? And provide debug logs? (--log-level=debug or SENTRY_LOG_LEVEL=debug)

The first thing I want to say that: I want to create a release and upload the source map file, the result should be same with the @sentry/webpack-plugin. If I use the @sentry/webpack-plugin, it can successfully to create release and upload the files and I can find it in the Release Bundles tab. But If I use the @sentry/cli, the release can be created but the files only be found in Artifact Bundles and the release bundle has empty files.

The last three commands logs:

➜  sentry-frontend git:(main) ✗ yarn sentry-cli releases files demo upload-sourcemaps ./build --rewrite --project=javascript-react --org=nnsaycc 
yarn run v1.22.19
$ /Users/wangjian/github/nnsay/sentry-frontend/node_modules/.bin/sentry-cli releases files demo upload-sourcemaps ./build --rewrite --project=javascript-react --org=nnsaycc
  INFO    2023-05-17 09:49:29.316737 +08:00 Loaded config from /Users/wangjian/.sentryclirc
  DEBUG   2023-05-17 09:49:29.316796 +08:00 sentry-cli version: 2.17.5, platform: "darwin", architecture: "arm64"
  INFO    2023-05-17 09:49:29.316806 +08:00 sentry-cli was invoked with the following command line: "/Users/wangjian/github/nnsay/sentry-frontend/node_modules/@sentry/cli/sentry-cli" "releases" "files" "demo" "upload-sourcemaps" "./build" "--rewrite" "--project=javascript-react" "--org=nnsaycc"
  DEBUG   2023-05-17 09:49:29.317056 +08:00 request GET https://sentry.io/api/0/organizations/nnsaycc/chunk-upload/
  DEBUG   2023-05-17 09:49:29.317067 +08:00 using token authentication
  DEBUG   2023-05-17 09:49:29.317073 +08:00 retry number 0, max retries: 0
  DEBUG   2023-05-17 09:49:30.516237 +08:00 > GET /api/0/organizations/nnsaycc/chunk-upload/ HTTP/1.1
  DEBUG   2023-05-17 09:49:30.516333 +08:00 > Host: sentry.io
  DEBUG   2023-05-17 09:49:30.516341 +08:00 > Accept: */*
  DEBUG   2023-05-17 09:49:30.516363 +08:00 > Connection: TE
  DEBUG   2023-05-17 09:49:30.516373 +08:00 > TE: gzip
  DEBUG   2023-05-17 09:49:30.516379 +08:00 > User-Agent: sentry-cli/2.17.5
  DEBUG   2023-05-17 09:49:30.517065 +08:00 > Authorization: Bearer 18ce26a2***
  DEBUG   2023-05-17 09:49:30.907192 +08:00 < HTTP/1.1 200 OK
  DEBUG   2023-05-17 09:49:30.907262 +08:00 < Server: nginx
  DEBUG   2023-05-17 09:49:30.907276 +08:00 < Date: Wed, 17 May 2023 01:49:30 GMT
  DEBUG   2023-05-17 09:49:30.907285 +08:00 < Content-Type: application/json
  DEBUG   2023-05-17 09:49:30.907292 +08:00 < Content-Length: 340
  DEBUG   2023-05-17 09:49:30.907299 +08:00 < Connection: keep-alive
  DEBUG   2023-05-17 09:49:30.907306 +08:00 < allow: GET, POST, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:30.907311 +08:00 < access-control-allow-methods: GET, POST, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:30.907339 +08:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken
  DEBUG   2023-05-17 09:49:30.907347 +08:00 < access-control-expose-headers: X-Sentry-Error, Retry-After
  DEBUG   2023-05-17 09:49:30.907353 +08:00 < access-control-allow-origin: *
  DEBUG   2023-05-17 09:49:30.907358 +08:00 < x-sentry-rate-limit-remaining: 199
  DEBUG   2023-05-17 09:49:30.907363 +08:00 < x-sentry-rate-limit-limit: 200
  DEBUG   2023-05-17 09:49:30.907650 +08:00 < x-sentry-rate-limit-reset: 1684288171
  DEBUG   2023-05-17 09:49:30.907662 +08:00 < x-sentry-rate-limit-concurrentremaining: 199
  DEBUG   2023-05-17 09:49:30.907668 +08:00 < x-sentry-rate-limit-concurrentlimit: 200
  DEBUG   2023-05-17 09:49:30.907674 +08:00 < vary: Accept-Language, Cookie
  DEBUG   2023-05-17 09:49:30.907681 +08:00 < content-language: en
  DEBUG   2023-05-17 09:49:30.907686 +08:00 < x-frame-options: deny
  DEBUG   2023-05-17 09:49:30.907691 +08:00 < x-content-type-options: nosniff
  DEBUG   2023-05-17 09:49:30.907696 +08:00 < x-xss-protection: 1; mode=block
  DEBUG   2023-05-17 09:49:30.907706 +08:00 < content-security-policy: style-src * 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'report-sample' 'unsafe-eval' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com ssl.google-analytics.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; connect-src *; frame-ancestors 'self'; base-uri 'none'; object-src 'self'; font-src * data:; default-src *; img-src * blob: data:; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=1dcd622f52297a385914c11612a34b0d51d29af0
  DEBUG   2023-05-17 09:49:30.907747 +08:00 < set-cookie: session=eyJfbGFuZ3VhZ2UiOiJlbiJ9:1pz6IE:yey41nY9MaJ6hum1p07DjyuF67k; Domain=.sentry.io; expires=Wed, 31 May 2023 01:49:30 GMT; HttpOnly; Max-Age=1209600; Path=/; Secure
  DEBUG   2023-05-17 09:49:30.907756 +08:00 < x-envoy-attempt-count: 1
  DEBUG   2023-05-17 09:49:30.907848 +08:00 < x-envoy-upstream-service-time: 54
  DEBUG   2023-05-17 09:49:30.907855 +08:00 < x-served-by: getsentry-web-default-common-production-796ff6fd47-fxftl
  DEBUG   2023-05-17 09:49:30.907861 +08:00 < x-served-by: lb-6
  DEBUG   2023-05-17 09:49:30.907866 +08:00 < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  DEBUG   2023-05-17 09:49:30.907923 +08:00 response status: 200
  DEBUG   2023-05-17 09:49:30.907937 +08:00 body: {"url":"https://sentry.io/api/0/organizations/nnsaycc/chunk-upload/","chunkSize":8388608,"chunksPerRequest":64,"maxFileSize":2147483648,"maxRequestSize":33554432,"concurrency":8,"hashAlgorithm":"sha1","compression":["gzip"],"accept":["debug_files","release_files","pdbs","sources","bcsymbolmaps","il2cpp","portablepdbs","artifact_bundles"]}
  DEBUG   2023-05-17 09:49:30.913465 +08:00 built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 4 required extensions, 0 regexes  (from globset)
  DEBUG   2023-05-17 09:49:30.915123 +08:00 ignoring build/favicon.ico: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.915212 +08:00 ignoring build/index.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.915236 +08:00 ignoring build/logo512.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.915255 +08:00 ignoring build/asset-manifest.json: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.916120 +08:00 ignoring build/static/css/main.073c9b0a.css: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.916230 +08:00 whitelisting build/static/css/main.073c9b0a.css.map: Whitelist(IgnoreMatch(Types(Glob(Matched { def: FileTypeDef { name: "map", globs: ["*.map"] } }))))  (from ignore)
  INFO    2023-05-17 09:49:30.916553 +08:00 found: build/static/css/main.073c9b0a.css.map (1535 bytes)
  DEBUG   2023-05-17 09:49:30.916877 +08:00 whitelisting build/static/js/main.13a28e2e.js.map: Whitelist(IgnoreMatch(Types(Glob(Matched { def: FileTypeDef { name: "map", globs: ["*.map"] } }))))  (from ignore)
  INFO    2023-05-17 09:49:30.916960 +08:00 found: build/static/js/main.13a28e2e.js.map (1588217 bytes)
  DEBUG   2023-05-17 09:49:30.918242 +08:00 whitelisting build/static/js/787.1426bd48.chunk.js: Whitelist(IgnoreMatch(Types(Glob(Matched { def: FileTypeDef { name: "js", globs: ["*.js"] } }))))  (from ignore)
  INFO    2023-05-17 09:49:30.918327 +08:00 found: build/static/js/787.1426bd48.chunk.js (4611 bytes)
  DEBUG   2023-05-17 09:49:30.918583 +08:00 ignoring build/static/js/main.13a28e2e.js.LICENSE.txt: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.918620 +08:00 whitelisting build/static/js/787.1426bd48.chunk.js.map: Whitelist(IgnoreMatch(Types(Glob(Matched { def: FileTypeDef { name: "map", globs: ["*.map"] } }))))  (from ignore)
  INFO    2023-05-17 09:49:30.918679 +08:00 found: build/static/js/787.1426bd48.chunk.js.map (10592 bytes)
  DEBUG   2023-05-17 09:49:30.918902 +08:00 whitelisting build/static/js/main.13a28e2e.js: Whitelist(IgnoreMatch(Types(Glob(Matched { def: FileTypeDef { name: "js", globs: ["*.js"] } }))))  (from ignore)
  INFO    2023-05-17 09:49:30.918970 +08:00 found: build/static/js/main.13a28e2e.js (426159 bytes)
  DEBUG   2023-05-17 09:49:30.919659 +08:00 ignoring build/static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.919705 +08:00 ignoring build/manifest.json: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.919729 +08:00 ignoring build/robots.txt: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
  DEBUG   2023-05-17 09:49:30.919748 +08:00 ignoring build/logo192.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore))))  (from ignore)
> Found 5 files
> Analyzing 5 sources
> Analyzing completed in 0.005s
> Rewriting sources
> Rewriting completed in 0.026s
> Adding source map references
  DEBUG   2023-05-17 09:49:30.958117 +08:00 request GET https://sentry.io/api/0/projects/nnsaycc/javascript-react/releases/demo/files/?cursor=&checksum=162943971982279d2960642eb222aa8b81ce174d&checksum=9d311afb6cc27beaee582afc81bb62b2099e957e&checksum=b0d79a25a6a5d797f27ebca66633a1e1320de44a&checksum=d7d53a7b7bdac76e70cb310a06bf0ce8c61f6ce6&checksum=ea7ba7e7c32b4dad4e81cf69c3d3de76a63b84e2
  DEBUG   2023-05-17 09:49:30.958134 +08:00 using token authentication
  DEBUG   2023-05-17 09:49:30.958138 +08:00 retry number 0, max retries: 0
  DEBUG   2023-05-17 09:49:30.958286 +08:00 > GET /api/0/projects/nnsaycc/javascript-react/releases/demo/files/?cursor=&checksum=162943971982279d2960642eb222aa8b81ce174d&checksum=9d311afb6cc27beaee582afc81bb62b2099e957e&checksum=b0d79a25a6a5d797f27ebca66633a1e1320de44a&checksum=d7d53a7b7bdac76e70cb310a06bf0ce8c61f6ce6&checksum=ea7ba7e7c32b4dad4e81cf69c3d3de76a63b84e2 HTTP/1.1
  DEBUG   2023-05-17 09:49:30.958294 +08:00 > Host: sentry.io
  DEBUG   2023-05-17 09:49:30.958297 +08:00 > Accept: */*
  DEBUG   2023-05-17 09:49:30.958299 +08:00 > Connection: TE
  DEBUG   2023-05-17 09:49:30.958301 +08:00 > TE: gzip
  DEBUG   2023-05-17 09:49:30.958304 +08:00 > User-Agent: sentry-cli/2.17.5
  DEBUG   2023-05-17 09:49:30.958315 +08:00 > Authorization: Bearer 18ce26a2***
  DEBUG   2023-05-17 09:49:31.560031 +08:00 < HTTP/1.1 200 OK
  DEBUG   2023-05-17 09:49:31.560197 +08:00 < Server: nginx
  DEBUG   2023-05-17 09:49:31.560213 +08:00 < Date: Wed, 17 May 2023 01:49:31 GMT
  DEBUG   2023-05-17 09:49:31.560227 +08:00 < Content-Type: application/json
  DEBUG   2023-05-17 09:49:31.560239 +08:00 < Content-Length: 2
  DEBUG   2023-05-17 09:49:31.560255 +08:00 < Connection: keep-alive
  DEBUG   2023-05-17 09:49:31.560269 +08:00 < link: <https://sentry.io/api/0/projects/nnsaycc/javascript-react/releases/demo/files/?checksum=162943971982279d2960642eb222aa8b81ce174d&checksum=9d311afb6cc27beaee582afc81bb62b2099e957e&checksum=b0d79a25a6a5d797f27ebca66633a1e1320de44a&checksum=d7d53a7b7bdac76e70cb310a06bf0ce8c61f6ce6&checksum=ea7ba7e7c32b4dad4e81cf69c3d3de76a63b84e2&cursor=100:-1:1>; rel="previous"; results="false"; cursor="100:-1:1", <https://sentry.io/api/0/projects/nnsaycc/javascript-react/releases/demo/files/?checksum=162943971982279d2960642eb222aa8b81ce174d&checksum=9d311afb6cc27beaee582afc81bb62b2099e957e&checksum=b0d79a25a6a5d797f27ebca66633a1e1320de44a&checksum=d7d53a7b7bdac76e70cb310a06bf0ce8c61f6ce6&checksum=ea7ba7e7c32b4dad4e81cf69c3d3de76a63b84e2&cursor=100:1:0>; rel="next"; results="false"; cursor="100:1:0"
  DEBUG   2023-05-17 09:49:31.560632 +08:00 < allow: GET, POST, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:31.560648 +08:00 < access-control-allow-methods: GET, POST, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:31.560669 +08:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken
  DEBUG   2023-05-17 09:49:31.560681 +08:00 < access-control-expose-headers: X-Sentry-Error, Retry-After
  DEBUG   2023-05-17 09:49:31.560692 +08:00 < access-control-allow-origin: *
  DEBUG   2023-05-17 09:49:31.560702 +08:00 < x-sentry-rate-limit-remaining: 39
  DEBUG   2023-05-17 09:49:31.560712 +08:00 < x-sentry-rate-limit-limit: 40
  DEBUG   2023-05-17 09:49:31.560722 +08:00 < x-sentry-rate-limit-reset: 1684288172
  DEBUG   2023-05-17 09:49:31.560731 +08:00 < x-sentry-rate-limit-concurrentremaining: 24
  DEBUG   2023-05-17 09:49:31.560741 +08:00 < x-sentry-rate-limit-concurrentlimit: 25
  DEBUG   2023-05-17 09:49:31.560752 +08:00 < vary: Accept-Language, Cookie
  DEBUG   2023-05-17 09:49:31.560761 +08:00 < content-language: en
  DEBUG   2023-05-17 09:49:31.560771 +08:00 < x-frame-options: deny
  DEBUG   2023-05-17 09:49:31.560780 +08:00 < x-content-type-options: nosniff
  DEBUG   2023-05-17 09:49:31.560865 +08:00 < x-xss-protection: 1; mode=block
  DEBUG   2023-05-17 09:49:31.560881 +08:00 < content-security-policy: default-src *; frame-ancestors 'self'; img-src * blob: data:; object-src 'self'; script-src 'self' 'unsafe-inline' 'report-sample' 'unsafe-eval' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com ssl.google-analytics.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; connect-src *; font-src * data:; base-uri 'none'; style-src * 'unsafe-inline'; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=1dcd622f52297a385914c11612a34b0d51d29af0
  DEBUG   2023-05-17 09:49:31.560901 +08:00 < set-cookie: session=eyJfbGFuZ3VhZ2UiOiJlbiJ9:1pz6IF:3FMxGjKZJp7s5NJ0mJSHja3HMtw; Domain=.sentry.io; expires=Wed, 31 May 2023 01:49:31 GMT; HttpOnly; Max-Age=1209600; Path=/; Secure
  DEBUG   2023-05-17 09:49:31.562198 +08:00 < x-envoy-attempt-count: 1
  DEBUG   2023-05-17 09:49:31.562218 +08:00 < x-envoy-upstream-service-time: 159
  DEBUG   2023-05-17 09:49:31.562230 +08:00 < x-served-by: getsentry-web-default-common-production-796ff6fd47-6vg26
  DEBUG   2023-05-17 09:49:31.562241 +08:00 < x-served-by: lb-6
  DEBUG   2023-05-17 09:49:31.562251 +08:00 < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  DEBUG   2023-05-17 09:49:31.562309 +08:00 response status: 200
  DEBUG   2023-05-17 09:49:31.563883 +08:00 body: []
> Bundling completed in 0.07s
> Bundled 5 files for upload
> Bundle ID: 0dd29294-16ce-52e7-a426-36b3955570ed
> Optimizing completed in 0.002s
  INFO    2023-05-17 09:49:31.642957 +08:00 using 'gzip' compression for chunk upload
  DEBUG   2023-05-17 09:49:31.654501 +08:00 request POST https://sentry.io/api/0/organizations/nnsaycc/chunk-upload/
  DEBUG   2023-05-17 09:49:31.654636 +08:00 sending form data
  DEBUG   2023-05-17 09:49:31.654648 +08:00 using token authentication
  DEBUG   2023-05-17 09:49:31.654726 +08:00 retry number 0, max retries: 5
  DEBUG   2023-05-17 09:49:31.654917 +08:00 > POST /api/0/organizations/nnsaycc/chunk-upload/ HTTP/1.1
  DEBUG   2023-05-17 09:49:31.654932 +08:00 > Host: sentry.io
  DEBUG   2023-05-17 09:49:31.654942 +08:00 > Accept: */*
  DEBUG   2023-05-17 09:49:31.654981 +08:00 > Connection: TE
  DEBUG   2023-05-17 09:49:31.654991 +08:00 > TE: gzip
  DEBUG   2023-05-17 09:49:31.655023 +08:00 > User-Agent: sentry-cli/2.17.5
  DEBUG   2023-05-17 09:49:31.655232 +08:00 > Authorization: Bearer 18ce26a2***
  DEBUG   2023-05-17 09:49:31.655247 +08:00 > Content-Length: 565301
  DEBUG   2023-05-17 09:49:31.655274 +08:00 > Content-Type: multipart/form-data; boundary=------------------------853d994a2a839273
  DEBUG   2023-05-17 09:49:34.050944 +08:00 < HTTP/1.1 200 OK
  DEBUG   2023-05-17 09:49:34.051237 +08:00 < Server: nginx
  DEBUG   2023-05-17 09:49:34.051306 +08:00 < Date: Wed, 17 May 2023 01:49:33 GMT
  DEBUG   2023-05-17 09:49:34.051572 +08:00 < Content-Length: 0
  DEBUG   2023-05-17 09:49:34.051648 +08:00 < Connection: keep-alive
  DEBUG   2023-05-17 09:49:34.051765 +08:00 < allow: GET, POST, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:34.051875 +08:00 < access-control-allow-methods: GET, POST, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:34.051954 +08:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken
  DEBUG   2023-05-17 09:49:34.052007 +08:00 < access-control-expose-headers: X-Sentry-Error, Retry-After
  DEBUG   2023-05-17 09:49:34.052058 +08:00 < access-control-allow-origin: *
  DEBUG   2023-05-17 09:49:34.052315 +08:00 < x-sentry-rate-limit-remaining: 199
  DEBUG   2023-05-17 09:49:34.052408 +08:00 < x-sentry-rate-limit-limit: 200
  DEBUG   2023-05-17 09:49:34.052788 +08:00 < x-sentry-rate-limit-reset: 1684288174
  DEBUG   2023-05-17 09:49:34.053286 +08:00 < x-sentry-rate-limit-concurrentremaining: 199
  DEBUG   2023-05-17 09:49:34.053377 +08:00 < x-sentry-rate-limit-concurrentlimit: 200
  DEBUG   2023-05-17 09:49:34.053436 +08:00 < vary: Accept-Language, Cookie
  DEBUG   2023-05-17 09:49:34.053490 +08:00 < content-language: en
  DEBUG   2023-05-17 09:49:34.053795 +08:00 < x-frame-options: deny
  DEBUG   2023-05-17 09:49:34.053870 +08:00 < x-content-type-options: nosniff
  DEBUG   2023-05-17 09:49:34.054283 +08:00 < x-xss-protection: 1; mode=block
  DEBUG   2023-05-17 09:49:34.054648 +08:00 < content-security-policy: style-src * 'unsafe-inline'; base-uri 'none'; default-src *; script-src 'self' 'unsafe-inline' 'report-sample' 'unsafe-eval' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com ssl.google-analytics.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; connect-src *; img-src * blob: data:; font-src * data:; object-src 'self'; frame-ancestors 'self'; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=1dcd622f52297a385914c11612a34b0d51d29af0
  DEBUG   2023-05-17 09:49:34.054787 +08:00 < set-cookie: session=eyJfbGFuZ3VhZ2UiOiJlbiJ9:1pz6IH:4hlIOHnZfw-pRy5VXZhssTysvIA; Domain=.sentry.io; expires=Wed, 31 May 2023 01:49:33 GMT; HttpOnly; Max-Age=1209600; Path=/; Secure
  DEBUG   2023-05-17 09:49:34.054990 +08:00 < x-envoy-attempt-count: 1
  DEBUG   2023-05-17 09:49:34.055026 +08:00 < x-envoy-upstream-service-time: 56
  DEBUG   2023-05-17 09:49:34.055130 +08:00 < x-served-by: getsentry-web-default-common-production-796ff6fd47-jjvld
  DEBUG   2023-05-17 09:49:34.055161 +08:00 < x-served-by: lb-6
  DEBUG   2023-05-17 09:49:34.055188 +08:00 < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  DEBUG   2023-05-17 09:49:34.055447 +08:00 response status: 200
  DEBUG   2023-05-17 09:49:34.055489 +08:00 body: 
> Uploading completed in 2.412s
> Uploaded files to Sentry
  DEBUG   2023-05-17 09:49:34.055877 +08:00 request POST https://sentry.io/api/0/organizations/nnsaycc/artifactbundle/assemble/
  DEBUG   2023-05-17 09:49:34.055995 +08:00 using token authentication
  DEBUG   2023-05-17 09:49:34.056019 +08:00 json body: {"checksum":"ce3bd33ab96a5732198078286b40498a4348a5fc","chunks":["ce3bd33ab96a5732198078286b40498a4348a5fc"],"projects":["javascript-react"],"version":"demo"}
  DEBUG   2023-05-17 09:49:34.056034 +08:00 retry number 0, max retries: 5
  DEBUG   2023-05-17 09:49:34.056412 +08:00 > POST /api/0/organizations/nnsaycc/artifactbundle/assemble/ HTTP/1.1
  DEBUG   2023-05-17 09:49:34.056428 +08:00 > Host: sentry.io
  DEBUG   2023-05-17 09:49:34.056632 +08:00 > Accept: */*
  DEBUG   2023-05-17 09:49:34.056650 +08:00 > Connection: TE
  DEBUG   2023-05-17 09:49:34.056661 +08:00 > TE: gzip
  DEBUG   2023-05-17 09:49:34.056672 +08:00 > User-Agent: sentry-cli/2.17.5
  DEBUG   2023-05-17 09:49:34.056712 +08:00 > Authorization: Bearer 18ce26a2***
  DEBUG   2023-05-17 09:49:34.056722 +08:00 > Content-Type: application/json
  DEBUG   2023-05-17 09:49:34.056732 +08:00 > Content-Length: 158
  DEBUG   2023-05-17 09:49:34.379933 +08:00 < HTTP/1.1 200 OK
  DEBUG   2023-05-17 09:49:34.379965 +08:00 < Server: nginx
  DEBUG   2023-05-17 09:49:34.379974 +08:00 < Date: Wed, 17 May 2023 01:49:34 GMT
  DEBUG   2023-05-17 09:49:34.379980 +08:00 < Content-Type: application/json
  DEBUG   2023-05-17 09:49:34.379986 +08:00 < Content-Length: 38
  DEBUG   2023-05-17 09:49:34.379992 +08:00 < Connection: keep-alive
  DEBUG   2023-05-17 09:49:34.379998 +08:00 < allow: POST, OPTIONS
  DEBUG   2023-05-17 09:49:34.380003 +08:00 < access-control-allow-methods: POST, OPTIONS
  DEBUG   2023-05-17 09:49:34.380011 +08:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken
  DEBUG   2023-05-17 09:49:34.380057 +08:00 < access-control-expose-headers: X-Sentry-Error, Retry-After
  DEBUG   2023-05-17 09:49:34.380074 +08:00 < access-control-allow-origin: *
  DEBUG   2023-05-17 09:49:34.380081 +08:00 < x-sentry-rate-limit-remaining: 39
  DEBUG   2023-05-17 09:49:34.380087 +08:00 < x-sentry-rate-limit-limit: 40
  DEBUG   2023-05-17 09:49:34.380092 +08:00 < x-sentry-rate-limit-reset: 1684288175
  DEBUG   2023-05-17 09:49:34.380097 +08:00 < x-sentry-rate-limit-concurrentremaining: 24
  DEBUG   2023-05-17 09:49:34.380102 +08:00 < x-sentry-rate-limit-concurrentlimit: 25
  DEBUG   2023-05-17 09:49:34.380108 +08:00 < vary: Accept-Language, Cookie
  DEBUG   2023-05-17 09:49:34.380113 +08:00 < content-language: en
  DEBUG   2023-05-17 09:49:34.380118 +08:00 < x-frame-options: deny
  DEBUG   2023-05-17 09:49:34.380124 +08:00 < x-content-type-options: nosniff
  DEBUG   2023-05-17 09:49:34.380129 +08:00 < x-xss-protection: 1; mode=block
  DEBUG   2023-05-17 09:49:34.380137 +08:00 < content-security-policy: script-src 'self' 'unsafe-inline' 'report-sample' 'unsafe-eval' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com ssl.google-analytics.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; connect-src *; font-src * data:; style-src * 'unsafe-inline'; frame-ancestors 'self'; img-src * blob: data:; object-src 'self'; base-uri 'none'; default-src *; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=1dcd622f52297a385914c11612a34b0d51d29af0
  DEBUG   2023-05-17 09:49:34.380170 +08:00 < set-cookie: session=eyJfbGFuZ3VhZ2UiOiJlbiJ9:1pz6II:bvU0chmTY42kcPp4Jrd5U2KkvjQ; Domain=.sentry.io; expires=Wed, 31 May 2023 01:49:34 GMT; HttpOnly; Max-Age=1209600; Path=/; Secure
  DEBUG   2023-05-17 09:49:34.380178 +08:00 < x-envoy-attempt-count: 1
  DEBUG   2023-05-17 09:49:34.380183 +08:00 < x-envoy-upstream-service-time: 96
  DEBUG   2023-05-17 09:49:34.380188 +08:00 < x-served-by: getsentry-web-default-common-production-796ff6fd47-xlwg5
  DEBUG   2023-05-17 09:49:34.380194 +08:00 < x-served-by: lb-6
  DEBUG   2023-05-17 09:49:34.380199 +08:00 < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  DEBUG   2023-05-17 09:49:34.380218 +08:00 response status: 200
  DEBUG   2023-05-17 09:49:34.380225 +08:00 body: {"state":"created","missingChunks":[]}
> Processing completed in 0.324s
> File upload complete (processing pending on server)
> Organization: nnsaycc
> Project: javascript-react
> Release: demo
> Dist: None
> Upload type: artifact bundle

Source Map Upload Report
  Minified Scripts
    ~/static/js/787.1426bd48.chunk.js (sourcemap at 787.1426bd48.chunk.js.map)
    ~/static/js/main.13a28e2e.js (sourcemap at main.13a28e2e.js.map)
  Source Maps
    ~/static/css/main.073c9b0a.css.map
    ~/static/js/787.1426bd48.chunk.js.map
    ~/static/js/main.13a28e2e.js.map
✨  Done in 5.26s.
➜  sentry-frontend git:(main) ✗ yarn sentry-cli releases finalize demo --project=javascript-react --org=nnsaycc 
yarn run v1.22.19
$ /Users/wangjian/github/nnsay/sentry-frontend/node_modules/.bin/sentry-cli releases finalize demo --project=javascript-react --org=nnsaycc
  INFO    2023-05-17 09:49:41.693742 +08:00 Loaded config from /Users/wangjian/.sentryclirc
  DEBUG   2023-05-17 09:49:41.693800 +08:00 sentry-cli version: 2.17.5, platform: "darwin", architecture: "arm64"
  INFO    2023-05-17 09:49:41.693807 +08:00 sentry-cli was invoked with the following command line: "/Users/wangjian/github/nnsay/sentry-frontend/node_modules/@sentry/cli/sentry-cli" "releases" "finalize" "demo" "--project=javascript-react" "--org=nnsaycc"
  DEBUG   2023-05-17 09:49:41.693955 +08:00 request PUT https://sentry.io/api/0/projects/nnsaycc/javascript-react/releases/demo/
  DEBUG   2023-05-17 09:49:41.693966 +08:00 using token authentication
  DEBUG   2023-05-17 09:49:41.693976 +08:00 json body: {"projects":["javascript-react"],"dateReleased":"2023-05-17T01:49:41.693943Z"}
  DEBUG   2023-05-17 09:49:41.693980 +08:00 retry number 0, max retries: 0
  DEBUG   2023-05-17 09:49:42.575724 +08:00 > PUT /api/0/projects/nnsaycc/javascript-react/releases/demo/ HTTP/1.1
  DEBUG   2023-05-17 09:49:42.575761 +08:00 > Host: sentry.io
  DEBUG   2023-05-17 09:49:42.575767 +08:00 > Accept: */*
  DEBUG   2023-05-17 09:49:42.575772 +08:00 > Connection: TE
  DEBUG   2023-05-17 09:49:42.575776 +08:00 > TE: gzip
  DEBUG   2023-05-17 09:49:42.575781 +08:00 > User-Agent: sentry-cli/2.17.5
  DEBUG   2023-05-17 09:49:42.576154 +08:00 > Authorization: Bearer 18ce26a2***
  DEBUG   2023-05-17 09:49:42.576165 +08:00 > Content-Type: application/json
  DEBUG   2023-05-17 09:49:42.576171 +08:00 > Content-Length: 78
  DEBUG   2023-05-17 09:49:43.097406 +08:00 < HTTP/1.1 200 OK
  DEBUG   2023-05-17 09:49:43.097575 +08:00 < Server: nginx
  DEBUG   2023-05-17 09:49:43.097600 +08:00 < Date: Wed, 17 May 2023 01:49:42 GMT
  DEBUG   2023-05-17 09:49:43.097619 +08:00 < Content-Type: application/json
  DEBUG   2023-05-17 09:49:43.097634 +08:00 < Content-Length: 677
  DEBUG   2023-05-17 09:49:43.097649 +08:00 < Connection: keep-alive
  DEBUG   2023-05-17 09:49:43.097663 +08:00 < allow: GET, PUT, DELETE, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:43.097678 +08:00 < access-control-allow-methods: GET, PUT, DELETE, HEAD, OPTIONS
  DEBUG   2023-05-17 09:49:43.097715 +08:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken
  DEBUG   2023-05-17 09:49:43.097733 +08:00 < access-control-expose-headers: X-Sentry-Error, Retry-After
  DEBUG   2023-05-17 09:49:43.097747 +08:00 < access-control-allow-origin: *
  DEBUG   2023-05-17 09:49:43.098024 +08:00 < x-sentry-rate-limit-remaining: 39
  DEBUG   2023-05-17 09:49:43.098043 +08:00 < x-sentry-rate-limit-limit: 40
  DEBUG   2023-05-17 09:49:43.098057 +08:00 < x-sentry-rate-limit-reset: 1684288183
  DEBUG   2023-05-17 09:49:43.098072 +08:00 < x-sentry-rate-limit-concurrentremaining: 24
  DEBUG   2023-05-17 09:49:43.098086 +08:00 < x-sentry-rate-limit-concurrentlimit: 25
  DEBUG   2023-05-17 09:49:43.098100 +08:00 < vary: Accept-Language, Cookie
  DEBUG   2023-05-17 09:49:43.098116 +08:00 < content-language: en
  DEBUG   2023-05-17 09:49:43.098129 +08:00 < x-frame-options: deny
  DEBUG   2023-05-17 09:49:43.098143 +08:00 < x-content-type-options: nosniff
  DEBUG   2023-05-17 09:49:43.098284 +08:00 < x-xss-protection: 1; mode=block
  DEBUG   2023-05-17 09:49:43.098325 +08:00 < content-security-policy: frame-ancestors 'self'; connect-src *; object-src 'self'; img-src * blob: data:; default-src *; base-uri 'none'; style-src * 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'report-sample' 'unsafe-eval' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com ssl.google-analytics.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; font-src * data:; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=1dcd622f52297a385914c11612a34b0d51d29af0
  DEBUG   2023-05-17 09:49:43.098356 +08:00 < set-cookie: session=eyJfbGFuZ3VhZ2UiOiJlbiJ9:1pz6IQ:_WvSqvlJpxhPOGMkjUCErStWqO4; Domain=.sentry.io; expires=Wed, 31 May 2023 01:49:42 GMT; HttpOnly; Max-Age=1209600; Path=/; Secure
  DEBUG   2023-05-17 09:49:43.098408 +08:00 < x-envoy-attempt-count: 1
  DEBUG   2023-05-17 09:49:43.098424 +08:00 < x-envoy-upstream-service-time: 154
  DEBUG   2023-05-17 09:49:43.098439 +08:00 < x-served-by: getsentry-web-default-common-production-796ff6fd47-7l8wf
  DEBUG   2023-05-17 09:49:43.098455 +08:00 < x-served-by: lb-6
  DEBUG   2023-05-17 09:49:43.098471 +08:00 < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  DEBUG   2023-05-17 09:49:43.098538 +08:00 response status: 200
  DEBUG   2023-05-17 09:49:43.098566 +08:00 body: {"id":733086125,"version":"demo","status":"open","shortVersion":"demo","versionInfo":{"package":null,"version":{"raw":"demo"},"description":"demo","buildHash":null},"ref":null,"url":null,"dateReleased":"2023-05-17T01:49:41.693943Z","dateCreated":"2023-05-15T08:23:33.382700Z","data":{},"newGroups":5,"owner":null,"commitCount":0,"lastCommit":null,"deployCount":0,"lastDeploy":null,"authors":[],"projects":[{"id":4505185991786496,"slug":"javascript-react","name":"javascript-react","newGroups":5,"platform":"javascript-react","platforms":[],"hasHealthData":false}],"firstEvent":null,"lastEvent":null,"currentProjectMeta":{},"userAgent":"sentry-cli/1.75.2 webpack-plugin/1.20.1"}
Finalized release demo
✨  Done in 1.58s.

If you need my code, you can find my test repo at: https://github.com/nnsay/sentry-frontend

nnsay commented 1 year ago

@kamilogorek I find a PR feat: Implement new chunk based upload for standalone artifact bundles. In the PR, the upload_files_chunked prefer standalone artifact bundle upload over legacy release based upload. It it maybe the reason that cli can not upload the release bundles. By the way, if I use the @sentry/cli@2.14.4, it works.

kamilogorek commented 1 year ago

@nnsay the reason for this is that we are moving to a completely new solution for handling sourcemaps, which will make releases unnecessary to set, as well as remove plenty of issues with paths resolution. We just bumped the UI, and it should look like this now:

image

Bringing this to webpack plugin is being worked as we speak, but it's not there, thus the discrepancy between behaviors. See: https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/uploading-without-debug-ids/

nnsay commented 1 year ago

@kamilogorek Thanks for your helps. According Uploading without Debug IDs, I can upload a artifact bundles and the source map works for me with the latest CLI tool.