• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mozilla-releng / balrog
90%
main: 90%

Build:
Build:
LAST BUILD BRANCH: renovate/npm-qs-vulnerability
DEFAULT BRANCH: main
Repo Added 08 Jan 2020 02:24PM UTC
Files 61
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH orjson
branch: orjson
CHANGE BRANCH
x
Reset
  • orjson
  • 20250501
  • HEAD
  • SVCSE-3344
  • ahal/push-lnpkkyxvuquk
  • ahal/push-lsunytmtzqnv
  • ahal/push-mklnsqmuksnv
  • ahal/push-nztpozkmxqum
  • ahal/push-omrtyztkomrn
  • ahal/push-pvmxttzqrzrm
  • ahal/push-pwpkutknwovm
  • ahal/push-qxoxonntoooy
  • ahal/push-roolztnzrown
  • ahal/push-rwonorwzozkv
  • ahal/push-uksmmokkqkvy
  • ahal/push-ulksryrykpvo
  • ahal/push-uoluqmrlrplt
  • ahal/push-utxxklpzvtpn
  • app-factory
  • app.testing
  • auth0
  • auth0-bump
  • axios-bump
  • badinputs-minus-one
  • batch-user
  • better-force-validation
  • better-uwsgi-config
  • biome
  • bug1995275
  • bug1998957
  • bug2001951
  • bump-3.65
  • bump-3.66
  • bump-3.73
  • bump-3.74
  • bump-3.83
  • bump-3.96
  • bump-3.98
  • bump-399
  • bump-deps
  • bump-frontend-deps
  • bump-pydeps
  • bump-taskgraph
  • bump-v3.72
  • bump-v3.79
  • bump-version
  • bump-version-for-next-release
  • bumps
  • bumubumubumu
  • change-case-update
  • ciscotest-staging
  • cleanup
  • client-out-of-workspace
  • codemirror-react17
  • codeowners
  • compose
  • compose-links
  • connexion3
  • cors-fix
  • css-loader
  • decision-v12.1.0
  • dedup-dockerfiles
  • dependabot
  • dependabot/npm_and_yarn/ui/axios-0.30.0
  • dependabot/npm_and_yarn/ui/axios-1.11.0
  • dependabot/npm_and_yarn/ui/axios-1.12.0
  • dependabot/npm_and_yarn/ui/axios-1.7.9
  • dependabot/npm_and_yarn/ui/axios-1.8.1
  • dependabot/npm_and_yarn/ui/axios-1.8.2
  • dependabot/npm_and_yarn/ui/axios-1.8.3
  • dependabot/npm_and_yarn/ui/axios-1.8.4
  • dependabot/npm_and_yarn/ui/babel/core-7.26.10
  • dependabot/npm_and_yarn/ui/babel/core-7.26.7
  • dependabot/npm_and_yarn/ui/babel/core-7.26.8
  • dependabot/npm_and_yarn/ui/babel/core-7.26.9
  • dependabot/npm_and_yarn/ui/babel/preset-env-7.26.7
  • dependabot/npm_and_yarn/ui/babel/preset-env-7.26.8
  • dependabot/npm_and_yarn/ui/babel/preset-env-7.26.9
  • dependabot/npm_and_yarn/ui/babel/preset-react-7.26.3
  • dependabot/npm_and_yarn/ui/babel/runtime-7.26.10
  • dependabot/npm_and_yarn/ui/deps-27c316fb00
  • dependabot/npm_and_yarn/ui/deps-2eb76f7ce8
  • dependabot/npm_and_yarn/ui/deps-4a5c1193a4
  • dependabot/npm_and_yarn/ui/deps-5287079acf
  • dependabot/npm_and_yarn/ui/deps-841103860b
  • dependabot/npm_and_yarn/ui/deps-a9c67bf045
  • dependabot/npm_and_yarn/ui/deps-ca98a7f723
  • dependabot/npm_and_yarn/ui/deps-e3dc5e1b81
  • dependabot/npm_and_yarn/ui/deps-eaa1054ea9
  • dependabot/npm_and_yarn/ui/deps-fdb5fc8b59
  • dependabot/npm_and_yarn/ui/diff-8.0.3
  • dependabot/npm_and_yarn/ui/dotenv-16.4.7
  • dependabot/npm_and_yarn/ui/dotenv-16.5.0
  • dependabot/npm_and_yarn/ui/dotenv-cli-8.0.0
  • dependabot/npm_and_yarn/ui/downshift-9.0.9
  • dependabot/npm_and_yarn/ui/elliptic-6.6.1
  • dependabot/npm_and_yarn/ui/eslint-config-prettier-10.0.1
  • dependabot/npm_and_yarn/ui/eslint-config-prettier-10.0.2
  • dependabot/npm_and_yarn/ui/eslint-config-prettier-10.1.1
  • dependabot/npm_and_yarn/ui/eslint-config-prettier-10.1.2
  • dependabot/npm_and_yarn/ui/eslint-plugin-jest-28.11.0
  • dependabot/npm_and_yarn/ui/eslint-plugin-jest-28.12.0
  • dependabot/npm_and_yarn/ui/eslint-plugin-react-7.37.4
  • dependabot/npm_and_yarn/ui/js-yaml-3.14.2
  • dependabot/npm_and_yarn/ui/lodash-4.17.23
  • dependabot/npm_and_yarn/ui/node-forge-1.3.2
  • dependabot/npm_and_yarn/ui/pbkdf2-3.1.3
  • dependabot/npm_and_yarn/ui/prettier-3.4.2
  • dependabot/npm_and_yarn/ui/prettier-3.5.0
  • dependabot/npm_and_yarn/ui/prettier-3.5.1
  • dependabot/npm_and_yarn/ui/prettier-3.5.2
  • dependabot/npm_and_yarn/ui/prettier-3.5.3
  • dependabot/npm_and_yarn/ui/qs-6.14.0
  • dependabot/npm_and_yarn/ui/qs-6.14.1
  • dependabot/npm_and_yarn/ui/react-codemirror2-8.0.1
  • dependabot/npm_and_yarn/ui/react-diff-view-3.3.1
  • dependabot/npm_and_yarn/ui/react-number-format-5.4.3
  • dependabot/npm_and_yarn/ui/react-number-format-5.4.4
  • dependabot/npm_and_yarn/ui/react-router-7.12.0
  • dependabot/npm_and_yarn/ui/react-router-dom-6.28.2
  • dependabot/npm_and_yarn/ui/react-router-dom-6.29.0
  • dependabot/npm_and_yarn/ui/react-router-dom-6.30.0
  • dependabot/npm_and_yarn/ui/typescript-5.7.3
  • dependabot/npm_and_yarn/ui/typescript-5.8.2
  • dependabot/npm_and_yarn/ui/webpack-dev-server-5.2.0
  • dependabot/npm_and_yarn/ui/webpack-dev-server-5.2.1
  • dependabot/pip/agent/requirements/aiohttp-3.12.14
  • dependabot/pip/agent/requirements/black-25.1.0
  • dependabot/pip/agent/requirements/flake8-7.2.0
  • dependabot/pip/agent/requirements/isort-6.0.0
  • dependabot/pip/agent/requirements/pip-compile-multi-2.8.0
  • dependabot/pip/agent/requirements/pytest-asyncio-0.25.0
  • dependabot/pip/agent/requirements/pytest-asyncio-0.26.0
  • dependabot/pip/agent/requirements/sentry-sdk-2.21.0
  • dependabot/pip/agent/requirements/sentry-sdk-2.22.0
  • dependabot/pip/agent/requirements/sentry-sdk-2.24.0
  • dependabot/pip/agent/requirements/sentry-sdk-2.24.1
  • dependabot/pip/agent/requirements/tox-4.25.0
  • dependabot/pip/requirements/auth0-python-4.8.0
  • dependabot/pip/requirements/connexion-3.2.0
  • dependabot/pip/requirements/cryptography-44.0.1
  • dependabot/pip/requirements/deps-7b3319e34f
  • dependabot/pip/requirements/flake8-7.2.0
  • dependabot/pip/requirements/google-cloud-storage-2.19.0
  • dependabot/pip/requirements/google-cloud-storage-3.0.0
  • dependabot/pip/requirements/hypothesis-6.122.3
  • dependabot/pip/requirements/hypothesis-6.130.3
  • dependabot/pip/requirements/hypothesis-6.130.5
  • dependabot/pip/requirements/hypothesis-6.131.0
  • dependabot/pip/requirements/mozilla-version-3.2.0
  • dependabot/pip/requirements/pip-compile-multi-3.1.0
  • dependabot/pip/requirements/pyjwt-2.10.1
  • dependabot/pip/requirements/pytest-asyncio-0.25.0
  • dependabot/pip/requirements/pytest-asyncio-0.26.0
  • dependabot/pip/requirements/python-jose-3.4.0
  • dependabot/pip/requirements/requests-2.32.4
  • dependabot/pip/requirements/sentry-sdk-flask--2.21.0
  • dependabot/pip/requirements/sentry-sdk-flask--2.22.0
  • dependabot/pip/requirements/sentry-sdk-flask--2.24.0
  • dependabot/pip/requirements/sentry-sdk-flask--2.24.1
  • dependabot/pip/requirements/setuptools-75.6.0
  • dependabot/pip/requirements/setuptools-76.0.0
  • dependabot/pip/requirements/setuptools-78.1.0
  • dependabot/pip/requirements/setuptools-79.0.0
  • dependabot/pip/requirements/sqlalchemy-2.0.37
  • dependabot/pip/requirements/sqlalchemy-2.0.38
  • dependabot/pip/requirements/sqlalchemy-2.0.39
  • dependabot/pip/requirements/sqlalchemy-2.0.40
  • dependabot/pip/requirements/tox-4.24.1
  • dependabot/pip/requirements/tox-4.25.0
  • dependabot/uv/client/filelock-3.20.3
  • dependabot/uv/client/urllib3-2.6.3
  • dependabot/uv/client/virtualenv-20.36.1
  • dependabot/uv/filelock-3.20.3
  • dependabot/uv/pyasn1-0.6.2
  • dependabot/uv/python-multipart-0.0.22
  • dependabot/uv/virtualenv-20.36.1
  • dependabot/uv/werkzeug-3.1.5
  • deps
  • deps-20241212
  • deps-20250109
  • deps-20250311
  • deps-20250320
  • deps-20250403
  • deps-20250612
  • deps-20251113
  • disable-error-overlay
  • dotenv
  • drop-py39
  • error-handlers
  • fast-refresh
  • fix-auth0-auth-expiry
  • fix-auth0-warning
  • fix-doc-link
  • fix-guardian-db-fixture
  • fix-interceptors-leak
  • fix-minTime
  • fix-rule-cards-always-having-disabled-actions
  • fix-ssl-config
  • fix-version-in-decision-task
  • flask-error-handler
  • flask-request
  • flask_app
  • flaskapp
  • frontend-deps
  • gunicorn
  • handleGeneralExceptions
  • heads/refs/heads/main
  • hneiva/docs-infra
  • hneiva/fix-backend-docker
  • hneiva/repin
  • hneiva/tox-upgrade
  • hneiva/vbump
  • ignore-auth0-errors
  • ignore-coveralls-failures
  • insert-a-joke-about-leftpad-here
  • issue3345
  • issue3387
  • issue3567
  • its-dangerous-to-go-alone-take-this-state
  • jest
  • js-reduce-overscan
  • json-apprelease
  • localdev-mysql-interval
  • main
  • make-ciscotest-permanent
  • more-unused-stuff
  • move-deploy-config
  • nginx-rewrite-api
  • no-compress
  • no-refresh-tokens
  • omit-omit
  • oops-forgot-some-garbage
  • opt-get-releases
  • opt-js-filter-releases
  • opt-js-remove-finds-in-rules
  • opt-js-virtual-rendering
  • optimize-db-dump-query
  • patch-1
  • patch-3
  • pip-compile-multi-uv
  • pip-warnings
  • post-release-bump
  • pr-complete
  • prop-types-gone
  • push-kxqrywwkroyk
  • push-lskwuwlyzsuq
  • push-lxvuyvlvozsn
  • push-myoutovxkoxq
  • push-nzprtvtyuvss
  • push-pkmnutnxosww
  • push-psrxtntrlwky
  • push-qkrluwnwqkrl
  • push-szunttnpnkul
  • push-tmmsyrnmonkl
  • push-txswrroxrkyr
  • push-uppyvvonzzto
  • push-uxqvqslzwzkw
  • push-vouxxqqovosp
  • push-wqtoxvrmnnts
  • push-xnmtlmxkzmuv
  • push-yywslzkxunxs
  • push-zwkqnnxyxxuk
  • push-zymsuryzunpu
  • py313
  • pydeps
  • python-deps
  • query-release-mapping
  • ramda
  • react-comment-smash-that-bell
  • react-number-format
  • reject-empty-pin
  • reland-auth0
  • remove-docker-compose-indirection
  • remove-dotenv
  • remove-engines-package-json
  • remove-html-loader
  • remove-mozilla-frontend-infra-components
  • remove-mui-lab
  • remove-old-auth0-config
  • remove-react-router-dom
  • remove-style-loader
  • remove-useless-babel-plugin
  • remove-useless-dep
  • remove-worker-loader
  • remove-yet-another-dep
  • renovate/actions-checkout-6.x
  • renovate/actions-checkout-digest
  • renovate/black-26.x
  • renovate/configure
  • renovate/debian-13.x
  • renovate/debian-trixie
  • renovate/docker-dependencies
  • renovate/docker-login-action-3.x
  • renovate/github-actions
  • renovate/golang-1.25
  • renovate/google-github-actions-auth-3.x
  • renovate/js-dependencies
  • renovate/lock-file-maintenance-agent/pyproject.toml
  • renovate/lock-file-maintenance-client/pyproject.toml
  • renovate/mozilla-autograph-latest
  • renovate/mozillareleases-taskgraph-14.x
  • renovate/mozillareleases-taskgraph-18.x
  • renovate/nginx-1.29
  • renovate/node-24
  • renovate/node-24.x
  • renovate/npm-axios-vulnerability
  • renovate/npm-qs-vulnerability
  • renovate/pin-dependencies
  • renovate/python-dependencies
  • renovate/redis-8-alpine
  • renovate/sqlalchemy-2.x
  • restore-utf8-locale-in-containers
  • revert-3458-pip-compile-multi-uv
  • revert-3466-dotenv
  • revert-auth0
  • revert-ciscotest
  • revert-connexion3
  • rull-diff-edit
  • sentry-ignore-validation-errors
  • shutoff-signoff
  • sphinx
  • split-python-lints
  • sqlite-threads
  • staging
  • staging-update
  • statsd-pipeline
  • taskgraph
  • tests-without-app
  • try-buildkite
  • unpin-deps
  • update-deps
  • update-python-deps
  • update-version
  • updates-disabled-cache
  • uv
  • vbump
  • version-bump
  • version_bump
  • virtual-dom-deps
  • vpn-strictversion
  • warn-once
  • we-dont-need-two-diff-libraries
  • webpack
  • who-cleans-the-cleaner
  • why-did-it-take-me-so-long-to-fix-this
  • xz-oom-fix-maybe-perhaps-probably-this-time-for-sure

06 Feb 2026 09:23AM UTC coverage: 89.901% (+0.001%) from 89.9%
#5196

Pull #3659

circleci

Eijebong
Bug 2013441 - Use orjson to serialize/deserialize objects for the redis cache

The main thing here is that Blobs cannot be deserialized from JSON
directly so we have to provide a specific loader to the redis cache,
which is why we weren't using orjson in the first place. The commit is
mostly plumbing to pass the redis_loads method through all of the right
cache layers/factories.

I originally thought about making this less invasive and just returning
the value as is from the cache and let the caller decide what to do with
what it got back from the cache (for blobs it could either get a dict or
a Blob object based on whether the cache was hit or not, which could
easily be detected by always calling createBlob on the result and
returning early if it was already a Blob). I went back on this because
it felt more fragile and error prone than doing the conversion
explicitly. It's still no perfect still those cache definitions aren't
tested properly and short of deactivating the LRU cache they're hard to
test locally.

I tested this by disabling the LRU cache completely and using an `assert
cache_value == value_getter()` in the cache hit path then hitting
`/update/3/Firefox/42.0/0/Linux_x86_64-gcc3/en-US/release/None/default/default/update.xml`
on the public API. Everything worked fine.

All the other public caches use trivial objects so we don't need special
loaders for them. The admin app doesn't have redis configured.

I removed test_release_blobs_can_log_after_pickling since it's
irrelevant now but decided against reverting
e8cb2ec09 entirely because getting a
logger once per class instead of once per object still sounds like an
improvement we'd want and the other test to deepcopy is also still
relevant for caches using `make_copies`.
Pull Request #3659: Bug 2013441 - Use orjson to serialize/deserialize objects for the redis cache

2165 of 2546 branches covered (85.04%)

Branch coverage included in aggregate %.

11 of 12 new or added lines in 1 file covered. (91.67%)

5731 of 6237 relevant lines covered (91.89%)

0.92 hits per line

Relevant lines Covered
Build:
Build:
6237 RELEVANT LINES 5731 COVERED LINES
0.92 HITS PER LINE
Source Files on orjson
  • Tree
  • List 61
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
#5196 orjson Bug 2013441 - Use orjson to serialize/deserialize objects for the redis cache The main thing here is that Blobs cannot be deserialized from JSON directly so we have to provide a specific loader to the redis cache, which is why we weren't using or... Pull #3659 06 Feb 2026 09:32AM UTC Eijebong circleci
89.9
#5195 orjson Bug 2013441 - Use orjson to serialize/deserialize objects for the redis cache The main thing here is that Blobs cannot be deserialized from JSON directly so we have to provide a specific loader to the redis cache, which is why we weren't using or... Pull #3659 05 Feb 2026 10:39PM UTC Eijebong circleci
89.9
#5188 orjson Update auth0-python to 5.0.0 The changelog is real scary "Major Rewrite" but the authentication API did not get changed and our only usage of the auth0-python library is `from auth0.authentication import Users as auth0_Users`. Now whether it's w... Pull #3659 05 Feb 2026 01:57PM UTC Eijebong circleci
89.9
#5186 orjson Bug 2013441 - Use orjson to serialize/deserialize objects for the redis cache The main thing here is that Blobs cannot be deserialized from JSON directly so we have to provide a specific loader to the redis cache, which is why we weren't using or... Pull #3659 05 Feb 2026 01:40PM UTC Eijebong circleci
89.9
See All Builds (5284)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc