Skip to content

Latest commit

 

History

History
44 lines (26 loc) · 1.56 KB

UPDATING.md

File metadata and controls

44 lines (26 loc) · 1.56 KB

How-To Update Bindings When gtfs-realtime.proto Changes

Regenerate the language binding source from gtfs-realtime.proto.

One-Time Setup

  1. Download and install Docker

Every time gtfs-realtime.proto changes

  1. Run the update script:

    ./update_generated_code.sh
    
  2. Add the license header back to the generated source file.

Publishing a new release

Publishing can only be performed by someone with commit privileges to the repo.

  1. Ensure you are in the branch (likely master) and at the commit you'd like to tag as a release version.

  2. Decide on the new semantic version of the form vX.Y.Z. Use it in the commands below.

  3. Execute the following:

    git tag golang/gtfs/vX.Y.Z
    git push origin golang/gtfs/vX.Y.Z
    

    Note the prefix of golang/gtfs/ per the golang reference documentation about packages that belong to a subdirectory within a larger repo, where our repo root path is github.com/MobilityData/gtfs-realtime-bindings and our subdirectory is golang/gtfs. See https://go.dev/ref/mod#vcs-version for more info.

  4. Verify that the publish was successful with the following command:

    GOPROXY=proxy.golang.org go list -m github.com/MobilityData/gtfs-realtime-bindings/golang/gtfs@v1.0.0
    

For more information about Go module publishing, see the official documentation.

See indexed releases at https://pkg.go.dev/github.com/MobilityData/gtfs-realtime-bindings/golang/gtfs.