Description
I'm not sure where the problem is exactly. With this particular org I've started using the global org token for uploads, so that might be related.
I'm starting to see this same issue across multiple repos, and I'm starting to remove CodeCov from my projects as a result. I don't want my readme's to look broken. Hopefully you can fix this quickly!
According to the logs on GitHub Actions (example), it is all working fine.
_____ _
/ ____| | |
| | ___ __| | ___ ___ _____ __
| | / _ \ / _` |/ _ \/ __/ _ \ \ / /
| |___| (_) | (_| | __/ (_| (_) \ V /
\_____\___/ \__,_|\___|\___\___/ \_/
Wrapper-0.2.1
==> Detected linux
-> Downloading https://cli.codecov.io/latest/linux/codecov
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 27.5M 100 27.5M 0 0 96.6M 0 --:--:-- --:--:-- --:--:-- 96.9M
==> Finishing downloading linux:latest
Version: v10.4.0https://github.com/kettle-rb/kettle-soup-cover
gpg: directory '/home/runner/.gnupg' created
gpg: keybox '/home/runner/.gnupg/pubring.kbx' created
gpg: /home/runner/.gnupg/trustdb.gpg: trustdb created
gpg: key 806BB28AED779869: public key "Codecov Uploader (Codecov Uploader Verification Key) <security@codecov.io>" imported
gpg: Total number processed: 1
gpg: imported: 1
==> Verifying GPG signature integrity
-> Downloading https://cli.codecov.io/latest/linux/codecov.SHA256SUM
-> Downloading https://cli.codecov.io/latest/linux/codecov.SHA256SUM.sig
gpg: Signature made Wed Apr 9 03:02:55 2025 UTC
gpg: using RSA key 27034E7FDB850E0BBC2C62FF806BB28AED779869
gpg: Good signature from "Codecov Uploader (Codecov Uploader Verification Key) <security@codecov.io>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2703 4E7F DB85 0E0B BC2C 62FF 806B B28A ED77 9869
codecov: OK
==> CLI integrity verified
-> Token of length 36 detected
==> Running upload-coverage
./codecov --verbose upload-coverage -t <redacted> --fail-on-error --git-service github --gcov-executable gcov
info - 2025-05-21 15:20:08,411 -- ci service found: github-actions
debug - 2025-05-21 15:20:08,414 -- versioning system found: <class 'codecov_cli.helpers.versioning_systems.GitVersioningSystem'>
debug - 2025-05-21 15:20:08,416 -- versioning system found: <class 'codecov_cli.helpers.versioning_systems.GitVersioningSystem'>
warning - 2025-05-21 15:20:08,418 -- No config file could be found. Ignoring config.
debug - 2025-05-21 15:20:08,418 -- No codecov_yaml found
debug - 2025-05-21 15:20:08,438 -- Starting upload coverage --- {"verbose": true, "auto_load_params_from": null, "codecov_yml_path": null, "enterprise_url": null, "disable_telem": false, "version": "cli-10.4.0", "command": "upload-coverage", "fail_on_error": true, "git_service": "github", "gcov_executable": "gcov", "commit_sha": "bb20d30bf24b245451b9c953d1a19ed0738787c2", "slug": "oauth-xx/snaky_hash", "report_code": "default", "network_root_folder": "/home/runner/work/snaky_hash/snaky_hash", "files_search_root_folder": "/home/runner/work/snaky_hash/snaky_hash", "files_search_exclude_folders": [], "files_search_explicitly_listed_files": [], "recurse_submodules": false, "disable_search": false, "disable_file_fixes": false, "build_code": "15166070802", "build_url": "https://github.com/oauth-xx/snaky_hash/actions/runs/15166070802", "job_code": "Test Coverage", "name": "15166070802", "branch": "main", "pull_request_number": null, "env_vars": {}, "flags": [], "plugin_names": ["xcode", "gcov", "pycoverage"], "dry_run": false, "use_legacy_uploader": false, "handle_no_reports_found": false, "report_type_str": "coverage", "network_filter": null, "network_prefix": null, "gcov_args": null, "gcov_ignore": null, "gcov_include": null, "swift_project": null, "parent_sha": null}
debug - 2025-05-21 15:20:08,438 -- Selected preparation plugins --- {"selected_plugins": ["<class 'codecov_cli.plugins.xcode.XcodePlugin'>", "<class 'codecov_cli.plugins.gcov.GcovPlugin'>", "<class 'codecov_cli.plugins.pycoverage.Pycoverage'>"], "cli_config": {}}
debug - 2025-05-21 15:20:08,439 -- Running preparation plugin: <class 'codecov_cli.plugins.xcode.XcodePlugin'>
debug - 2025-05-21 15:20:08,439 -- Running xcode plugin...
warning - 2025-05-21 15:20:08,439 -- xcrun is not installed or can't be found.
debug - 2025-05-21 15:20:08,439 -- Running preparation plugin: <class 'codecov_cli.plugins.gcov.GcovPlugin'>
debug - 2025-05-21 15:20:08,440 -- Running gcov plugin...
debug - 2025-05-21 15:20:08,440 -- Translating `*.gcno` into `(?s:[^/]*\.gcno)\Z`
warning - 2025-05-21 15:20:08,443 -- No gcov data found.
debug - 2025-05-21 15:20:08,443 -- Running preparation plugin: <class 'codecov_cli.plugins.pycoverage.Pycoverage'>
warning - 2025-05-21 15:20:08,443 -- coverage.py is not installed or can't be found.
debug - 2025-05-21 15:20:08,444 -- Collecting relevant files
debug - 2025-05-21 15:20:08,449 -- Translating `*.am` into `(?s:[^/]*\.am)\Z`
debug - 2025-05-21 15:20:08,449 -- Translating `*.bash` into `(?s:[^/]*\.bash)\Z`
debug - 2025-05-21 15:20:08,449 -- Translating `*.bat` into `(?s:[^/]*\.bat)\Z`
debug - 2025-05-21 15:20:08,449 -- Translating `*.bw` into `(?s:[^/]*\.bw)\Z`
debug - 2025-05-21 15:20:08,449 -- Translating `*.cfg` into `(?s:[^/]*\.cfg)\Z`
debug - 2025-05-21 15:20:08,449 -- Translating `*.class` into `(?s:[^/]*\.class)\Z`
debug - 2025-05-21 15:20:08,449 -- Translating `*.cmake` into `(?s:[^/]*\.cmake)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.conf` into `(?s:[^/]*\.conf)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.coverage` into `(?s:[^/]*\.coverage)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.cp` into `(?s:[^/]*\.cp)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.cpp` into `(?s:[^/]*\.cpp)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.crt` into `(?s:[^/]*\.crt)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.css` into `(?s:[^/]*\.css)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.csv` into `(?s:[^/]*\.csv)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.data` into `(?s:[^/]*\.data)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.db` into `(?s:[^/]*\.db)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.dox` into `(?s:[^/]*\.dox)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.ec` into `(?s:[^/]*\.ec)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.egg` into `(?s:[^/]*\.egg)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.el` into `(?s:[^/]*\.el)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.env` into `(?s:[^/]*\.env)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.erb` into `(?s:[^/]*\.erb)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.exe` into `(?s:[^/]*\.exe)\Z`
debug - 2025-05-21 15:20:08,450 -- Translating `*.ftl` into `(?s:[^/]*\.ftl)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.gif` into `(?s:[^/]*\.gif)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `.git*` into `(?s:\.git[^/]*)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.gradle` into `(?s:[^/]*\.gradle)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.gz` into `(?s:[^/]*\.gz)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.h` into `(?s:[^/]*\.h)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.html` into `(?s:[^/]*\.html)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.in` into `(?s:[^/]*\.in)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.jade` into `(?s:[^/]*\.jade)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.jar*` into `(?s:[^/]*\.jar[^/]*)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.jpeg` into `(?s:[^/]*\.jpeg)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.jpg` into `(?s:[^/]*\.jpg)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.js` into `(?s:[^/]*\.js)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.less` into `(?s:[^/]*\.less)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.log` into `(?s:[^/]*\.log)\Z`
debug - 2025-05-21 15:20:08,451 -- Translating `*.m4` into `(?s:[^/]*\.m4)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.mak*` into `(?s:[^/]*\.mak[^/]*)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.md` into `(?s:[^/]*\.md)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `.nvmrc` into `(?s:\.nvmrc)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.o` into `(?s:[^/]*\.o)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.p12` into `(?s:[^/]*\.p12)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.pem` into `(?s:[^/]*\.pem)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.png` into `(?s:[^/]*\.png)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.pom*` into `(?s:[^/]*\.pom[^/]*)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.profdata` into `(?s:[^/]*\.profdata)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.proto` into `(?s:[^/]*\.proto)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.ps1` into `(?s:[^/]*\.ps1)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.pth` into `(?s:[^/]*\.pth)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.py` into `(?s:[^/]*\.py)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.pyc` into `(?s:[^/]*\.pyc)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.pyo` into `(?s:[^/]*\.pyo)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.rb` into `(?s:[^/]*\.rb)\Z`
debug - 2025-05-21 15:20:08,452 -- Translating `*.rsp` into `(?s:[^/]*\.rsp)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.rst` into `(?s:[^/]*\.rst)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.ru` into `(?s:[^/]*\.ru)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.sbt` into `(?s:[^/]*\.sbt)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.scss` into `(?s:[^/]*\.scss)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.serialized` into `(?s:[^/]*\.serialized)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.sh` into `(?s:[^/]*\.sh)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.snapshot` into `(?s:[^/]*\.snapshot)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.sql` into `(?s:[^/]*\.sql)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.svg` into `(?s:[^/]*\.svg)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.tar.tz` into `(?s:[^/]*\.tar\.tz)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.template` into `(?s:[^/]*\.template)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.ts` into `(?s:[^/]*\.ts)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.whl` into `(?s:[^/]*\.whl)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.xcconfig` into `(?s:[^/]*\.xcconfig)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.xcoverage.*` into `(?s:[^/]*\.xcoverage\.[^/]*)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.yml` into `(?s:[^/]*\.yml)\Z`
debug - 2025-05-21 15:20:08,453 -- Translating `*.yaml` into `(?s:[^/]*\.yaml)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `*/classycle/report.xml` into `(?s:[^/]+/classycle/report\.xml)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `*codecov.yml` into `(?s:[^/]*codecov\.yml)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `codecov.yaml` into `(?s:codecov\.yaml)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `*~` into `(?s:[^/]*\~)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `.*coveragerc` into `(?s:\.[^/]*coveragerc)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `.coverage*` into `(?s:\.coverage[^/]*)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `coverage-summary.json` into `(?s:coverage\-summary\.json)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `codecov.SHA256SUM` into `(?s:codecov\.SHA256SUM)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `codecov.SHA256SUM.sig` into `(?s:codecov\.SHA256SUM\.sig)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `createdFiles.lst` into `(?s:createdFiles\.lst)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `fullLocaleNames.lst` into `(?s:fullLocaleNames\.lst)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `include.lst` into `(?s:include\.lst)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `inputFiles.lst` into `(?s:inputFiles\.lst)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `phpunit-code-coverage.xml` into `(?s:phpunit\-code\-coverage\.xml)\Z`
debug - 2025-05-21 15:20:08,454 -- Translating `phpunit-coverage.xml` into `(?s:phpunit\-coverage\.xml)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `remapInstanbul.coverage*.json` into `(?s:remapInstanbul\.coverage[^/]*\.json)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `scoverage.measurements.*` into `(?s:scoverage\.measurements\.[^/]*)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `test_*_coverage.txt` into `(?s:test_[^/]*_coverage\.txt)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `test-result-*-codecoverage.json` into `(?s:test\-result\-[^/]*\-codecoverage\.json)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `testrunner-coverage*` into `(?s:testrunner\-coverage[^/]*)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `*.*js` into `(?s:[^/]*\.[^/]*js)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `*.map` into `(?s:[^/]*\.map)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `*.egg-info` into `(?s:[^/]*\.egg\-info)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `.ds_store` into `(?s:\.ds_store)\Z`
debug - 2025-05-21 15:20:08,455 -- Translating `*.zip` into `(?s:[^/]*\.zip)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `*.clover` into `(?s:[^/]*\.clover)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `*.codecov.*` into `(?s:[^/]*\.codecov\.[^/]*)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `*.gcov` into `(?s:[^/]*\.gcov)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `*.lcov` into `(?s:[^/]*\.lcov)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `*.lst` into `(?s:[^/]*\.lst)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `*coverage*.*` into `(?s:[^/]*coverage[^/]*\.[^/]*)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `*Jacoco*.xml` into `(?s:[^/]*Jacoco[^/]*\.xml)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `clover.xml` into `(?s:clover\.xml)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `cobertura.xml` into `(?s:cobertura\.xml)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `codecov-result.json` into `(?s:codecov\-result\.json)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `codecov.*` into `(?s:codecov\.[^/]*)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `cover.out` into `(?s:cover\.out)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `coverage-final.json` into `(?s:coverage\-final\.json)\Z`
debug - 2025-05-21 15:20:08,458 -- Translating `excoveralls.json` into `(?s:excoveralls\.json)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `gcov.info` into `(?s:gcov\.info)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `jacoco*.xml` into `(?s:jacoco[^/]*\.xml)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `lcov.dat` into `(?s:lcov\.dat)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `pylcov.dat` into `(?s:pylcov\.dat)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `lcov.info` into `(?s:lcov\.info)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `luacov.report.out` into `(?s:luacov\.report\.out)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `naxsi.info` into `(?s:naxsi\.info)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `nosetests.xml` into `(?s:nosetests\.xml)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `report.xml` into `(?s:report\.xml)\Z`
debug - 2025-05-21 15:20:08,459 -- Translating `test_cov.xml` into `(?s:test_cov\.xml)\Z`
info - 2025-05-21 15:20:08,463 -- Found 7 coverage files to report
debug - 2025-05-21 15:20:08,463 -- Found 168 network files to report, (168 without filtering)
info - 2025-05-21 15:20:08,463 -- > /home/runner/work/snaky_hash/snaky_hash/coverage/lcov.info
info - 2025-05-21 15:20:08,463 -- > /home/runner/work/snaky_hash/snaky_hash/gemfiles/coverage.gemfile
info - 2025-05-21 15:20:08,463 -- > /home/runner/work/snaky_hash/snaky_hash/gemfiles/modular/coverage.gemfile
info - 2025-05-21 15:20:08,463 -- > /home/runner/work/snaky_hash/snaky_hash/coverage/coverage.json
info - 2025-05-21 15:20:08,463 -- > /home/runner/work/snaky_hash/snaky_hash/tmp/qlty-coverage/file_coverages.jsonl
info - 2025-05-21 15:20:08,463 -- > /home/runner/work/snaky_hash/snaky_hash/gemfiles/coverage.gemfile.lock
info - 2025-05-21 15:20:08,464 -- > /home/runner/work/snaky_hash/snaky_hash/coverage/coverage.xml
debug - 2025-05-21 15:20:08,464 -- Selected uploader to use: <class 'codecov_cli.services.upload.upload_sender.UploadSender'>
debug - 2025-05-21 15:20:08,465 -- Sending upload request to Codecov
info - 2025-05-21 15:20:09,043 -- Your upload is now processing. When finished, results will be available at: https://app.codecov.io/github/oauth-xx/snaky_hash/commit/bb20d30bf24b245451b9c953d1a19ed0738787c2
debug - 2025-05-21 15:20:09,043 -- Upload request to Codecov complete. --- {"response": {"raw_upload_location": "https://storage.googleapis.com/codecov-production/shelter/github/oauth-xx%3A%3A%3A%3Asnaky_hash/bb20d30bf24b245451b9c953d1a19ed0738787c2/674fb245-8df8-4be5-b044-05645dce31bb.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EJWQHUGIBILH4J7Q6ZUSCIFNEOLYSNDS7L3B4N5SIBQ2J4YLYE5CRFCD%2F20250521%2Fus%2Fs3%2Faws4_request&X-Amz-Date=20250521T152008Z&X-Amz-Expires=30&X-Amz-SignedHeaders=host&X-Amz-Signature=5982e5ba297db5b54edc11cd70436bbd353356d678bb667779427eef22fe4ff6", "url": "https://app.codecov.io/github/oauth-xx/snaky_hash/commit/bb20d30bf24b245451b9c953d1a19ed0738787c2"}}
debug - 2025-05-21 15:20:09,043 -- Sending upload to storage
info - 2025-05-21 15:20:09,223 -- Process Upload complete
debug - 2025-05-21 15:20:09,223 -- Upload result --- {"result": "RequestResult(error=None, warnings=[], status_code=200, text='')"}
But on the CodeCov website it says there is an error. The error is so inscrutable that I can not diagnose or determine anything about what is failing. I am using a tool I wrote (kettle-soup-cover) that generates coverage report data in every common format, and this setup has been working for several years, across many projects, until recently.
Formats exported include HTML, XML, RCOV, LCOV, and JSON. Different coverage parsing tools need different formats, so I hope that's not an issue, and it hasn't been previously.
But...
- If the number of output formats is overwhelming, then perhaps don't ingest all of them?