Skip to content

Bump sqlalchemy from 1.3.24 to 2.0.52 - #2989

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/sqlalchemy-2.0.52
Open

Bump sqlalchemy from 1.3.24 to 2.0.52#2989
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/sqlalchemy-2.0.52

Bump sqlalchemy from 1.3.24 to 2.0.52

802f3d6
Select commit
Loading
Failed to load commit list.
Community-TC Integration / bugbot tests failed Aug 17, 2026 in 1m 51s

Community-TC (pull_request)

bugbot tests

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2026-08-17T13:10:53.224Z
Resolved: 2026-08-17T13:12:44.623Z
Task Execution Time: 1 minute, 51 seconds, 399 milliseconds
Task Status: failed
Reason Resolved: failed
TaskId: HGQVeDNTSoObyusV6rvJ4w
RunId: 0

Artifacts

- public/logs/live_backing.log (32.9 KB)
- public/logs/live.log


[taskcluster 2026-08-17T13:10:53.284Z] Worker Type (proj-relman/ci) settings:
[taskcluster 2026-08-17T13:10:53.284Z]   {
[taskcluster 2026-08-17T13:10:53.284Z]     "generic-worker": {
[taskcluster 2026-08-17T13:10:53.284Z]       "config": {
[taskcluster 2026-08-17T13:10:53.284Z]         "headlessTasks": false
[taskcluster 2026-08-17T13:10:53.284Z]       },
[taskcluster 2026-08-17T13:10:53.284Z]       "engine": "multiuser",
[taskcluster 2026-08-17T13:10:53.284Z]       "go-arch": "amd64",
[taskcluster 2026-08-17T13:10:53.284Z]       "go-os": "linux",
[taskcluster 2026-08-17T13:10:53.284Z]       "go-version": "go1.26.2",
[taskcluster 2026-08-17T13:10:53.284Z]       "release": "https://github.com/taskcluster/taskcluster/releases/tag/v99.1.0",
[taskcluster 2026-08-17T13:10:53.284Z]       "revision": "c76d61efe4bdc1a05bcec848739cd41ebf061f01",
[taskcluster 2026-08-17T13:10:53.284Z]       "source": "https://github.com/taskcluster/taskcluster/commits/c76d61efe4bdc1a05bcec848739cd41ebf061f01",
[taskcluster 2026-08-17T13:10:53.284Z]       "version": "99.1.0"
[taskcluster 2026-08-17T13:10:53.284Z]     },
[taskcluster 2026-08-17T13:10:53.284Z]     "image": "projects/community-tc-workers/global/images/generic-worker-ubuntu-24-04-aaynirqnxlbwcojgnbeo",
[taskcluster 2026-08-17T13:10:53.284Z]     "instance-id": "7868651973609699640",
[taskcluster 2026-08-17T13:10:53.284Z]     "instance-type": "projects/757942385826/machineTypes/n2-standard-4",
[taskcluster 2026-08-17T13:10:53.284Z]     "local-ipv4": "10.150.0.13",
[taskcluster 2026-08-17T13:10:53.284Z]     "machine-setup": {

...(144 lines hidden)...

tests/test_bzcleaner.py::test_inactive_needinfo_description PASSED       [ 56%]

tests/test_bzcleaner.py::test_inactive_needinfo_name PASSED              [ 57%]

tests/test_bzcleaner.py::test_inactive_needinfo_template PASSED          [ 58%]

tests/test_bzcleaner.py::test_inactive_needinfo_subject PASSED           [ 60%]

tests/test_bzcleaner.py::test_inactive_needinfo_get_bz_params PASSED     [ 61%]

tests/test_bzcleaner.py::test_inactive_needinfo_ignore_date PASSED       [ 62%]

tests/test_cache.py::test_cache PASSED                                   [ 64%]

tests/test_calendar.py::test_dom_lws_calendar PASSED                     [ 65%]

tests/test_calendar.py::test_performance_tools_calendar PASSED           [ 66%]

tests/test_calendar.py::test_recurring_event PASSED                      [ 68%]

tests/test_db.py::test_bugchange FAILED                                  [ 69%]

tests/test_db.py::test_email FAILED                                      [ 70%]

tests/test_duplicate_copy_metadata.py::test_get_previously_copied_fields PASSED [ 72%]

tests/test_email_no_assignee.py::test_nobody PASSED                      [ 73%]

tests/test_escalation.py::test_str PASSED                                [ 74%]

tests/test_escalation.py::test_escalation PASSED                         [ 76%]

tests/test_mail.py::test_replaceUnicode PASSED                           [ 77%]

tests/test_multi_autofixers.py::test_merge_changes PASSED                [ 78%]

tests/test_multi_autofixers.py::test_missing_merge_function PASSED       [ 80%]

tests/test_multi_autofixers.py::test_unsupported_rule_in_merge_function PASSED [ 81%]

tests/test_new_utils.py::test_get_signatures PASSED                      [ 82%]

tests/test_new_utils.py::test_add_signatures PASSED                      [ 84%]

tests/test_regression_set_status_flags.py::test_status_changes PASSED    [ 85%]

tests/test_round_robin.py::test_get PASSED                               [ 86%]

tests/test_round_robin.py::test_get_ics PASSED                           [ 88%]

tests/test_round_robin.py::test_get_who_to_nag PASSED                    [ 89%]

tests/test_severity.py::test_logical_comparison PASSED                   [ 90%]

tests/test_topcrash.py::test_get_blocked_signatures PASSED               [ 92%]

tests/test_user_activity.py::test_check_users PASSED                     [ 93%]

tests/test_user_activity.py::test_check_users_keep_active PASSED         [ 94%]

tests/test_user_activity.py::test_check_users_ignore_bots PASSED         [ 96%]

tests/test_user_activity.py::test_get_bz_users_with_status PASSED        [ 97%]

tests/test_user_activity.py::test_get_status_from_bz_user PASSED         [ 98%]

tests/test_webcompat_priority.py::TestWebcompatPriority::test_logical_comparison PASSED [100%]



=================================== FAILURES ===================================

________________________________ test_bugchange ________________________________



    def test_bugchange():

        db.session.query(db.BugChange).delete()

        db.session.commit()

    

        with open("./tests/data/db_history.json", "r") as In:

            HISTORY = json.load(In)["history"]

    

        db.BugChange.import_from_dict(HISTORY)

    

        data = db.BugChange.get()

        data = list(data)

    

        assert len(data) == len(HISTORY)

    

        data = _by_rule(HISTORY)

        for tool, info in data.items():

            _data = db.BugChange.get(name=tool).order_by(db.BugChange.date.asc())

            _data = list(_data)

            assert len(_data) == len(info)

    

            for expected, got in zip(info, _data):

                assert expected["tool"] == got.tool.name

                assert expected["bugid"] == got.bugid

                assert expected["date"] == str(got.get_date())

    

                got_extra = got.extra.extra if got.extra else ""

                assert expected["extra"] == got_extra

    

>       db.BugChange.add("A", 123, ts=123456789, extra="")



tests/test_db.py:54: 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

bugbot/db.py:107: in add

    check(BugChange.__tablename__)

bugbot/db.py:39: in check

    if not engine.dialect.has_table(engine, table_name):

<string>:2: in has_table

    ???

.tox/py310/lib/python3.10/site-packages/sqlalchemy/engine/reflection.py:90: in cache

    return fn(self, con, *args, **kw)

.tox/py310/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/base.py:2325: in has_table

    self._ensure_has_table_connection(connection)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 



self = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x761ab404e890>

arg = Engine(sqlite:///db/autonag.sqlite)



    def _ensure_has_table_connection(self, arg: Connection) -> None:

        if not isinstance(arg, Connection):

>           raise exc.ArgumentError(

                "The argument passed to Dialect.has_table() should be a "

                "%s, got %s. "

                "Additionally, the Dialect.has_table() method is for "

                "internal dialect "

                "use only; please use "

                "``inspect(some_engine).has_table(<tablename>>)`` "

                "for public API use." % (Connection, type(arg))

            )

E           sqlalchemy.exc.ArgumentError: The argument passed to Dialect.has_table() should be a <class 'sqlalchemy.engine.base.Connection'>, got <class 'sqlalchemy.engine.base.Engine'>. Additionally, the Dialect.has_table() method is for internal dialect use only; please use ``inspect(some_engine).has_table(<tablename>>)`` for public API use.



.tox/py310/lib/python3.10/site-packages/sqlalchemy/engine/default.py:450: ArgumentError

__________________________________ test_email __________________________________



    def test_email():

        db.session.query(db.Email).delete()

        db.session.commit()

    

        with open("./tests/data/db_history.json", "r") as In:

            EMAILS = json.load(In)["emails"]

    

        db.Email.import_from_dict(EMAILS)

    

        data = db.Email.get().order_by(db.Email.date.asc())

        data = list(data)

    

        assert len(data) == len(EMAILS)

    

        for expected, got in zip(EMAILS, data):

            assert expected["tool"] == got.tool.name

            assert expected["user"] == got.user.email

            assert expected["date"] == str(got.get_date())

    

            got_res = "Success" if got.result != 0 else "Failure"

            assert expected["result"] == got_res

    

            got_extra = got.extra.extra if got.extra else ""

            assert expected["extra"] == got_extra

    

>       db.Email.add("I", ["J", "K"], "L", "Success", ts=123456789)



tests/test_db.py:99: 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

bugbot/db.py:347: in add

    check(Email.__tablename__)

bugbot/db.py:39: in check

    if not engine.dialect.has_table(engine, table_name):

<string>:2: in has_table

    ???

.tox/py310/lib/python3.10/site-packages/sqlalchemy/engine/reflection.py:90: in cache

    return fn(self, con, *args, **kw)

.tox/py310/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/base.py:2325: in has_table

    self._ensure_has_table_connection(connection)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 



self = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x761ab404e890>

arg = Engine(sqlite:///db/autonag.sqlite)



    def _ensure_has_table_connection(self, arg: Connection) -> None:

        if not isinstance(arg, Connection):

>           raise exc.ArgumentError(

                "The argument passed to Dialect.has_table() should be a "

                "%s, got %s. "

                "Additionally, the Dialect.has_table() method is for "

                "internal dialect "

                "use only; please use "

                "``inspect(some_engine).has_table(<tablename>>)`` "

                "for public API use." % (Connection, type(arg))

            )

E           sqlalchemy.exc.ArgumentError: The argument passed to Dialect.has_table() should be a <class 'sqlalchemy.engine.base.Connection'>, got <class 'sqlalchemy.engine.base.Engine'>. Additionally, the Dialect.has_table() method is for internal dialect use only; please use ``inspect(some_engine).has_table(<tablename>>)`` for public API use.



.tox/py310/lib/python3.10/site-packages/sqlalchemy/engine/default.py:450: ArgumentError

=============================== warnings summary ===============================

bugbot/db.py:22

  /bugbot/bugbot/db.py:22: MovedIn20Warning: The ``declarative_base()`` function is now available as sqlalchemy.orm.declarative_base(). (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)

    Base: Any = declarative_base()



.tox/py310/lib/python3.10/site-packages/google/api_core/_python_version_support.py:254

  /bugbot/.tox/py310/lib/python3.10/site-packages/google/api_core/_python_version_support.py:254: FutureWarning: You are using a Python version (3.10.21) which Google will stop supporting in new releases of google.api_core once it reaches its end of life (2026-10-04). Please upgrade to the latest Python version, or at least Python 3.11, to continue receiving updates for google.api_core past that date.

    warnings.warn(message, FutureWarning)



tests/test_db.py::test_bugchange

  /bugbot/bugbot/db.py:259: SAWarning: Object of type <BugChange> not in session, add operation along 'Tool.bugchanges' will not proceed (This warning originated from the Session 'autoflush' process, which was invoked automatically in response to a user-initiated operation. Consider using ``no_autoflush`` context manager if this warning happened while initializing objects.)

    session.query(Extra).filter(Extra.extra == extra).one()



tests/test_db.py::test_email

  /bugbot/bugbot/db.py:224: SAWarning: Object of type <Email> not in session, add operation along 'Tool.emails' will not proceed (This warning originated from the Session 'autoflush' process, which was invoked automatically in response to a user-initiated operation. Consider using ``no_autoflush`` context manager if this warning happened while initializing objects.)

    return session.query(User).filter(User.email == email).one()



tests/test_db.py::test_email

  /bugbot/bugbot/db.py:259: SAWarning: Object of type <Email> not in session, add operation along 'User.mails' will not proceed (This warning originated from the Session 'autoflush' process, which was invoked automatically in response to a user-initiated operation. Consider using ``no_autoflush`` context manager if this warning happened while initializing objects.)

    session.query(Extra).filter(Extra.extra == extra).one()



-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

=========================== short test summary info ============================

FAILED tests/test_db.py::test_bugchange - sqlalchemy.exc.ArgumentError: The argument passed to Dialect.has_table() sh...

FAILED tests/test_db.py::test_email - sqlalchemy.exc.ArgumentError: The argument passed to Dialect.has_table() sh...

=================== 2 failed, 73 passed, 5 warnings in 8.00s ===================

py310: exit 1 (9.17 seconds) /bugbot> coverage run --branch --source /bugbot/bugbot -m pytest -v pid=907
  py310: FAIL code 1 (27.33=setup[17.42]+cmd[0.64,0.10,9.17] seconds)
  evaluation failed :( (27.36 seconds)
[taskcluster 2026-08-17T13:12:43.363Z]                        Exit Code: 1
[taskcluster 2026-08-17T13:12:43.363Z]                        User Time: 18.422ms
[taskcluster 2026-08-17T13:12:43.363Z]                      Kernel Time: 20.265ms
[taskcluster 2026-08-17T13:12:43.363Z]                        Wall Time: 1m31.750989355s
[taskcluster 2026-08-17T13:12:43.363Z]  Average Available System Memory: 14.06 GiB
[taskcluster 2026-08-17T13:12:43.363Z]       Average System Memory Used: 1.55 GiB
[taskcluster 2026-08-17T13:12:43.363Z]          Peak System Memory Used: 1.75 GiB
[taskcluster 2026-08-17T13:12:43.363Z]              Total System Memory: 15.61 GiB
[taskcluster 2026-08-17T13:12:43.363Z]                           Result: FAILED
[taskcluster 2026-08-17T13:12:43.363Z] === Task Finished ===
[taskcluster 2026-08-17T13:12:43.363Z] Task Duration: 1m31.751607846s
[taskcluster:error] exit status 1