-
Notifications
You must be signed in to change notification settings - Fork 1.6k
chore(migration): Migrate code from googleapis/python-dns into packages/google-cloud-dns #15543
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
chore(migration): Migrate code from googleapis/python-dns into packages/google-cloud-dns #15543
Conversation
- dns - error_reporting - language - logging - monitoring - resource_manager - runtimeconfig - speech - translate - vision Also updating bounds on these in `google-cloud` uber-package.
The gcloud-common repo moved to https://github.com/GoogleCloudPlatform/google-cloud-common
* Remove api.core packages from google.cloud.core, make google.cloud.core depend on api_core. * s/google.api.core/google.api_core/g and nox updates * Fixing core tests, addressing review feedback * Fix bigquery
Also - updating all dependencies of `grpcio` to `>= 1.7.0`. This was due to an issue [1] with `1.6.0`. - updating the version of `google-api-core` (also to be released, This is required since the bounds on `grpcio` of `google-cloud-core==0.28.0` and `google-api-core==0.1.0` are mutually exclusive.) - Updating `google-api-core` CHANGELOG for release. - Updating packages to depend on `google-cloud-core>=0.28.0`. - Installing `nox -s lint` deps locally for vision. [1]: grpc/grpc#12455
* Making release for most packages. Every package except those that have already been released (`google-cloud-core`, `google-api-core`, `google-cloud-bigquery`): - `google-cloud` - `google-cloud-bigtable` - `google-cloud-datastore` - `google-cloud-dns` - `google-cloud-error-reporting` - `google-cloud-firestore` - `google-cloud-language` - `google-cloud-logging` - `google-cloud-monitoring` - `google-cloud-resource-manager` - `google-cloud-runtimeconfig` - `google-cloud-spanner` - `google-cloud-speech` - `google-cloud-storage` - `google-cloud-trace` - `google-cloud-translate` - `google-cloud-videointelligence` - `google-cloud-vision` * Adding changelog files for each package.
This is to make it clear the code is between releases. Any code that relies on a **new** feature (e.g. of `google-api-core`) will then be able to **explicitly** make this clear by using the lower bound of the `devN` version. Fixes #4208. See: https://snarky.ca/how-i-manage-package-version-numbers/
Also obeying an 80-column limit for the content and adding a missing "``virtualenv``" in the phrase "``pip`` and ``virtualenv``" in some of the docs.
* Making a `nox -s default` session for all packages. * Using "default" `nox` session on AppVeyor. This was 32-bit or 64-bit Python can be used, depending on which is the active `python` / the active `nox.exe`.
Done via: $ git grep -l makeResource | xargs sed -i s/makeResource/make_resource/g
* remove 3.4 from unit test runs * add 3.7 to most packages. PubSub, Monitoring, BigQuery not enabled * Fix #5292 by draining queue in a way compatible with SimpleQueue and Queue
- Move contents of 'docs/dns/' to 'dns/docs'. - Harmonize / DRY 'dns/README.rst' with 'dns/docs/index.rst'.
Follow on to #6208.
* Remove badges for deprecated umbrella 'google-cloud' package. * Clarify support levels. - Add explicit section to support linking from sub-package README badges. - Move explanatory text for a support level above the list of packages at that level. * Normalize use of support-level badges in READMEs. - Note that 'error_reporting/README.rst' and 'monitoring/README.rst' are undergoing other edits; they are left out here to avoid conflicts. * Use 'General Avaialblity' for support level. Fix linkx in related API READMEs. * Fix links for alpha support in API READMEs. * Fix links for beta support in API READMEs.
* blacken bigtable * blacken logging * blacken translate * blacken runtimeconfig * blacken dns
Summary of ChangesHello @parthea, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request completes the migration of the Google Cloud DNS Python client library into the monorepo structure. The change involves moving all source code, tests, documentation, and build configurations into the Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This PR migrates the google-cloud-dns library into the monorepo. The changes are extensive, covering source code, documentation, and CI/CD configuration. Overall, the migration looks good, but I've found several areas where references to the old repository (googleapis/python-dns) and outdated configurations persist. These will need to be updated to ensure CI, documentation, and repository management tools function correctly in the new monorepo structure. Key areas for improvement include updating repository URLs in metadata and documentation files, correcting CI configuration paths, and fixing a typo in the library's __init__.py that would affect documentation generation.
I am having trouble creating individual review comments. Click here to see my feedback.
packages/google-cloud-dns/.kokoro/continuous/common.cfg (17-26)
The build_file and TRAMPOLINE_BUILD_FILE paths appear to reference the old python-dns repository structure. These paths likely need to be updated to reflect the new monorepo structure (e.g., packages/google-cloud-dns/...) to prevent CI failures. This issue is present in other Kokoro configuration files as well.
packages/google-cloud-dns/.kokoro/noxfile.py (92)
The ALL_VERSIONS list is missing Python 3.14. Other CI configurations attempt to run sample tests for this version, which will fail because the py-3.14 nox session will not be defined. Please add 3.14 to this list.
ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
packages/google-cloud-dns/.repo-metadata.json (10-14)
There are a couple of issues in this metadata file:
- The
repofield on line 10 points to the oldgoogleapis/python-dnsrepository. It should be updated to point to the current monorepo,googleapis/google-cloud-python. - The
codeowner_teamfield on line 14 is empty. Based on the comment in.github/CODEOWNERS, this should be populated, likely with@googleapis/yoshi-python.
"repo": "googleapis/google-cloud-python",
"distribution_name": "google-cloud-dns",
"requires_billing": true,
"default_version": "",
"codeowner_team": "@googleapis/yoshi-python",
packages/google-cloud-dns/google/cloud/dns/init.py (19-24)
There's a typo in the docstring references to other classes. google.cloud.DNS should be google.cloud.dns. This will cause issues with documentation generation.
- :class:`~google.cloud.dns.zone.ManagedZone` represents an collection of
tables.
- :class:`~google.cloud.dns.resource_record_set.ResourceRecordSet` represents
a single resource definition within a zone.
- :class:`~google.cloud.dns.changes.Changes` represents a set of changes
(adding/deleting resource record sets) to a zone.
packages/google-cloud-dns/.github/ISSUE_TEMPLATE/bug_report.md (13)
The link to search for existing issues points to the old python-dns repository. This should be updated to point to the issues in the current monorepo to ensure users are searching in the correct place.
- Search the issues already opened: https://github.com/googleapis/google-cloud-python/issues
packages/google-cloud-dns/.github/PULL_REQUEST_TEMPLATE.md (2)
The link for opening a new issue points to the old python-dns repository. This should be updated to the new repository's issue creation page.
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-cloud-python/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
packages/google-cloud-dns/.github/workflows/unittest.yml (16-21)
The versions of actions/checkout and actions/setup-python are older than in other workflows. For consistency and to use the latest features, please update them to v6.
- name: Checkout
uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}packages/google-cloud-dns/CONTRIBUTING.rst (63)
This file contains several references to the old python-dns repository. These should be updated to point to the new monorepo location. For example, the repo link on this line should be updated.
.. _repo: https://github.com/googleapis/google-cloud-python
packages/google-cloud-dns/docs/conf.py (159)
The github_repo configuration points to the old python-dns repository. This should be updated to google-cloud-python to ensure documentation links are correct.
"github_repo": "google-cloud-python",
packages/google-cloud-dns/setup.py (73)
The url in setup.py points to the old python-dns repository. This should be updated to the URL of the monorepo.
url="https://github.com/googleapis/google-cloud-python",
|
Code is ready for review but not merge |
See #11024.
This PR should be merged with a merge-commit, not a squash-commit, in order to preserve the git history.