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

mozilla-releng / balrog
90%
main: 89%

Build:
Build:
LAST BUILD BRANCH: vpn-strictversion
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 push-xnmtlmxkzmuv
branch: push-xnmtlmxkzmuv
CHANGE BRANCH
x
Reset
  • push-xnmtlmxkzmuv
  • 20250501
  • HEAD
  • 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-rwonorwzozkv
  • ahal/push-ulksryrykpvo
  • app-factory
  • app.testing
  • auth0
  • axios-bump
  • badinputs-minus-one
  • batch-user
  • better-force-validation
  • biome
  • bump-3.65
  • bump-3.66
  • bump-3.73
  • bump-3.74
  • bump-3.83
  • bump-deps
  • bump-frontend-deps
  • bump-pydeps
  • bump-taskgraph
  • bump-v3.72
  • bump-v3.79
  • bump-version
  • bump-version-for-next-release
  • 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-4a5c1193a4
  • dependabot/npm_and_yarn/ui/deps-5287079acf
  • dependabot/npm_and_yarn/ui/deps-a9c67bf045
  • dependabot/npm_and_yarn/ui/deps-eaa1054ea9
  • 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/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/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-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
  • deps
  • deps-20241212
  • deps-20250109
  • deps-20250311
  • deps-20250320
  • deps-20250403
  • deps-20250612
  • disable-error-overlay
  • dotenv
  • drop-py39
  • error-handlers
  • fast-refresh
  • fix-auth0-auth-expiry
  • fix-guardian-db-fixture
  • fix-rule-cards-always-having-disabled-actions
  • fix-version-in-decision-task
  • flask-error-handler
  • flask-request
  • flask_app
  • flaskapp
  • 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
  • its-dangerous-to-go-alone-take-this-state
  • jest
  • json-apprelease
  • localdev-mysql-interval
  • make-ciscotest-permanent
  • more-unused-stuff
  • move-deploy-config
  • nginx-rewrite-api
  • no-compress
  • no-refresh-tokens
  • oops-forgot-some-garbage
  • patch-1
  • patch-3
  • pip-compile-multi-uv
  • pip-warnings
  • pr-complete
  • push-kxqrywwkroyk
  • push-lskwuwlyzsuq
  • push-lxvuyvlvozsn
  • push-myoutovxkoxq
  • push-nzprtvtyuvss
  • push-psrxtntrlwky
  • push-qkrluwnwqkrl
  • push-szunttnpnkul
  • push-txswrroxrkyr
  • push-uxqvqslzwzkw
  • push-vouxxqqovosp
  • push-wqtoxvrmnnts
  • push-yywslzkxunxs
  • push-zwkqnnxyxxuk
  • py313
  • 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-react-router-dom
  • remove-style-loader
  • remove-useless-dep
  • remove-yet-another-dep
  • restore-utf8-locale-in-containers
  • revert-3458-pip-compile-multi-uv
  • revert-3466-dotenv
  • revert-auth0
  • revert-ciscotest
  • revert-connexion3
  • 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

09 Oct 2025 01:20PM UTC coverage: 90.037%. First build
#4992

Pull #3562

circleci

bhearsum
fix: make blobs safely unpicklable

When we attempted to turn on redis caching in production today an interesting new issue came up where we got tracebacks such as:
```
Traceback (most recent call last):
  File "flask/app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
  File "flask/app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "connexion/decorators/decorator.py", line 68, in wrapper
    response = function(request)
  File "connexion/decorators/uri_parsing.py", line 149, in wrapper
    response = function(request)
  File "connexion/decorators/validation.py", line 399, in wrapper
    return function(request)
  File "connexion/decorators/produces.py", line 41, in wrapper
    response = function(request)
  File "connexion/decorators/parameter.py", line 120, in wrapper
    return function(**kwargs)
  File "auslib/web/public/helpers.py", line 17, in wrapper
    return f(*args, transaction=transaction, **kwargs)
  File "auslib/web/public/client.py", line 155, in get_update_blob
    release, update_type, eval_metadata = AUS.evaluateRules(query, transaction=transaction)
  File "auslib/AUS.py", line 152, in evaluateRules
    candidate = blob.shouldServeUpdate(updateQuery)
  File "auslib/blobs/apprelease.py", line 222, in shouldServeUpdate
    self.log.debug("Matching rule has no application version, will not serve update.")
AttributeError: 'ReleaseBlobV1' object has no attribute 'log'
```

The `log` attribute on blobs is set as a class attribute during `__init__` (https://github.com/mozilla-releng/balrog/blob/9c916ab46/src/auslib/blobs/base.py#L156). According to the comment above that, and confirmed with some digging, this was done because at some earlier point in time we required these objects to be picklable due to the `deepcopy` that happens when caching in the admin app (see https://github.com/mozilla-releng/balrog/pull/46... (continued)
Pull Request #3562: fix: make blobs safely unpicklable

2167 of 2544 branches covered (85.18%)

Branch coverage included in aggregate %.

5 of 5 new or added lines in 1 file covered. (100.0%)

5722 of 6218 relevant lines covered (92.02%)

0.92 hits per line

Relevant lines Covered
Build:
Build:
6218 RELEVANT LINES 5722 COVERED LINES
0.92 HITS PER LINE
Source Files on push-xnmtlmxkzmuv
  • Tree
  • List 61
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
#4992 push-xnmtlmxkzmuv fix: make blobs safely unpicklable When we attempted to turn on redis caching in production today an interesting new issue came up where we got tracebacks such as: ``` Traceback (most recent call last): File "flask/app.py", line 1823, in full_d... Pull #3562 09 Oct 2025 01:28PM UTC bhearsum circleci
90.04
#4991 push-xnmtlmxkzmuv fix: make blobs safely unpicklable When we attempted to turn on redis caching in production today an interesting new issue came up where we got tracebacks such as: ``` Traceback (most recent call last): File "flask/app.py", line 1823, in full_d... Pull #3562 08 Oct 2025 06:50PM UTC bhearsum circleci
90.04
#4990 push-xnmtlmxkzmuv fix: make blobs safely unpicklable When we attempted to turn on redis caching in production today an interesting new issue came up where we got tracebacks such as: ``` Traceback (most recent call last): File "flask/app.py", line 1823, in full_d... Pull #3562 08 Oct 2025 01:27PM UTC bhearsum circleci
90.04
#4989 push-xnmtlmxkzmuv fix: make blobs safely unpicklable When we attempted to turn on redis caching in production today an interesting new issue came up where we got tracebacks such as: ``` Traceback (most recent call last): File "flask/app.py", line 1823, in full_d... Pull #3562 08 Oct 2025 01:06PM UTC bhearsum circleci
90.04
#4988 push-xnmtlmxkzmuv fix: make blobs safely unpicklable When we attempted to turn on redis caching in production today an interesting new issue came up where we got tracebacks such as: ``` Traceback (most recent call last): File "flask/app.py", line 1823, in full_d... Pull #3562 07 Oct 2025 07:33PM UTC bhearsum circleci
90.04
See All Builds (5079)
  • 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

© 2025 Coveralls, Inc