ITADN

Sentry sourcemaps upload fails with "Nothing to upload, all files are on the server" (v3 vs v2 regression)

#3270Closedsempen97-max 创建于 2026-04-16
BugCLI
S
sempen97-maxcommented
### CLI Version 3.3.5 ### Operating System and Architecture - [ ] macOS (arm64) - [ ] macOS (x86_64) - [ ] Linux (i686) - [ ] Linux (x86_64) - [ ] Linux (armv7) - [ ] Linux (aarch64) - [ ] Windows (i686) - [x] Windows (x86_64) ### Operating System Version Windows 10 ### Link to reproduction repository _No response_ ### CLI Command sentry-cli releases new 0.0.21 --finalize && sentry-cli sourcemaps upload --release 0.0.21 --log-level=debug dist/client/ ### Exact Reproduction Steps ### Steps to reproduce 1. Build the web app (production build output is generated) 2. Ensure sourcemaps are present in the build output 3. Create a new release: `sentry-cli releases new 0.0.21 --finalize` 4. Upload sourcemaps using CLI v3: `sentry-cli sourcemaps upload --release 0.0.21 --log-level=debug dist/client/` 5. Observe output showing detected files but no upload: “Found 2 files” “Bundled 2 files for upload” “Nothing to upload, all files are on the server” ### Expected Results ### Problem Sentry CLI sourcemaps upload works in version v2, but fails in v3 with the message: `Nothing to upload, all files are on the server` Despite valid build artifacts being present, sourcemaps are not actually uploaded. **Expected behavior** Sourcemaps should be detected and uploaded for the given release and correctly attached to the build output. ### Actual Results ### Actual behavior (v3) CLI reports success but skips uploading files: > Found 2 files > Analyzing 2 sources > Bundled 2 files for upload > Bundle ID: 9a17c079-a87f-52c7-b5ca-bcc4649dcc01 ... > Nothing to upload, all files are on the server > File upload complete (processing pending on server) Files are detected, but upload is skipped. ### Working behavior (v2) Same command in v2 successfully uploads sourcemaps. ### Logs > sentry-cli sourcemaps upload --release 0.0.21 --dist 3 --log-level=debug dist/client/ INFO 2026-04-16 10:18:53.935373800 +03:00 Loaded config from C:\project\test-project\.sentryclirc DEBUG 2026-04-16 10:18:53.937126500 +03:00 sentry-cli version: 3.3.5, platform: "windows", architecture: "x86_64" INFO 2026-04-16 10:18:53.937648900 +03:00 sentry-cli was invoked with the following command line: "C:\project\test-project\node_modules\@sentry\cli-win32-x64\bin\sentry-cli.exe" "sourcemaps" "upload" "--release" "0.0.21" "--dist" "3" "--log-level=debug" "dist/client/" DEBUG 2026-04-16 10:18:53.938440500 +03:00 using token authentication DEBUG 2026-04-16 10:18:53.938564500 +03:00 retry number 0, max retries: 5 DEBUG 2026-04-16 10:18:54.156845800 +03:00 > GET /api/0/organizations/test-project/chunk-upload/ HTTP/1.1 DEBUG 2026-04-16 10:18:54.157103 +03:00 > Host: test-host DEBUG 2026-04-16 10:18:54.157324 +03:00 > Accept: */* DEBUG 2026-04-16 10:18:54.157505200 +03:00 > User-Agent: sentry-cli/3.3.5 DEBUG 2026-04-16 10:18:54.157832400 +03:00 > Authorization: Bearer a126b17c*** DEBUG 2026-04-16 10:18:54.224241500 +03:00 < HTTP/1.1 200 OK DEBUG 2026-04-16 10:18:54.224536500 +03:00 < Content-Language: en DEBUG 2026-04-16 10:18:54.224725900 +03:00 < Content-Length: 343 DEBUG 2026-04-16 10:18:54.224895900 +03:00 < Content-Security-Policy: frame-src 'self'; default-src 'self'; font-src 'self' data:; connect-src 'self' https://*.test.com; style-src 'self'; img-src 'self'; script-src 'self' https://*.test.com 'sha256-iRcDQ27XiXX4k+jbJ8nGeQFBnBOjmII7FdMlixb6QE4=' DEBUG 2026-04-16 10:18:54.225136100 +03:00 < Content-Type: application/json; charset=utf-8 DEBUG 2026-04-16 10:18:54.225380500 +03:00 < Cross-Origin-Opener-Policy: same-origin DEBUG 2026-04-16 10:18:54.225536900 +03:00 < Referrer-Policy: same-origin DEBUG 2026-04-16 10:18:54.225759600 +03:00 < Vary: Accept-Language, origin DEBUG 2026-04-16 10:18:54.225927600 +03:00 < X-Content-Type-Options: nosniff DEBUG 2026-04-16 10:18:54.226128600 +03:00 < X-Frame-Options: DENY DEBUG 2026-04-16 10:18:54.226332 +03:00 < Date: Thu, 16 Apr 2026 07:18:53 GMT DEBUG 2026-04-16 10:18:54.226634800 +03:00 body: {"url": "https://test-host/api/0/organizations/test-project/chunk-upload/", "chunkSize": 33554432, "chunksPerRequest": 1, "maxFileSize": 2147483648, "maxRequestSize": 33554432, "concurrency": 1, "hashAlgorithm": "sha1", "compression": ["gzip"], "accept": ["debug_files", "release_files", "pdbs", "sources", "artifact_bundles"]} DEBUG 2026-04-16 10:18:54.228734500 +03:00 built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 6 required extensions, 0 regexes (from globset) DEBUG 2026-04-16 10:18:54.231406700 +03:00 ignoring dist\client\(auth)\index.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.232745400 +03:00 ignoring dist\client\(main)\report.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.233302100 +03:00 ignoring dist\client\(team-info)\index.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.233540900 +03:00 ignoring dist\client\+not-found.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.234543700 +03:00 ignoring dist\client\assets\assets\fonts\UAFSans-Bold.cd1a186f9100e391bb59abff41cef3bf.ttf: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.234684800 +03:00 ignoring dist\client\assets\assets\fonts\UAFSans-Medium.dbfb26cea961c453d2de604698bdf95f.ttf: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.234813400 +03:00 ignoring dist\client\assets\assets\fonts\UAFSans-Regular.01702f904206d64e8db570a65c463ba2.ttf: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.234964100 +03:00 ignoring dist\client\assets\assets\fonts\UAFSans-SemiBold.44dd86e5e2b4f882bbe155341c2391b2.ttf: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.235496100 +03:00 ignoring dist\client\assets\assets\images\web-bg-dark.c30c95909328a1a2ba419e7696515644.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.235647600 +03:00 ignoring dist\client\assets\assets\images\web-bg-light.66d13458b7ea123a8cb74da7c493362b.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.236226700 +03:00 ignoring dist\client\assets\assets\rivs\logoloader.23cccfd47037be66839fd247fbb474c9.riv: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.238223700 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\back-icon-mask.0a328cd9c1afd0afe8e3b1ec5165b1b4.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.238406500 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\back-icon.35ba0eaec5a4f5ed12ca16fabeae451d.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.238538500 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.238673400 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@2x.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.238822100 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@3x.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.239002600 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@4x.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.239190700 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\close-icon.808e1b1b9b53114ec2838071a7e6daa7.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.239352400 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\close-icon.808e1b1b9b53114ec2838071a7e6daa7@2x.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.239501900 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\close-icon.808e1b1b9b53114ec2838071a7e6daa7@3x.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.239707600 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\close-icon.808e1b1b9b53114ec2838071a7e6daa7@4x.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.239911400 +03:00 ignoring dist\client\assets\node_modules\@react-navigation\elements\lib\module\assets\search-icon.286d67d3f74808a60a78d3ebf1a5fb57.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.241269600 +03:00 ignoring dist\client\assets\node_modules\expo-router\assets\arrow_down.017bc6ba3fc25503e5eb5e53826d48a8.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.241443200 +03:00 ignoring dist\client\assets\node_modules\expo-router\assets\error.d1ea1496f9057eb392d5bbf3732a61b7.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.241608200 +03:00 ignoring dist\client\assets\node_modules\expo-router\assets\file.19eeb73b9593a38f8e9f418337fc7d10.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.241758800 +03:00 ignoring dist\client\assets\node_modules\expo-router\assets\forward.d8b800c443b8972542883e0b9de2bdc6.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.241902200 +03:00 ignoring dist\client\assets\node_modules\expo-router\assets\pkg.ab19f4cbc543357183a20571f68380a3.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.242003200 +03:00 ignoring dist\client\assets\node_modules\expo-router\assets\sitemap.412dd9275b6b48ad28f5e3d81bb1f626.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.242260600 +03:00 ignoring dist\client\assets\node_modules\expo-router\assets\unmatched.20e71bdf79e3a97bf55fd9e164041578.png: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.242890600 +03:00 ignoring dist\client\favicon.ico: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.243087500 +03:00 ignoring dist\client\index.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.243222900 +03:00 ignoring dist\client\report.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.243719800 +03:00 ignoring dist\client\_expo\.routes.json: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.244432400 +03:00 ignoring dist\client\_expo\static\css\flatpickr-d83e7a34dff8a06185b652ea196b1a86.css: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.244617500 +03:00 ignoring dist\client\_expo\static\css\flatpickr.custom-f78b6f2aca200f8768fc1c9d7fd59968.css: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.244768600 +03:00 ignoring dist\client\_expo\static\css\tooltip.module-3cc0c718502094ddbe27e91944f89c3c.css: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.244920600 +03:00 ignoring dist\client\_expo\static\css\tourPopover.module-deeedf084cb45958e3bbab5fe837c080.css: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) DEBUG 2026-04-16 10:18:54.245789 +03:00 whitelisting dist\client\_expo\static\js\web\entry-bc340e1ddab57b3524d320791687b96c.js: Whitelist(IgnoreMatch(Types(Glob(Matched { def: FileTypeDef { name: "js", globs: ["*.js"] } })))) (from ignore) INFO 2026-04-16 10:18:54.245961500 +03:00 found: dist\client\_expo\static\js\web\entry-bc340e1ddab57b3524d320791687b96c.js (4905792 bytes) DEBUG 2026-04-16 10:18:54.248703100 +03:00 whitelisting dist\client\_expo\static\js\web\entry-bc340e1ddab57b3524d320791687b96c.js.map: Whitelist(IgnoreMatch(Types(Glob(Matched { def: FileTypeDef { name: "map", globs: ["*.map"] } })))) (from ignore) INFO 2026-04-16 10:18:54.248932 +03:00 found: dist\client\_expo\static\js\web\entry-bc340e1ddab57b3524d320791687b96c.js.map (16500143 bytes) DEBUG 2026-04-16 10:18:54.258584500 +03:00 ignoring dist\client\_sitemap.html: Ignore(IgnoreMatch(Types(Glob(UnmatchedIgnore)))) (from ignore) > Found 2 files > Analyzing 2 sources > Analyzing completed in 0.022s > Rewriting sources > Rewriting completed in 0.303s > Adding source map references > Bundling completed in 0.776s > Bundled 2 files for upload > Bundle ID: 9a17c079-a87f-52c7-b5ca-bcc4649dcc01 > Optimizing completed in 0.016s DEBUG 2026-04-16 10:18:55.385774300 +03:00 using token authentication DEBUG 2026-04-16 10:18:55.386018700 +03:00 json body: {"checksum":"b57daa65775a26559b53ec965a841ca1c1e01ab0","chunks":["b57daa65775a26559b53ec965a841ca1c1e01ab0"],"projects":["test-project-web"],"version":"0.0.21","dist":"3"} DEBUG 2026-04-16 10:18:55.386359700 +03:00 retry number 0, max retries: 5 DEBUG 2026-04-16 10:18:55.387004200 +03:00 > POST /api/0/organizations/test-project/artifactbundle/assemble/ HTTP/1.1 DEBUG 2026-04-16 10:18:55.387190400 +03:00 > Host: test-host DEBUG 2026-04-16 10:18:55.387362800 +03:00 > Accept: */* DEBUG 2026-04-16 10:18:55.387486500 +03:00 > User-Agent: sentry-cli/3.3.5 DEBUG 2026-04-16 10:18:55.387654600 +03:00 > Authorization: Bearer a126b17c*** DEBUG 2026-04-16 10:18:55.387846300 +03:00 > Content-Type: application/json DEBUG 2026-04-16 10:18:55.387968300 +03:00 > Content-Length: 171 DEBUG 2026-04-16 10:18:55.489722600 +03:00 < HTTP/1.1 200 OK DEBUG 2026-04-16 10:18:55.490044 +03:00 < Content-Language: en DEBUG 2026-04-16 10:18:55.490352900 +03:00 < Content-Length: 41 DEBUG 2026-04-16 10:18:55.490525700 +03:00 < Content-Security-Policy: frame-src 'self'; default-src 'self'; font-src 'self' data:; connect-src 'self' https://*.test.com; style-src 'self'; img-src 'self'; script-src 'self' https://*.test.com 'sha256-iRcDQ27XiXX4k+jbJ8nGeQFBnBOjmII7FdMlixb6QE4=' DEBUG 2026-04-16 10:18:55.490724400 +03:00 < Content-Type: application/json; charset=utf-8 DEBUG 2026-04-16 10:18:55.490911700 +03:00 < Cross-Origin-Opener-Policy: same-origin DEBUG 2026-04-16 10:18:55.491102600 +03:00 < Referrer-Policy: same-origin DEBUG 2026-04-16 10:18:55.491295100 +03:00 < Vary: Accept-Language, origin DEBUG 2026-04-16 10:18:55.491491400 +03:00 < X-Content-Type-Options: nosniff DEBUG 2026-04-16 10:18:55.491641 +03:00 < X-Frame-Options: DENY DEBUG 2026-04-16 10:18:55.491782900 +03:00 < Date: Thu, 16 Apr 2026 07:18:54 GMT DEBUG 2026-04-16 10:18:55.491961 +03:00 body: {"state": "created", "missingChunks": []} > Nothing to upload, all files are on the server DEBUG 2026-04-16 10:18:55.492711800 +03:00 using token authentication DEBUG 2026-04-16 10:18:55.492816800 +03:00 json body: {"checksum":"b57daa65775a26559b53ec965a841ca1c1e01ab0","chunks":["b57daa65775a26559b53ec965a841ca1c1e01ab0"],"projects":["test-project-web"],"version":"0.0.21","dist":"3"} DEBUG 2026-04-16 10:18:55.492922500 +03:00 retry number 0, max retries: 5 DEBUG 2026-04-16 10:18:55.493198700 +03:00 > POST /api/0/organizations/test-project/artifactbundle/assemble/ HTTP/1.1 DEBUG 2026-04-16 10:18:55.493285500 +03:00 > Host: test-host DEBUG 2026-04-16 10:18:55.493390400 +03:00 > Accept: */* DEBUG 2026-04-16 10:18:55.493470700 +03:00 > User-Agent: sentry-cli/3.3.5 DEBUG 2026-04-16 10:18:55.493566800 +03:00 > Authorization: Bearer a126b17c*** DEBUG 2026-04-16 10:18:55.493645800 +03:00 > Content-Type: application/json DEBUG 2026-04-16 10:18:55.493738600 +03:00 > Content-Length: 171 DEBUG 2026-04-16 10:18:55.590060 +03:00 < HTTP/1.1 200 OK DEBUG 2026-04-16 10:18:55.590235400 +03:00 < Content-Language: en DEBUG 2026-04-16 10:18:55.590327800 +03:00 < Content-Length: 41 DEBUG 2026-04-16 10:18:55.590449600 +03:00 < Content-Security-Policy: frame-src 'self'; default-src 'self'; font-src 'self' data:; connect-src 'self' https://*.test.com; style-src 'self'; img-src 'self'; script-src 'self' https://*.test.com 'sha256-iRcDQ27XiXX4k+jbJ8nGeQFBnBOjmII7FdMlixb6QE4=' DEBUG 2026-04-16 10:18:55.590582 +03:00 < Content-Type: application/json; charset=utf-8 DEBUG 2026-04-16 10:18:55.590683600 +03:00 < Cross-Origin-Opener-Policy: same-origin DEBUG 2026-04-16 10:18:55.590791100 +03:00 < Referrer-Policy: same-origin DEBUG 2026-04-16 10:18:55.590885400 +03:00 < Vary: Accept-Language, origin DEBUG 2026-04-16 10:18:55.591003700 +03:00 < X-Content-Type-Options: nosniff DEBUG 2026-04-16 10:18:55.591146600 +03:00 < X-Frame-Options: DENY DEBUG 2026-04-16 10:18:55.591264800 +03:00 < Date: Thu, 16 Apr 2026 07:18:54 GMT DEBUG 2026-04-16 10:18:55.591384 +03:00 body: {"state": "created", "missingChunks": []} > Processing completed in 0.099s > File upload complete (processing pending on server) > Organization: test-project > Projects: test-project-web > Release: 0.0.21 > Dist: 3 > Upload type: artifact bundle Source Map Upload Report Scripts ~/_expo/static/js/web/entry-bc340e1ddab57b3524d320791687b96c.js (sourcemap at entry-bc340e1ddab57b3524d320791687b96c.js.map, debug id 55d28553-1064-4ca8-8580-6be529c4ba38) Source Maps ~/_expo/static/js/web/entry-bc340e1ddab57b3524d320791687b96c.js.map (debug id 55d28553-1064-4ca8-8580-6be529c4ba38) INFO 2026-04-16 10:18:55.598286500 +03:00 Skipping update nagger update check
关闭于 2026-04-18 6 条评论