Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove tree from PythonSequentialLinter #3535

Open
wants to merge 55 commits into
base: main
Choose a base branch
from

Conversation

JCZuurmond
Copy link
Member

@JCZuurmond JCZuurmond commented Jan 17, 2025

Changes

Remove tree from PythonSequentialLinter as the sequential linter should just sequence linting, not be used as an intermediate for manipulating the code tree.

  • Remove tree manipulation related logic from PythonSequentialLinter
  • Rewrite NotebookLinter to do the (notebook) tree manipulation instead:
    • Let _load_tree_from_notebook early return on Failure similarly to dependency graph building: if we cannot resolve the code used by a notebook then fail early
    • Attach subsequent cell as child tree to the cell before
    • Attach %run notebook trees a child tree to the cell that calls the notebook

Linked issues

Resolves #3543
Progresses #3514
Stacked on #3524
Requires #3529

Functionality

  • modified code linting related
  • modified existing command: databricks labs ucx lint-local-code

Tests

  • manually tested
  • added and modified unit tests

@JCZuurmond JCZuurmond added migrate/code Abstract Syntax Trees and other dark magic migrate/python Pull requests that update Python code python Pull requests that update Python code labels Jan 17, 2025
@JCZuurmond JCZuurmond self-assigned this Jan 17, 2025
@JCZuurmond JCZuurmond requested a review from a team as a code owner January 17, 2025 10:07
@JCZuurmond JCZuurmond force-pushed the fix/python-ast-tree-unclarities branch from 60bcf2e to 1e7a4b9 Compare January 17, 2025 10:53
@JCZuurmond JCZuurmond force-pushed the fix/remove-tree-from-python-sequential-linter branch from 882bbbf to b7998bc Compare January 17, 2025 10:54
@JCZuurmond JCZuurmond changed the base branch from fix/python-ast-tree-unclarities to main January 17, 2025 12:34
@@ -244,7 +244,10 @@ def test_functional(sample: Functional, mock_path_lookup, simple_dependency_reso
("_child_that_uses_missing_value.py", "parent_that_dbutils_runs_child_that_misses_value_from_parent.py"),
("_child_that_uses_value_from_parent.py", "grand_parent_that_dbutils_runs_parent_that_magic_runs_child.py"),
("_child_that_uses_missing_value.py", "parent_that_imports_child_that_misses_value_from_parent.py"),
("_child_that_uses_value_from_parent.py", "grand_parent_that_imports_parent_that_magic_runs_child.py"),
# TODO: Confirm to delete this test as it is a file that imports a notebook that runs the child, which is not a
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please look at the motivation for deleting this test:

Confirm to delete this test as it is a file that imports a notebook that runs the child, which is not possible in a real world scenario and it results in the imported notebook to be treated as a file as the ImportResolver only returns containers for files not for notebooks (as it should) which causes side effects like a different context inheritance

Copy link

❌ 49/56 passed, 7 failed, 2 skipped, 26m18s total

❌ test_workflow_linter_lints_job_with_import_pypi_library: AttributeError: 'Tree' object has no attribute 'attach_nodes' (32.155s)
... (skipped 27357 bytes)
3.03.6 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Downloading jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Downloading referencing-0.36.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Downloading rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.27.2 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting text-unidecode>=1.3 (from python-slugify>=1.2.1->agate<1.10,>=1.7.0->dbt-core==1.8.7)
  Downloading text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)
Downloading dbt_core-1.8.7-py3-none-any.whl (900 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 900.5/900.5 kB 20.2 MB/s eta 0:00:00
Downloading agate-1.9.1-py2.py3-none-any.whl (95 kB)
Using cached click-8.1.8-py3-none-any.whl (98 kB)
Downloading dbt_adapters-1.9.0-py3-none-any.whl (163 kB)
Downloading dbt_common-1.12.0-py3-none-any.whl (82 kB)
Downloading dbt_extractor-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 31.5 MB/s eta 0:00:00
Downloading dbt_semantic_interfaces-0.5.1-py3-none-any.whl (119 kB)
Downloading jinja2-3.1.5-py3-none-any.whl (134 kB)
Downloading mashumaro-3.15-py3-none-any.whl (93 kB)
Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 44.5 MB/s eta 0:00:00
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)
Downloading protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl (294 kB)
Downloading pytz-2024.2-py2.py3-none-any.whl (508 kB)
Using cached PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Downloading sqlparse-0.5.3-py3-none-any.whl (44 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading babel-2.16.0-py3-none-any.whl (9.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 87.8 MB/s eta 0:00:00
Using cached certifi-2024.12.14-py3-none-any.whl (164 kB)
Using cached charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)
Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Downloading deepdiff-7.0.1-py3-none-any.whl (80 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Downloading importlib_metadata-6.11.0-py3-none-any.whl (23 kB)
Downloading isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)
Downloading leather-0.4.0-py2.py3-none-any.whl (30 kB)
Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
Using cached more_itertools-10.6.0-py3-none-any.whl (63 kB)
Downloading msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (378 kB)
Downloading parsedatetime-2.6-py3-none-any.whl (42 kB)
Downloading pydantic-2.10.5-py3-none-any.whl (431 kB)
Downloading pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 113.5 MB/s eta 0:00:00
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Downloading python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)
Downloading pytimeparse-1.1.8-py2.py3-none-any.whl (10.0 kB)
Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached urllib3-2.3.0-py3-none-any.whl (128 kB)
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Downloading attrs-24.3.0-py3-none-any.whl (63 kB)
Downloading jsonschema_specifications-2024.10.1-py3-none-any.whl (18 kB)
Downloading ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
Downloading referencing-0.36.1-py3-none-any.whl (26 kB)
Downloading rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381 kB)
Downloading text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)
Building wheels for collected packages: daff, logbook, minimal-snowplow-tracker
  Building wheel for daff (setup.py): started
  Building wheel for daff (setup.py): finished with status 'done'
  Created wheel for daff: filename=daff-1.3.46-py3-none-any.whl size=145580 sha256=b8af4da076bd11b849a6dc285f5cddb8aadea7036de1ffc0bdaffe364ccf07b3
  Stored in directory: /home/runner/.cache/pip/wheels/0c/ff/fa/9eff27b8c31f40165c3d346ea368adf2811dcfa4159b0fafda
  Building wheel for logbook (setup.py): started
  Building wheel for logbook (setup.py): finished with status 'done'
  Created wheel for logbook: filename=Logbook-1.5.3-cp310-cp310-linux_x86_64.whl size=65683 sha256=48bed4e3ce41fe5caa6089f3c4c6b06b9618e4c9d2586122ce48148d947e457b
  Stored in directory: /home/runner/.cache/pip/wheels/ed/50/39/0e0dd103e8e1f2666080c17c7d35feffae80bfb66720e177d6
  Building wheel for minimal-snowplow-tracker (setup.py): started
  Building wheel for minimal-snowplow-tracker (setup.py): finished with status 'done'
  Created wheel for minimal-snowplow-tracker: filename=minimal_snowplow_tracker-0.0.2-py3-none-any.whl size=17839 sha256=9274416204b13fe1da9acbacfe9ed8646b5f9c2eb764afdb8a8649be168c3165
  Stored in directory: /home/runner/.cache/pip/wheels/cb/39/be/81ad911cee00763c613ffe740851e7131d1024e704e200cdfc
Successfully built daff logbook minimal-snowplow-tracker
Installing collected packages: text-unidecode, pytz, pytimeparse, parsedatetime, logbook, leather, daff, zipp, urllib3, typing-extensions, sqlparse, six, rpds-py, pyyaml, python-slugify, protobuf, pathspec, packaging, ordered-set, networkx, msgpack, more-itertools, MarkupSafe, idna, dbt-extractor, colorama, click, charset-normalizer, certifi, Babel, attrs, annotated-types, requests, referencing, python-dateutil, pydantic-core, mashumaro, Jinja2, isodate, importlib-metadata, deepdiff, pydantic, minimal-snowplow-tracker, jsonschema-specifications, agate, jsonschema, dbt-semantic-interfaces, dbt-common, dbt-adapters, dbt-core
Successfully installed Babel-2.16.0 Jinja2-3.1.5 MarkupSafe-3.0.2 agate-1.9.1 annotated-types-0.7.0 attrs-24.3.0 certifi-2024.12.14 charset-normalizer-3.4.1 click-8.1.8 colorama-0.4.6 daff-1.3.46 dbt-adapters-1.9.0 dbt-common-1.12.0 dbt-core-1.8.7 dbt-extractor-0.5.1 dbt-semantic-interfaces-0.5.1 deepdiff-7.0.1 idna-3.10 importlib-metadata-6.11.0 isodate-0.6.1 jsonschema-4.23.0 jsonschema-specifications-2024.10.1 leather-0.4.0 logbook-1.5.3 mashumaro-3.15 minimal-snowplow-tracker-0.0.2 more-itertools-10.6.0 msgpack-1.1.0 networkx-3.4.2 ordered-set-4.1.0 packaging-24.2 parsedatetime-2.6 pathspec-0.12.1 protobuf-4.25.5 pydantic-2.10.5 pydantic-core-2.27.2 python-dateutil-2.9.0.post0 python-slugify-8.0.4 pytimeparse-1.1.8 pytz-2024.2 pyyaml-6.0.2 referencing-0.36.1 requests-2.32.3 rpds-py-0.22.3 six-1.17.0 sqlparse-0.5.3 text-unidecode-1.3 typing-extensions-4.12.2 urllib3-2.3.0 zipp-3.21.0


10:56 INFO [databricks.labs.ucx.source_code.jobs] Discovering HdLf entrypoint: /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-jZQx-ra78b33a00
10:56 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: dbt
10:56 INFO [databricks.labs.ucx.source_code.jobs] Linting HdLf dependency: Dependency</Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-jZQx-ra78b33a00>
10:56 INFO [databricks.labs.ucx.source_code.jobs] Linting HdLf dependency: Dependency</tmp/ucx-c8pmrvwe/dbt/__init__.py>
10:56 INFO [databricks.labs.ucx.install] Deleting UCX v0.53.2+6720250117105652 from https://DATABRICKS_HOST
10:56 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_sm3iy
10:56 INFO [databricks.labs.ucx.install] Deleting cluster policy
10:56 INFO [databricks.labs.ucx.install] Deleting secret scope
10:56 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw1] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
❌ test_lint_local_code: AttributeError: 'Tree' object has no attribute 'attach_nodes' (32.999s)
... (skipped 382126 bytes)

  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 78, in _unsafe_infer_internal
    all_inferred = node.inferred()
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 584, in inferred
    return list(self.infer())
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 168, in infer
    for i, result in enumerate(self._infer(context=context, **kwargs)):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 572, in _infer
    raise InferenceError(
astroid.exceptions.InferenceError: No inference function for <GeneratorExp l.727 at 0x7f3688eb2530>.
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of (pattern in file_name for pattern in parquet_patterns)
10:56 DEBUG [databricks.labs.ucx.source_code.python.python_infer] When inferring: GeneratorExp(elt=<Compare l.732 at 0x7f3688eb29b0>,
             generators=[<Comprehension l.732 at 0x7f3688eb2a40>])
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 71, in _safe_infer_internal
    yield from cls._unsafe_infer_internal(node)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 78, in _unsafe_infer_internal
    all_inferred = node.inferred()
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 584, in inferred
    return list(self.infer())
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 168, in infer
    for i, result in enumerate(self._infer(context=context, **kwargs)):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 572, in _infer
    raise InferenceError(
astroid.exceptions.InferenceError: No inference function for <GeneratorExp l.732 at 0x7f3688eb2920>.
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of (pattern in file_name for pattern in csv_patterns)
10:56 DEBUG [databricks.labs.ucx.source_code.python.python_infer] When inferring: GeneratorExp(elt=<Compare l.737 at 0x7f3688eb2da0>,
             generators=[<Comprehension l.737 at 0x7f3688eb2e30>])
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 71, in _safe_infer_internal
    yield from cls._unsafe_infer_internal(node)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 78, in _unsafe_infer_internal
    all_inferred = node.inferred()
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 584, in inferred
    return list(self.infer())
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 168, in infer
    for i, result in enumerate(self._infer(context=context, **kwargs)):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 572, in _infer
    raise InferenceError(
astroid.exceptions.InferenceError: No inference function for <GeneratorExp l.737 at 0x7f3688eb2d10>.
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of (pattern in file_name for pattern in json_patterns)
10:56 DEBUG [databricks.labs.ucx.source_code.python.python_infer] When inferring: GeneratorExp(elt=<Compare l.740 at 0x7f3688eb30a0>,
             generators=[<Comprehension l.740 at 0x7f3688eb3130>])
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 71, in _safe_infer_internal
    yield from cls._unsafe_infer_internal(node)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 78, in _unsafe_infer_internal
    all_inferred = node.inferred()
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 584, in inferred
    return list(self.infer())
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 168, in infer
    for i, result in enumerate(self._infer(context=context, **kwargs)):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 572, in _infer
    raise InferenceError(
astroid.exceptions.InferenceError: No inference function for <GeneratorExp l.740 at 0x7f3688eb3010>.
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of (pattern in file_name for pattern in self._fiter_paths)
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of file_info.path
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of source
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of target
10:56 DEBUG [databricks.labs.ucx.source_code.python.python_infer] When inferring: GeneratorExp(elt=<Attribute.is_matching l.25 at 0x7f3688c09360>,
             generators=[<Comprehension l.25 at 0x7f3688c096f0>])
Traceback (most recent call last):
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 71, in _safe_infer_internal
    yield from cls._unsafe_infer_internal(node)
  File "/home/runner/work/ucx/ucx/src/databricks/labs/ucx/source_code/python/python_infer.py", line 78, in _unsafe_infer_internal
    all_inferred = node.inferred()
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 584, in inferred
    return list(self.infer())
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 168, in infer
    for i, result in enumerate(self._infer(context=context, **kwargs)):
  File "/home/runner/work/ucx/ucx/.venv/lib/python3.10/site-packages/astroid/nodes/node_ng.py", line 572, in _infer
    raise InferenceError(
astroid.exceptions.InferenceError: No inference function for <GeneratorExp l.25 at 0x7f3688c092a0>.
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of (entry.is_matching for entry in comparison_result)
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of is_matching
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of source
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of target
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of target_column_names
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of all_column_names
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of field_name
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of field_name
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of _build_comparison_result_entry(source_col, target_col)
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of source_col
10:56 DEBUG [databricks.labs.ucx.source_code.linters.directfs] Could not infer value of target_col
10:56 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.1Y33/config.yml) doesn't exist.
10:56 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
10:56 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
10:56 INFO [databricks.labs.ucx.install] Fetching installations...
10:56 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
10:56 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:56 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:56 INFO [databricks.labs.ucx.install] Deleting UCX v0.53.2+6720250117105653 from https://DATABRICKS_HOST
10:56 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_sffez
10:56 INFO [databricks.labs.ucx.install] Deleting cluster policy
10:56 INFO [databricks.labs.ucx.install] Deleting secret scope
10:56 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw2] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
❌ test_workflow_linter_lints_job_with_dbfs_egg_dependency: AttributeError: 'Tree' object has no attribute 'attach_nodes' (1m16.396s)
AttributeError: 'Tree' object has no attribute 'attach_nodes'
[gw3] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
10:56 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.dRKn/config.yml) doesn't exist.
10:56 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
10:56 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
10:56 INFO [databricks.labs.ucx.install] Fetching installations...
10:58 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 INFO [databricks.labs.ucx.source_code.jobs] Registering library from dbfs:/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/sdk-B3Qk-ra78b33a00/thingy-0.0.1-py3.10.egg
10:58 WARNING [databricks.labs.ucx.source_code.python_libraries] Failed to install /tmp/tmph069134e/thingy-0.0.1-py3.10.egg with (setuptools|distutils).setup, unzipping instead: error: Multiple top-level packages discovered in a flat-layout: ['aws', 'recon', 'CLOUD_ENV', 'account', 'install', 'queries', 'progress', 'framework', 'assessment', 'source_code', 'hive_metastore', 'workspace_access'].

To avoid accidental inclusion of unwanted files or directories,
setuptools will not proceed with this build.

If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:

1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names

To find more information, look for "package discovery" on setuptools docs.
10:58 INFO [databricks.labs.ucx.source_code.jobs] Discovering MjsB entrypoint: /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-0I32-ra78b33a00/notebook.ipynb
10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: thingy
10:58 WARNING [databricks.labs.ucx.source_code.jobs] Unknown language for /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-0I32-ra78b33a00/notebook.ipynb
10:56 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.dRKn/config.yml) doesn't exist.
10:56 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
10:56 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
10:56 INFO [databricks.labs.ucx.install] Fetching installations...
10:58 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 INFO [databricks.labs.ucx.source_code.jobs] Registering library from dbfs:/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/sdk-B3Qk-ra78b33a00/thingy-0.0.1-py3.10.egg
10:58 WARNING [databricks.labs.ucx.source_code.python_libraries] Failed to install /tmp/tmph069134e/thingy-0.0.1-py3.10.egg with (setuptools|distutils).setup, unzipping instead: error: Multiple top-level packages discovered in a flat-layout: ['aws', 'recon', 'CLOUD_ENV', 'account', 'install', 'queries', 'progress', 'framework', 'assessment', 'source_code', 'hive_metastore', 'workspace_access'].

To avoid accidental inclusion of unwanted files or directories,
setuptools will not proceed with this build.

If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:

1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names

To find more information, look for "package discovery" on setuptools docs.
10:58 INFO [databricks.labs.ucx.source_code.jobs] Discovering MjsB entrypoint: /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-0I32-ra78b33a00/notebook.ipynb
10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: thingy
10:58 WARNING [databricks.labs.ucx.source_code.jobs] Unknown language for /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-0I32-ra78b33a00/notebook.ipynb
10:58 INFO [databricks.labs.blueprint.tui] Asking prompt: Do you want to uninstall ucx from the workspace too, this would remove ucx project folder, dashboards, queries and jobs
10:58 INFO [databricks.labs.ucx.install] Deleting UCX v0.53.2+6720250117105806 from https://DATABRICKS_HOST
10:58 INFO [databricks.labs.blueprint.tui] Asking prompt: Do you want to delete the inventory database dummy_syrrx too?
10:58 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_syrrx
10:58 INFO [databricks.labs.lsql.deployment] Deleting hive_metastore.dummy_syrrx database
10:58 INFO [databricks.labs.ucx.install] Deleting cluster policy
10:58 INFO [databricks.labs.ucx.install] Deleting secret scope
10:58 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw3] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
❌ test_workflow_linter_lints_job_with_workspace_egg_dependency: AttributeError: 'Tree' object has no attribute 'attach_nodes' (1m17.892s)
AttributeError: 'Tree' object has no attribute 'attach_nodes'
[gw0] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
10:56 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.dWQK/config.yml) doesn't exist.
10:56 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
10:56 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
10:56 INFO [databricks.labs.ucx.install] Fetching installations...
10:58 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 INFO [databricks.labs.ucx.source_code.jobs] Registering library from /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-3SvQ-ra78b33a00/thingy-0.0.1-py3.10.egg
10:58 WARNING [databricks.labs.ucx.source_code.python_libraries] Failed to install /tmp/tmpsnmjwfcs/thingy-0.0.1-py3.10.egg with (setuptools|distutils).setup, unzipping instead: error: Multiple top-level packages discovered in a flat-layout: ['aws', 'recon', 'CLOUD_ENV', 'account', 'install', 'queries', 'progress', 'framework', 'assessment', 'source_code', 'hive_metastore', 'workspace_access'].

To avoid accidental inclusion of unwanted files or directories,
setuptools will not proceed with this build.

If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:

1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names

To find more information, look for "package discovery" on setuptools docs.
10:58 INFO [databricks.labs.ucx.source_code.jobs] Discovering xKNa entrypoint: /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-vHu7-ra78b33a00/notebook.ipynb
10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: thingy
10:58 WARNING [databricks.labs.ucx.source_code.jobs] Unknown language for /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-vHu7-ra78b33a00/notebook.ipynb
10:56 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.dWQK/config.yml) doesn't exist.
10:56 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
10:56 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
10:56 INFO [databricks.labs.ucx.install] Fetching installations...
10:58 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 DEBUG [tests.integration.conftest] Waiting for clusters to start...
10:58 INFO [databricks.labs.ucx.source_code.jobs] Registering library from /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-3SvQ-ra78b33a00/thingy-0.0.1-py3.10.egg
10:58 WARNING [databricks.labs.ucx.source_code.python_libraries] Failed to install /tmp/tmpsnmjwfcs/thingy-0.0.1-py3.10.egg with (setuptools|distutils).setup, unzipping instead: error: Multiple top-level packages discovered in a flat-layout: ['aws', 'recon', 'CLOUD_ENV', 'account', 'install', 'queries', 'progress', 'framework', 'assessment', 'source_code', 'hive_metastore', 'workspace_access'].

To avoid accidental inclusion of unwanted files or directories,
setuptools will not proceed with this build.

If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:

1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names

To find more information, look for "package discovery" on setuptools docs.
10:58 INFO [databricks.labs.ucx.source_code.jobs] Discovering xKNa entrypoint: /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-vHu7-ra78b33a00/notebook.ipynb
10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: thingy
10:58 WARNING [databricks.labs.ucx.source_code.jobs] Unknown language for /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-vHu7-ra78b33a00/notebook.ipynb
10:58 INFO [databricks.labs.blueprint.tui] Asking prompt: Do you want to uninstall ucx from the workspace too, this would remove ucx project folder, dashboards, queries and jobs
10:58 INFO [databricks.labs.ucx.install] Deleting UCX v0.53.2+6720250117105807 from https://DATABRICKS_HOST
10:58 INFO [databricks.labs.blueprint.tui] Asking prompt: Do you want to delete the inventory database dummy_slylo too?
10:58 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_slylo
10:58 INFO [databricks.labs.lsql.deployment] Deleting hive_metastore.dummy_slylo database
10:58 INFO [databricks.labs.ucx.install] Deleting cluster policy
10:58 INFO [databricks.labs.ucx.install] Deleting secret scope
10:58 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw0] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
❌ test_job_task_linter_library_installed_cluster: AttributeError: 'Tree' object has no attribute 'attach_nodes' (1m25.089s)
... (skipped 21453 bytes)
dateutil<3.0,>=2.0 (from dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting importlib-metadata<7,>=6.0 (from dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached importlib_metadata-6.11.0-py3-none-any.whl.metadata (4.9 kB)
Collecting more-itertools<11.0,>=8.0 (from dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
Collecting pydantic<3,>=1.10 (from dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached pydantic-2.10.5-py3-none-any.whl.metadata (30 kB)
Collecting MarkupSafe>=2.0 (from Jinja2<4,>=3.1.3->dbt-core==1.8.7)
  Using cached MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
Collecting msgpack>=0.5.6 (from mashumaro[msgpack]<4.0,>=3.9->dbt-core==1.8.7)
  Using cached msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (8.4 kB)
Collecting six<2.0,>=1.9.0 (from minimal-snowplow-tracker<0.1,>=0.0.2->dbt-core==1.8.7)
  Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting charset-normalizer<4,>=2 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
Collecting idna<4,>=2.5 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)
Collecting ordered-set<4.2.0,>=4.1.0 (from deepdiff<8.0,>=7.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached ordered_set-4.1.0-py3-none-any.whl.metadata (5.3 kB)
Collecting zipp>=0.5 (from importlib-metadata<7,>=6.0->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
Collecting attrs>=22.2.0 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached attrs-24.3.0-py3-none-any.whl.metadata (11 kB)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached referencing-0.36.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.27.2 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting text-unidecode>=1.3 (from python-slugify>=1.2.1->agate<1.10,>=1.7.0->dbt-core==1.8.7)
  Using cached text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)
Using cached dbt_core-1.8.7-py3-none-any.whl (900 kB)
Using cached agate-1.9.1-py2.py3-none-any.whl (95 kB)
Using cached click-8.1.8-py3-none-any.whl (98 kB)
Using cached dbt_adapters-1.9.0-py3-none-any.whl (163 kB)
Using cached dbt_common-1.12.0-py3-none-any.whl (82 kB)
Using cached dbt_extractor-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
Using cached dbt_semantic_interfaces-0.5.1-py3-none-any.whl (119 kB)
Using cached jinja2-3.1.5-py3-none-any.whl (134 kB)
Using cached mashumaro-3.15-py3-none-any.whl (93 kB)
Using cached networkx-3.4.2-py3-none-any.whl (1.7 MB)
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)
Using cached protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl (294 kB)
Using cached pytz-2024.2-py2.py3-none-any.whl (508 kB)
Using cached PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached sqlparse-0.5.3-py3-none-any.whl (44 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Using cached babel-2.16.0-py3-none-any.whl (9.6 MB)
Using cached certifi-2024.12.14-py3-none-any.whl (164 kB)
Using cached charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached deepdiff-7.0.1-py3-none-any.whl (80 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached importlib_metadata-6.11.0-py3-none-any.whl (23 kB)
Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Using cached jsonschema-4.23.0-py3-none-any.whl (88 kB)
Using cached leather-0.4.0-py2.py3-none-any.whl (30 kB)
Using cached MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
Using cached more_itertools-10.6.0-py3-none-any.whl (63 kB)
Using cached msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (378 kB)
Using cached parsedatetime-2.6-py3-none-any.whl (42 kB)
Using cached pydantic-2.10.5-py3-none-any.whl (431 kB)
Using cached pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Using cached python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)
Using cached pytimeparse-1.1.8-py2.py3-none-any.whl (10.0 kB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached urllib3-2.3.0-py3-none-any.whl (128 kB)
Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
Using cached attrs-24.3.0-py3-none-any.whl (63 kB)
Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl (18 kB)
Using cached ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
Using cached referencing-0.36.1-py3-none-any.whl (26 kB)
Using cached rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381 kB)
Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)
Installing collected packages: text-unidecode, pytz, pytimeparse, parsedatetime, logbook, leather, daff, zipp, urllib3, typing-extensions, sqlparse, six, rpds-py, pyyaml, python-slugify, protobuf, pathspec, packaging, ordered-set, networkx, msgpack, more-itertools, MarkupSafe, idna, dbt-extractor, colorama, click, charset-normalizer, certifi, Babel, attrs, annotated-types, requests, referencing, python-dateutil, pydantic-core, mashumaro, Jinja2, isodate, importlib-metadata, deepdiff, pydantic, minimal-snowplow-tracker, jsonschema-specifications, agate, jsonschema, dbt-semantic-interfaces, dbt-common, dbt-adapters, dbt-core
Successfully installed Babel-2.16.0 Jinja2-3.1.5 MarkupSafe-3.0.2 agate-1.9.1 annotated-types-0.7.0 attrs-24.3.0 certifi-2024.12.14 charset-normalizer-3.4.1 click-8.1.8 colorama-0.4.6 daff-1.3.46 dbt-adapters-1.9.0 dbt-common-1.12.0 dbt-core-1.8.7 dbt-extractor-0.5.1 dbt-semantic-interfaces-0.5.1 deepdiff-7.0.1 idna-3.10 importlib-metadata-6.11.0 isodate-0.6.1 jsonschema-4.23.0 jsonschema-specifications-2024.10.1 leather-0.4.0 logbook-1.5.3 mashumaro-3.15 minimal-snowplow-tracker-0.0.2 more-itertools-10.6.0 msgpack-1.1.0 networkx-3.4.2 ordered-set-4.1.0 packaging-24.2 parsedatetime-2.6 pathspec-0.12.1 protobuf-4.25.5 pydantic-2.10.5 pydantic-core-2.27.2 python-dateutil-2.9.0.post0 python-slugify-8.0.4 pytimeparse-1.1.8 pytz-2024.2 pyyaml-6.0.2 referencing-0.36.1 requests-2.32.3 rpds-py-0.22.3 six-1.17.0 sqlparse-0.5.3 text-unidecode-1.3 typing-extensions-4.12.2 urllib3-2.3.0 zipp-3.21.0


10:58 INFO [databricks.labs.ucx.source_code.jobs] Discovering dIig entrypoint: /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-jt6S-ra78b33a00
10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: doesnotexist
10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: dbt
10:58 INFO [databricks.labs.ucx.install] Deleting UCX v0.53.2+6720250117105815 from https://DATABRICKS_HOST
10:58 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_szd2y
10:58 INFO [databricks.labs.ucx.install] Deleting cluster policy
10:58 INFO [databricks.labs.ucx.install] Deleting secret scope
10:58 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw8] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
❌ test_job_spark_python_task_workspace_linter_happy_path: AttributeError: 'Tree' object has no attribute 'attach_nodes' (21.728s)
... (skipped 33015 bytes)
bt-core==1.8.7)
  Using cached pydantic-2.10.5-py3-none-any.whl.metadata (30 kB)
Collecting MarkupSafe>=2.0 (from Jinja2<4,>=3.1.3->dbt-core==1.8.7)
  Using cached MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
Collecting msgpack>=0.5.6 (from mashumaro[msgpack]<4.0,>=3.9->dbt-core==1.8.7)
  Using cached msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (8.4 kB)
Collecting six<2.0,>=1.9.0 (from minimal-snowplow-tracker<0.1,>=0.0.2->dbt-core==1.8.7)
  Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting charset-normalizer<4,>=2 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
Collecting idna<4,>=2.5 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)
Collecting ordered-set<4.2.0,>=4.1.0 (from deepdiff<8.0,>=7.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached ordered_set-4.1.0-py3-none-any.whl.metadata (5.3 kB)
Collecting zipp>=0.5 (from importlib-metadata<7,>=6.0->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
Collecting attrs>=22.2.0 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached attrs-24.3.0-py3-none-any.whl.metadata (11 kB)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached referencing-0.36.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.27.2 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting text-unidecode>=1.3 (from python-slugify>=1.2.1->agate<1.10,>=1.7.0->dbt-core==1.8.7)
  Using cached text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)
Using cached dbt_core-1.8.7-py3-none-any.whl (900 kB)
Using cached agate-1.9.1-py2.py3-none-any.whl (95 kB)
Using cached click-8.1.8-py3-none-any.whl (98 kB)
Using cached dbt_adapters-1.9.0-py3-none-any.whl (163 kB)
Using cached dbt_common-1.12.0-py3-none-any.whl (82 kB)
Using cached dbt_extractor-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
Using cached dbt_semantic_interfaces-0.5.1-py3-none-any.whl (119 kB)
Using cached jinja2-3.1.5-py3-none-any.whl (134 kB)
Using cached mashumaro-3.15-py3-none-any.whl (93 kB)
Using cached networkx-3.4.2-py3-none-any.whl (1.7 MB)
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)
Using cached protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl (294 kB)
Using cached pytz-2024.2-py2.py3-none-any.whl (508 kB)
Using cached PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached sqlparse-0.5.3-py3-none-any.whl (44 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Using cached babel-2.16.0-py3-none-any.whl (9.6 MB)
Using cached certifi-2024.12.14-py3-none-any.whl (164 kB)
Using cached charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached deepdiff-7.0.1-py3-none-any.whl (80 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached importlib_metadata-6.11.0-py3-none-any.whl (23 kB)
Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Using cached jsonschema-4.23.0-py3-none-any.whl (88 kB)
Using cached leather-0.4.0-py2.py3-none-any.whl (30 kB)
Using cached MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
Using cached more_itertools-10.6.0-py3-none-any.whl (63 kB)
Using cached msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (378 kB)
Using cached parsedatetime-2.6-py3-none-any.whl (42 kB)
Using cached pydantic-2.10.5-py3-none-any.whl (431 kB)
Using cached pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Using cached python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)
Using cached pytimeparse-1.1.8-py2.py3-none-any.whl (10.0 kB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached urllib3-2.3.0-py3-none-any.whl (128 kB)
Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
Using cached attrs-24.3.0-py3-none-any.whl (63 kB)
Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl (18 kB)
Using cached ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
Using cached referencing-0.36.1-py3-none-any.whl (26 kB)
Using cached rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381 kB)
Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)
Installing collected packages: text-unidecode, pytz, pytimeparse, parsedatetime, logbook, leather, daff, zipp, urllib3, typing-extensions, sqlparse, six, rpds-py, pyyaml, python-slugify, protobuf, pathspec, packaging, ordered-set, networkx, msgpack, more-itertools, MarkupSafe, idna, dbt-extractor, colorama, click, charset-normalizer, certifi, Babel, attrs, annotated-types, requests, referencing, python-dateutil, pydantic-core, mashumaro, Jinja2, isodate, importlib-metadata, deepdiff, pydantic, minimal-snowplow-tracker, jsonschema-specifications, agate, jsonschema, dbt-semantic-interfaces, dbt-common, dbt-adapters, dbt-core
Successfully installed Babel-2.16.0 Jinja2-3.1.5 MarkupSafe-3.0.2 agate-1.9.1 annotated-types-0.7.0 attrs-24.3.0 certifi-2024.12.14 charset-normalizer-3.4.1 click-8.1.8 colorama-0.4.6 daff-1.3.46 dbt-adapters-1.9.0 dbt-common-1.12.0 dbt-core-1.8.7 dbt-extractor-0.5.1 dbt-semantic-interfaces-0.5.1 deepdiff-7.0.1 idna-3.10 importlib-metadata-6.11.0 isodate-0.6.1 jsonschema-4.23.0 jsonschema-specifications-2024.10.1 leather-0.4.0 logbook-1.5.3 mashumaro-3.15 minimal-snowplow-tracker-0.0.2 more-itertools-10.6.0 msgpack-1.1.0 networkx-3.4.2 ordered-set-4.1.0 packaging-24.2 parsedatetime-2.6 pathspec-0.12.1 protobuf-4.25.5 pydantic-2.10.5 pydantic-core-2.27.2 python-dateutil-2.9.0.post0 python-slugify-8.0.4 pytimeparse-1.1.8 pytz-2024.2 pyyaml-6.0.2 referencing-0.36.1 requests-2.32.3 rpds-py-0.22.3 six-1.17.0 sqlparse-0.5.3 text-unidecode-1.3 typing-extensions-4.12.2 urllib3-2.3.0 zipp-3.21.0


10:58 INFO [databricks.labs.ucx.source_code.jobs] Discovering g36c entrypoint: /Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-BXuN-ra78b33a00
10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: dbt
10:58 INFO [databricks.labs.ucx.source_code.jobs] Linting g36c dependency: Dependency</Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-BXuN-ra78b33a00>
10:58 INFO [databricks.labs.ucx.source_code.jobs] Linting g36c dependency: Dependency</tmp/ucx-7cumh6sg/dbt/__init__.py>
10:58 INFO [databricks.labs.blueprint.tui] Asking prompt: Do you want to uninstall ucx from the workspace too, this would remove ucx project folder, dashboards, queries and jobs
10:58 INFO [databricks.labs.ucx.install] Deleting UCX v0.53.2+6720250117105828 from https://DATABRICKS_HOST
10:58 INFO [databricks.labs.blueprint.tui] Asking prompt: Do you want to delete the inventory database dummy_sof0l too?
10:58 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_sof0l
10:58 INFO [databricks.labs.lsql.deployment] Deleting hive_metastore.dummy_sof0l database
10:58 INFO [databricks.labs.ucx.install] Deleting cluster policy
10:58 INFO [databricks.labs.ucx.install] Deleting secret scope
10:58 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw3] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python
❌ test_job_dlt_task_linter_happy_path: AttributeError: 'Tree' object has no attribute 'attach_nodes' (24.051s)
... (skipped 21537 bytes)
1.0.4->dbt-core==1.8.7)
  Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting importlib-metadata<7,>=6.0 (from dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached importlib_metadata-6.11.0-py3-none-any.whl.metadata (4.9 kB)
Collecting more-itertools<11.0,>=8.0 (from dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
Collecting pydantic<3,>=1.10 (from dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached pydantic-2.10.5-py3-none-any.whl.metadata (30 kB)
Collecting MarkupSafe>=2.0 (from Jinja2<4,>=3.1.3->dbt-core==1.8.7)
  Using cached MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
Collecting msgpack>=0.5.6 (from mashumaro[msgpack]<4.0,>=3.9->dbt-core==1.8.7)
  Using cached msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (8.4 kB)
Collecting six<2.0,>=1.9.0 (from minimal-snowplow-tracker<0.1,>=0.0.2->dbt-core==1.8.7)
  Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting charset-normalizer<4,>=2 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
Collecting idna<4,>=2.5 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests<3.0.0->dbt-core==1.8.7)
  Using cached certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)
Collecting ordered-set<4.2.0,>=4.1.0 (from deepdiff<8.0,>=7.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached ordered_set-4.1.0-py3-none-any.whl.metadata (5.3 kB)
Collecting zipp>=0.5 (from importlib-metadata<7,>=6.0->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
Collecting attrs>=22.2.0 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached attrs-24.3.0-py3-none-any.whl.metadata (11 kB)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached referencing-0.36.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema<5.0,>=4.0->dbt-common<2.0,>=1.0.4->dbt-core==1.8.7)
  Using cached rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.27.2 (from pydantic<3,>=1.10->dbt-semantic-interfaces<0.6,>=0.5.1->dbt-core==1.8.7)
  Using cached pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting text-unidecode>=1.3 (from python-slugify>=1.2.1->agate<1.10,>=1.7.0->dbt-core==1.8.7)
  Using cached text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)
Using cached dbt_core-1.8.7-py3-none-any.whl (900 kB)
Using cached agate-1.9.1-py2.py3-none-any.whl (95 kB)
Using cached click-8.1.8-py3-none-any.whl (98 kB)
Using cached dbt_adapters-1.9.0-py3-none-any.whl (163 kB)
Using cached dbt_common-1.12.0-py3-none-any.whl (82 kB)
Using cached dbt_extractor-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
Using cached dbt_semantic_interfaces-0.5.1-py3-none-any.whl (119 kB)
Using cached jinja2-3.1.5-py3-none-any.whl (134 kB)
Using cached mashumaro-3.15-py3-none-any.whl (93 kB)
Using cached networkx-3.4.2-py3-none-any.whl (1.7 MB)
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)
Using cached protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl (294 kB)
Using cached pytz-2024.2-py2.py3-none-any.whl (508 kB)
Using cached PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached sqlparse-0.5.3-py3-none-any.whl (44 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Using cached babel-2.16.0-py3-none-any.whl (9.6 MB)
Using cached certifi-2024.12.14-py3-none-any.whl (164 kB)
Using cached charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached deepdiff-7.0.1-py3-none-any.whl (80 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached importlib_metadata-6.11.0-py3-none-any.whl (23 kB)
Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB)
Using cached jsonschema-4.23.0-py3-none-any.whl (88 kB)
Using cached leather-0.4.0-py2.py3-none-any.whl (30 kB)
Using cached MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
Using cached more_itertools-10.6.0-py3-none-any.whl (63 kB)
Using cached msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (378 kB)
Using cached parsedatetime-2.6-py3-none-any.whl (42 kB)
Using cached pydantic-2.10.5-py3-none-any.whl (431 kB)
Using cached pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Using cached python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)
Using cached pytimeparse-1.1.8-py2.py3-none-any.whl (10.0 kB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached urllib3-2.3.0-py3-none-any.whl (128 kB)
Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
Using cached attrs-24.3.0-py3-none-any.whl (63 kB)
Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl (18 kB)
Using cached ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
Using cached referencing-0.36.1-py3-none-any.whl (26 kB)
Using cached rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381 kB)
Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)
Installing collected packages: text-unidecode, pytz, pytimeparse, parsedatetime, logbook, leather, daff, zipp, urllib3, typing-extensions, sqlparse, six, rpds-py, pyyaml, python-slugify, protobuf, pathspec, packaging, ordered-set, networkx, msgpack, more-itertools, MarkupSafe, idna, dbt-extractor, colorama, click, charset-normalizer, certifi, Babel, attrs, annotated-types, requests, referencing, python-dateutil, pydantic-core, mashumaro, Jinja2, isodate, importlib-metadata, deepdiff, pydantic, minimal-snowplow-tracker, jsonschema-specifications, agate, jsonschema, dbt-semantic-interfaces, dbt-common, dbt-adapters, dbt-core
Successfully installed Babel-2.16.0 Jinja2-3.1.5 MarkupSafe-3.0.2 agate-1.9.1 annotated-types-0.7.0 attrs-24.3.0 certifi-2024.12.14 charset-normalizer-3.4.1 click-8.1.8 colorama-0.4.6 daff-1.3.46 dbt-adapters-1.9.0 dbt-common-1.12.0 dbt-core-1.8.7 dbt-extractor-0.5.1 dbt-semantic-interfaces-0.5.1 deepdiff-7.0.1 idna-3.10 importlib-metadata-6.11.0 isodate-0.6.1 jsonschema-4.23.0 jsonschema-specifications-2024.10.1 leather-0.4.0 logbook-1.5.3 mashumaro-3.15 minimal-snowplow-tracker-0.0.2 more-itertools-10.6.0 msgpack-1.1.0 networkx-3.4.2 ordered-set-4.1.0 packaging-24.2 parsedatetime-2.6 pathspec-0.12.1 protobuf-4.25.5 pydantic-2.10.5 pydantic-core-2.27.2 python-dateutil-2.9.0.post0 python-slugify-8.0.4 pytimeparse-1.1.8 pytz-2024.2 pyyaml-6.0.2 referencing-0.36.1 requests-2.32.3 rpds-py-0.22.3 six-1.17.0 sqlparse-0.5.3 text-unidecode-1.3 typing-extensions-4.12.2 urllib3-2.3.0 zipp-3.21.0


10:58 DEBUG [databricks.labs.ucx.source_code.linters.files] Resolving unknown import: dbt
10:58 INFO [databricks.labs.ucx.source_code.jobs] Linting I3XB dependency: Dependency</Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/dummy-UvaV-ra78b33a00/notebook.py>
10:58 INFO [databricks.labs.ucx.source_code.jobs] Linting I3XB dependency: Dependency</tmp/ucx-fnjugrie/dbt/__init__.py>
10:58 INFO [databricks.labs.ucx.install] Deleting UCX v0.53.2+6720250117105830 from https://DATABRICKS_HOST
10:58 INFO [databricks.labs.ucx.install] Deleting inventory database dummy_sayua
10:58 INFO [databricks.labs.ucx.install] Deleting cluster policy
10:58 INFO [databricks.labs.ucx.install] Deleting secret scope
10:58 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
[gw1] linux -- Python 3.10.16 /home/runner/work/ucx/ucx/.venv/bin/python

Running from acceptance #8030

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
migrate/code Abstract Syntax Trees and other dark magic migrate/python Pull requests that update Python code python Pull requests that update Python code
Projects
Status: Ready for Review
Development

Successfully merging this pull request may close these issues.

[BUG]: Notebook linter includes lower cells within linting context
1 participant