Closed Bug 1828604 Opened 3 years ago Closed 3 years ago

Can't run `ci-admin diff` => KeyError: '\\' when stripping colored diff

Categories

(Firefox Build System :: Task Configuration, defect)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jlorenzo, Assigned: jlorenzo)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

This morning, I wanted to look into why bug 1828452 wasn't deployed yesterday. I wanted to run ci-admin diff locally and here's the error I got.

Traceback (most recent call last):
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/bin/ci-admin", line 33, in <module>
    sys.exit(load_entry_point('ci-admin', 'console_scripts', 'ci-admin')())
  File "/Users/johanlorenzo/hg/ci/ci-configuration/src/ciadmin/boot.py", line 52, in boot
    main(appconfig)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/main.py", line 122, in main
    cmd()
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/main.py", line 29, in wrap
    return loop.run_until_complete(fn(*args, **kwargs))
  File "/opt/homebrew/Cellar/python@3.10/3.10.11/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/util/sessions.py", line 26, in wrap
    return await fn(*args, **kwargs)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/main.py", line 86, in diffCommand
    different = diff.show_diff(expected, actual)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/options.py", line 61, in wrap
    return fn(*args, **kwargs)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/diff.py", line 155, in show_diff
    result = textual_diff(generated, current, context)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/diff.py", line 131, in textual_diff
    return "\n".join(lines)
  File "/Users/johanlorenzo/.virtualenvs/ci-configuration/lib/python3.10/site-packages/tcadmin/diff.py", line 129, in <genexpr>
    colors[l[0]](l).rstrip() for l in (line if line else " " for line in lines)
KeyError: '\\'

This issue was first raised in tc-admin#204 and was fixed in tc-admin#207 and tc-admin#213. We're still hitting this issue in ci-configuration, though. The problem is: we haven't updated our dependency on tc-admin for a year and a half[1].

[1] https://hg.mozilla.org/ci/ci-configuration/annotate/618cd28aa221af9ce50232850f5b675d191636c0/requirements/base.txt#l279 and https://hg.mozilla.org/ci/ci-configuration/rev/c95a1262b4c095afe20db452a20470682d344e69

Pushed by jlorenzo@mozilla.com: https://hg.mozilla.org/ci/ci-configuration/rev/9940fe414910 Bump dependencies to get tc-admin to 3.3.1 r=jcristau

https://hg.mozilla.org/ci/ci-configuration/rev/b47320b0d858b1d0728c8bcd9c015bfe337e3381
Backed out changeset 9940fe414910 for breaking lint and ci-admin check

legacy mode was removed in 0.20.0, so this is a prerequisite to updating pytest-asyncio.

Pushed by jcristau@mozilla.com: https://hg.mozilla.org/ci/ci-configuration/rev/b6bad2a6f85b switch pytest-asyncio to auto mode in tc-admin check. r=jlorenzo https://hg.mozilla.org/ci/ci-configuration/rev/e7ce582be8c5 Bump dependencies to get tc-admin to 3.3.1 r=jcristau https://hg.mozilla.org/ci/ci-configuration/rev/36a9a52bc93e reformat with black 23.3.0. r=jlorenzo
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: