Release the world to support 'client_info' for manual clients. #7968
Labels
api: bigquery
Issues related to the BigQuery API.
api: bigquerystorage
Issues related to the BigQuery Storage API.
api: bigtable
Issues related to the Bigtable API.
api: clouderrorreporting
Issues related to the Error Reporting API.
api: cloudresourcemanager
Issues related to the Resource Manager API.
api: cloudtrace
Issues related to the Cloud Trace API.
api: datastore
Issues related to the Datastore API.
api: dns
Issues related to the Cloud DNS API.
api: firestore
Issues related to the Firestore API.
api: logging
Issues related to the Cloud Logging API.
api: pubsub
Issues related to the Pub/Sub API.
api: runtimeconfig
Issues related to the Cloud Runtime Config API API.
api: spanner
Issues related to the Spanner API.
api: translation
Issues related to the Cloud Translation API API.
packaging
type: process
A process-related concern. May include testing, release, or the like.
/cc @crwilcox, @busunkim96, @tswast
Follow-on to #7825. Because we are releasing new features in
google-api-core
and (more importantly)google-cloud-core
, we need to handle this release phase delicately. Current clients which depend ongoogle-cloud-core
use a too-narrow pin:Per conversation today, we plan to go ahead and release a
1.0.0
ofgoogle-cloud-core
. Before that, we need to make releases from the last tags of the clients above which broaden the range togoogle-cloud-core >= 0.29.0, < 2.0dev
.Prep Releases
For each of the following:
bigquery
(BigQuery: Widen range for 'google-cloud-core'. #7969)bigtable
(Bigtable: Widen range for 'google-cloud-core'. #7970)datastore
(Datastore: Widen range for 'google-cloud-core'. #7971)dns
(DNS: Widen range for 'google-cloud-core'. #7972)firestore
(Firestore: Widen range for 'google-cloud-core'. #7973)logging
(Logging: Widen range for 'google-cloud-core'. #7974)resource_manager
(Resource Manager: Widen range for 'google-cloud-core'. #7975)runtimeconfig
(Runtimeconfig: Widen range for 'google-cloud-core'. #7976)spanner
(Spanner: Widen range for 'google-cloud-core'. #7977)storage
(Storage: Widen range for 'google-cloud-core'. #7978)trace
(Trace: Widen range for 'google-cloud-core'. #7979)translate
(Translate: Widen range for 'google-cloud-core'. #7980)the procedure is:
$ git checkout -b bigquery-1.11-back bigquery-1.11.2
.$ git push upstream bigquery-1.11-back
.$ git checkout -b bigquery-1.11.3-release bigquery-1.11-back
.setup.py
togoogle-cloud-core >= 0.29.0, < 2.0dev
.$ git commit setup.py -m "Widen range for 'google-cloud-core'."
-release
branch, e.g.$ git push origin bigquery-1.11.3-release
.-release
branch, targeting the-back
branch.autorelease-pending
.setup.py
to bump the version, e.g. to1.11.3
.CHANGELOG.md
to include the widening and PR #.origin
branch.$ git checkout bigquery-1.11-back && git fetch upstream && git merge upstream/bigquery-1.11-back
.$ git tag bigquery-1.11.3
$ git push upstream bigquery-1.11.3
.Core Releases
Once all the prep releases are finished, use
releasetool
to make new releases of core packages:api_core-1.11.0
(Release api_core 1.11.0 #7985)core/setup.py
to pingoogle-api-core >= 1.11.0, < 2.0dev
. (Core: update dep on 'api_core' >= 1.11.0. #7986)core-1.0.0
(Release core 1.0.0 #7990)Update Client Library Pins
Once the new
google-api-core
andgoogle-cloud-core
releases are complete, create PRs for each client frommaster
which bump the pins for each one accordingly to match:bigquery
(Omnibus: pin new core 1.0.0 #7993)bigtable
(Omnibus: pin new core 1.0.0 #7993)datastore
(Omnibus: pin new core 1.0.0 #7993)dns
(Omnibus: pin new core 1.0.0 #7993)error_reporting
not needed, it doesn't directly depend ongoogle-api-core
/google-cloud-core
firestore
(Omnibus: pin new core 1.0.0 #7993)logging
(Omnibus: pin new core 1.0.0 #7993)resource_manager
(Omnibus: pin new core 1.0.0 #7993)runtimeconfig
(Omnibus: pin new core 1.0.0 #7993)spanner
(Omnibus: pin new core 1.0.0 #7993)storage
(Omnibus: pin new core 1.0.0 #7993)trace
(Omnibus: pin new core 1.0.0 #7993)translate
(Omnibus: pin new core 1.0.0 #7993)Client Library Releases
After merging the "update pins" PRs, run
releasetool
for each manual client, and shepherd out the releases:bigquery
(Release bigquery 1.12.0 #8001)bigtable
(Release bigtable 0.33.0 #8002)datastore
does not yet haveclient_info
support! See issue Datastore: add 'client_info' argument to client ctor. #8003.dns
(Release dns 0.30.0 #8004)firestore
(Release firestore 1.2.0 #8005)logging
(Release logging 1.11.0 #8006)resource_manager
(Release resource_manager 0.29.0 #8007)runtimeconfig
(Release runtimeconfig 0.29.0 #8008)spanner
(Release spanner 1.9.0 #8009)storage
(Release storage 1.16.0 #8010)trace
(Release trace 0.21.0 #8011)translate
(Release translate 1.5.0 #8012)Because
error_reporting
relies on transitive deps ofgoogle-cloud-logging
to pick up newgoogle-api-core
andgoogle-cloud-core
versions, it has to be handled specially:google-cloud-logging >= 1.11.0
. (Error Reporting: pin 'google-cloud-logging >= 1.11.0'. #8015)Datastore:
client_info
feature. (Datastore: Addclient_info
support to client. #8013)The text was updated successfully, but these errors were encountered: