Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update databricks-labs-blueprint requirement from <0.10,>=0.9.1 to >=…
…0.9.1,<0.11 (#3519) Updates the requirements on [databricks-labs-blueprint](https://github.com/databrickslabs/blueprint) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/databrickslabs/blueprint/releases">databricks-labs-blueprint's releases</a>.</em></p> <blockquote> <h2>v0.10.1</h2> <ul> <li>patch hosted runner (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/185">#185</a>). In this release, we have implemented a temporary fix to address issues with publishing artifacts in the release workflow. This fix involves changing the runner used for the job from <code>ubuntu-latest</code> to a protected runner group labeled "linux-ubuntu-latest". This ensures that the job runs on a designated hosted runner with the specified configuration, enhancing the reliability and security of the release process. The <code>permissions</code> section of the job remains unchanged, allowing authentication to PyPI and signing of release artifacts with sigstore-python. It is worth noting that this is a stopgap measure, and further changes to the release workflow may be made in the future.</li> </ul> <p>Contributors: <a href="https://github.com/sundarshankar89"><code>@sundarshankar89</code></a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/databrickslabs/blueprint/blob/main/CHANGELOG.md">databricks-labs-blueprint's changelog</a>.</em></p> <blockquote> <h2>0.10.1</h2> <ul> <li>patch hosted runner (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/185">#185</a>). In this release, we have implemented a temporary fix to address issues with publishing artifacts in the release workflow. This fix involves changing the runner used for the job from <code>ubuntu-latest</code> to a protected runner group labeled "linux-ubuntu-latest". This ensures that the job runs on a designated hosted runner with the specified configuration, enhancing the reliability and security of the release process. The <code>permissions</code> section of the job remains unchanged, allowing authentication to PyPI and signing of release artifacts with sigstore-python. It is worth noting that this is a stopgap measure, and further changes to the release workflow may be made in the future.</li> </ul> <h2>0.10.0</h2> <ul> <li>Fixed incorrect script for no-pylint-disable (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/178">#178</a>). In this release, we have updated the script used in the <code>no-cheat</code> GitHub workflow to address false positives in stacked pull requests. The updated script fetches the base reference from the remote repository and generates a diff between the base reference and the current branch, saving it to a file. It then runs the "no_cheat.py" script against this diff file and saves the results to a separate file. If the count of cheats (instances where linting has been intentionally disabled) is greater than one, the script outputs the contents of the results file and exits with a non-zero status, indicating an error. This change enhances the accuracy of the script and ensures it functions correctly in a stacked pull request scenario. The <code>no_cheat</code> function, which checks for the presence of certain pylint disable tags in a given diff text, has been updated to the latest version from the ucx project to improve accuracy. The function identifies tags by looking for lines starting with <code>-</code> or "+" followed by the disable tag and a list of codes, and counts the number of times each code is added and removed, reporting any net additions.</li> <li>Skip dataclassess fields only when <code>None</code> (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/180">#180</a>). In this release, we have implemented a change that allows for the skipping of dataclass fields only when the value is <code>None</code>, enabling the inclusion of empty lists, strings, or zeros during marshalling. This modification is in response to issue <a href="https://redirect.github.com/databrickslabs/blueprint/issues/179">#179</a> and involves adding a check for <code>None</code> before marshalling a dataclass field. Specifically, the previous condition <code>if not raw:</code> has been replaced with <code>if raw is None:</code>. This change ensures that empty values such as <code>[]</code>, <code>''</code>, or <code>0</code> are not skipped during the serialization process, unless they are explicitly set to <code>None</code>. This enhancement provides improved compatibility and flexibility for users working with dataclasses containing empty values, allowing for more fine-grained control during the serialization process.</li> </ul> <p>Dependency updates:</p> <ul> <li>Bump codecov/codecov-action from 4 to 5 (<a href="https://redirect.github.com/databrickslabs/blueprint/pull/174">#174</a>).</li> </ul> <h2>0.9.3</h2> <ul> <li>Fixed issue when Databricks SDK config objects were overridden for installation config files (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/170">#170</a>). This commit addresses an issue where Databricks SDK config objects were being overridden during installation config files creation, which has been resolved by modifying the <code>_marshal</code> method in the <code>installation</code> class to handle <code>databricks.sdk.core.Config</code> instances more carefully, and by introducing a new helper function <code>get_databricks_sdk_config</code> in the <code>paths.py</code> file, which retrieves the Databricks SDK configuration and improves the reliability and robustness of the SDK configuration. This fixes bug <a href="https://redirect.github.com/databrickslabs/blueprint/issues/169">#169</a> and ensures that the SDK configuration is not accidentally modified during the installation process, preventing unexpected behavior and errors. The changes are isolated to the <code>paths.py</code> file and do not affect other parts of the codebase.</li> </ul> <h2>0.9.2</h2> <ul> <li>Bump actions/checkout from 4.2.1 to 4.2.2 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/160">#160</a>). In this release, the 'actions/checkout' dependency has been updated from version 4.2.1 to 4.2.2. This update includes changes to the 'url-helper.ts' file, which now utilizes well-known environment variables for improved reliability and maintainability. Additionally, unit test coverage for the <code>isGhes</code> function has been expanded. These changes are recommended for adoption to take advantage of the enhancements. The pull request includes a detailed changelog, commit history, and instructions for managing the update using Dependabot commands and options.</li> <li>Bump databrickslabs/sandbox from acceptance/v0.3.1 to 0.4.2 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/166">#166</a>). In the latest release, the <code>databrickslabs/sandbox</code> Python package has been updated from version acceptance/v0.3.1 to 0.4.2. This update includes new features such as installation instructions, additional go-git libraries, and modifications to the README file. Dependency updates include a bump in the version of <code>golang.org/x/crypto</code> used. The pull request for this update was created by a GitHub bot, Dependabot, which will manage any conflicts and respond to comments containing specific commands. It is essential to thoroughly review and test this updated version to ensure that the new methods and modifications to existing functionality do not introduce any issues or regressions, and that the changes are well-documented and justified.</li> <li>Don't draft automated releases (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/159">#159</a>). In this release, the draft release feature in the GitHub Actions workflow has been disabled, enhancing the release process for software engineers. The 'draft: true' parameter has been removed from the <code>Draft release</code> job, which means that automated releases will now be published immediately upon creation instead of being created as drafts. This modification simplifies and streamlines the release process, making it more efficient for engineers who adopt the project. The change is aimed at reducing the time and effort required in manually publishing draft releases, thereby improving the overall experience for project contributors and users.</li> <li>Updated custom <code>Path</code> support for python 3.13 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/161">#161</a>). In this revision, the project's continuous integration (CI) workflow has been updated to include Python 3.13, enhancing compatibility and enabling early identification of platform-specific issues. The <code>paths</code> module has been refactored into several submodules for better organization, and a new submodule, <code>databrickspath_posixpath</code>, has been added to distinguish <code>PosixPath</code> from <code>DBFSPath</code> and <code>WorkspacePath</code>. The comparison and equality behavior of <code>_DatabricksPath</code> objects has been modified to include <code>parser</code> property identity checks in Python 3.13, ensuring consistent behavior and eliminating exceptions when built-in paths are compared with custom paths. These updates promote confidence in the project's long-term viability and adaptability in response to evolving language standards.</li> </ul> <p>Dependency updates:</p> <ul> <li>Bump actions/checkout from 4.2.1 to 4.2.2 (<a href="https://redirect.github.com/databrickslabs/blueprint/pull/160">#160</a>).</li> <li>Bump databrickslabs/sandbox from acceptance/v0.3.1 to 0.4.2 (<a href="https://redirect.github.com/databrickslabs/blueprint/pull/166">#166</a>).</li> </ul> <h2>0.9.1</h2> <ul> <li>Bump actions/checkout from 4.1.7 to 4.2.0 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/149">#149</a>). In this pull request, the <code>actions/checkout</code> dependency is upgraded from version 4.1.7 to 4.2.0 in the <code>acceptance.yml</code> and <code>downstreams.yml</code> workflow files. The new version provides additional Ref and Commit outputs, as well as updated dependencies, which aim to improve the functionality and security of the checkout process. The <code>Ref</code> output is a string representing the reference that was checked out, and the <code>Commit</code> output is the SHA-1 hash of the checked-out commit. Dependency updates include bumping the <code>braces</code> package from 3.0.2 to 3.0.3 and updating the minor-npm-dependencies group across one directory with four updates. These changes contribute to a more reliable and efficient checkout process and enhance the overall functionality and maintainability of the Action. Software engineers are recommended to review the changes and ensure they do not introduce conflicts with their current setup before adopting the new version.</li> <li>Bump actions/checkout from 4.2.0 to 4.2.1 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/152">#152</a>). In this update, the version of the <code>actions/checkout</code> GitHub Action is bumped from 4.2.0 to 4.2.1 in a project's GitHub workflow files. This new version includes a modification to check out other <code>refs/*</code> by commit if provided, falling back to the ref. This change enhances the flexibility of the <code>checkout</code> action in handling different types of references, which could be useful for users working with multiple branches or references in their workflows. The update also adds a workflow file for publishing releases to an immutable action package. This release was contributed by the new project collaborator, <a href="https://github.com/orhantoy"><code>@orhantoy</code></a>, who made the change in pull request <a href="https://redirect.github.com/actions/checkout/pull/1924">1924</a>.</li> <li>Bump databrickslabs/sandbox from acceptance/v0.3.0 to 0.3.1 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/155">#155</a>). In this update, the dependency for <code>databrickslabs/sandbox</code> has been bumped from version <code>acceptance/v0.3.0</code> to <code>0.3.1</code>. This change includes bug fixes, upgrades to go-git libraries, and dependency updates. The <code>golang.org/x/crypto</code> library was specifically bumped from version <code>0.16.0</code> to <code>0.17.0</code> in both <code>/go-libs</code> and <code>/runtime-packages</code>. Additionally, the <code>cac167b</code> commit expanded acceptance test logs and introduced experimental OIDC refresh token rotation. The acceptance test job in the workflow was also updated to use the new version of <code>databrickslabs/sandbox</code>. Ignore conditions were added for previous versions of <code>databrickslabs/sandbox</code> in this release. The README was also modified, and install instructions were added to the changelog.</li> <li>Catch all errors when checking Databricks path, notably BadRequest ones (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/156">#156</a>). This commit introduces improvements to the error handling of the <code>exists</code> method in the <code>paths.py</code> file when checking Databricks path. Previously, only <code>NotFound</code> errors were caught, but now <code>BadRequest</code> errors are also handled, addressing issue <a href="https://redirect.github.com/databrickslabs/blueprint/issues/2882">#2882</a>. The <code>exists</code> method has been updated to catch and manage <code>DatabricksError</code> exceptions, which now encompass <code>BadRequest</code> errors, ensuring comprehensive error handling for Databricks path-related operations. Additionally, the <code>_cached_file_info</code> and <code>_cached_object_info</code> attributes are now initialized when a <code>DatabricksError</code> exception occurs, returning <code>False</code> accordingly. This enhancement maintains consistency and accuracy in the <code>exists</code> method while broadening the range of errors captured, resulting in a more robust and reliable codebase with enhanced error reporting for users.</li> <li>Normalize databricks paths as part of resolving them (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/157">#157</a>). In this release, the <code>resolve</code> method in the <code>paths.py</code> file of the databricks/labs/blueprint project has been enhanced to handle parent directory references ("..") consistently with Python's built-in <code>Path</code> object. Previously, <code>Path("/a/b/../c").resolve()</code> would return <code>Path("/a/b/c")</code>, while Databricks paths were not behaving consistently. This modification introduces a new <code>_normalize()</code> method, which processes the path parts and ensures that ".." segments are handled correctly. The commit also includes a new test function, 'test_resolve_is_consistent', which checks the consistent resolution of Databricks paths with various input formats, such as relative paths, ".." or "." components, and absolute paths. This change ensures that the resolved path will be normalized according to the expected behavior, regardless of the input format, contributing to the resolution of issue <a href="https://redirect.github.com/databrickslabs/blueprint/issues/2882">#2882</a>. By normalizing Databricks paths in the same fashion as Python's built-in <code>Path</code> object, the code should become more robust and predictable, providing a more reliable and predictable experience for software engineers utilizing the project.</li> <li>Updated databrickslabs/sandbox requirement to acceptance/v0.3.0 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/153">#153</a>). In this pull request, the <code>databrickslabs/sandbox</code> package requirement in the downstreams GitHub Actions workflow is updated to version 0.3.0, which is the latest version available. This package provides a sandbox environment for development and testing, and the new version includes bug fixes and dependency updates that may enhance its reliability and performance. Dependabot has been used to ensure a smooth update process, with any conflicts being resolved automatically. However, it is recommended to review the changelog and test the updated version before merging this pull request to ensure compatibility and functionality in your specific use case. Additionally, Dependabot commands are available to manage ignore conditions for this dependency.</li> </ul> <p>Dependency updates:</p> <ul> <li>Bump actions/checkout from 4.1.7 to 4.2.0 (<a href="https://redirect.github.com/databrickslabs/blueprint/pull/149">#149</a>).</li> <li>Bump actions/checkout from 4.2.0 to 4.2.1 (<a href="https://redirect.github.com/databrickslabs/blueprint/pull/152">#152</a>).</li> <li>Updated databrickslabs/sandbox requirement to acceptance/v0.3.0 (<a href="https://redirect.github.com/databrickslabs/blueprint/pull/153">#153</a>).</li> <li>Bump databrickslabs/sandbox from acceptance/v0.3.0 to 0.3.1 (<a href="https://redirect.github.com/databrickslabs/blueprint/pull/155">#155</a>).</li> </ul> <h2>0.9.0</h2> <ul> <li>Added Databricks CLI version as part of routed command telemetry (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/147">#147</a>). A new environment variable, "DATABRICKS_CLI_VERSION", has been introduced in the Databricks CLI version for routed command telemetry. This variable is incorporated into the <code>with_user_agent_extra</code> method, which adds it to the user agent for outgoing requests, thereby enhancing detailed tracking and version identification in telemetry data. The <code>with_user_agent_extra</code> method is invoked twice, with the <code>blueprint</code> prefix and the <strong>version</strong> variable, followed by the <code>cli</code> prefix and the DATABRICKS_CLI_VERSION environment variable, ensuring that both the blueprint and CLI versions are transmitted in the user agent for all requests.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/databrickslabs/blueprint/commit/5d8c69a056e691092475e735bf954cd0c78dd394"><code>5d8c69a</code></a> Release v0.10.1 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/186">#186</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/0442a68ff2611a350d6e84b3d657ea624714d111"><code>0442a68</code></a> patch hosted runner (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/185">#185</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/27f22c0c145092ccb12b3ada74a2a47947f53e74"><code>27f22c0</code></a> Release v0.10.0 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/184">#184</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/221fa98d0620558688d188831755b32b919d0d29"><code>221fa98</code></a> Fix Format (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/183">#183</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/95d006d47943a83ede793b9d69c0c93f1fdca6fd"><code>95d006d</code></a> Fix incorrect script for no-pylint-disable (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/178">#178</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/19a5529d81825cb08d0a974a01fdec900c2f0039"><code>19a5529</code></a> Skip dataclassess fields only when <code>None</code> (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/180">#180</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/ea36a97f1a4d12d8fe2538df2b1d15c1e094539b"><code>ea36a97</code></a> Bump codecov/codecov-action from 4 to 5 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/174">#174</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/711865992343833a4903f7654795094de306cc0e"><code>7118659</code></a> Added nightly testing runs at 4:30am UTC (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/172">#172</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/5236031d2e6f5787b2b0bd1db7574c82cce71d97"><code>5236031</code></a> Release v0.9.3 (<a href="https://redirect.github.com/databrickslabs/blueprint/issues/171">#171</a>)</li> <li><a href="https://github.com/databrickslabs/blueprint/commit/ab4edc634a4fe106e9ded01fee0b61b052214b85"><code>ab4edc6</code></a> Fixed issue when Databricks SDK config objects were overridden for installati...</li> <li>Additional commits viewable in <a href="https://github.com/databrickslabs/blueprint/compare/v0.9.1...v0.10.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Loading branch information