Code Monkey home page Code Monkey logo

releasetool's Introduction

Releasetool (for client libraries)

This tool helps create releases for cloud client libraries.

Presently, this works for Python, Node.js, and Ruby. However, it's designed in such a way that it could easily be used for other languages.

Installation

Requirements:

  • Python 3.8+
  • pip

We recommend following this guide for installing both Python 3 and pip.

Install releasetool using pip:

python3 -m pip install gcp-releasetool

Usage

Packages are published in two phases. First, a PR is created to update CHANGELOG.md and the version number. Second, once the PR is merged the merge commit is tagged and CI publishes the package.

To start the process of releasing use releasetool start from the directory of the client you want to publish, for example:

git clone [email protected]:googleapis/google-cloud-python.git
cd google-cloud-python
cd bigquery
releasetool start

This will create a PR.

If the PR has a autorelease: pending label:

Upon approval and merging, autorelease will pick up the PR and run releasetool tag and release the package to their respective package managers. Autorelease will comment on the release PR with the status of the release. Example PR

Otherwise:

Once the PR has been approved and merged, you can run releasetool tag from anywhere in the repository to tag the commit and start CI.

git fetch origin master
git checkout origin/master
releasetool tag

Authenticating

When first running releasetool you will be prompted for a GitHub token. Make sure that the token provided has write:repo_hook and public_repo scopes.

Resetting the GitHub Token

If you need to change the GitHub API token associated with releasetool, run releasetool reset-config. This will delete the existing token. The next time you run releasetool start you will be prompted to enter a new token.

Disclaimer

This is not an official Google product.

releasetool's People

Contributors

bajajneha27 avatar bcoe avatar bshaffer avatar busunkim96 avatar callmehiphop avatar chingor13 avatar crwilcox avatar dazuma avatar ddixit14 avatar dependabot[bot] avatar diptanshumittal avatar google-cloud-policy-bot[bot] avatar jba avatar jkwlui avatar jskeet avatar justinbeckwith avatar kappratiksha avatar kjin avatar nivedhasenthil avatar parthea avatar quartzmo avatar release-please[bot] avatar renovate-bot avatar steffnay avatar surferjeffatgoogle avatar telpirion avatar theacodes avatar theroyaltnetennba avatar tseaver avatar tswast avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.