blob: 8ba26e87ff6ff93cfdce45741e46d08d3fa28d1b [file] [log] [blame] [view]
# COS Changelog
An application that generates build changelogs and locates the first build containing a CL.
## Usage
### Retrieve Changelog
Retrieve the commit changelog between two builds.
Run with `./changelogctl --mode changelog [options] [build-number || image-name] [build-number || image-name]`
Example: `./changelogctl --gob cos.googlesource.com --repo cos/manifest-snapshots cos-rc-85-13310-1034-0 15045.0.0`
### Find First Build Containing CL
Retrieve the first build containing a CL.
Run with `./changelogctl --mode findbuild [options] [CL-number || commit-SHA]`
Example using CL-Number: `./changelogctl --mode findbuild 3280`
Example using Commit-SHA: `./changelogctl --mode findbuild 18d4ce48c1dc2f530120f85973fec348367f78a0`
## Commands
`./changelogctl --help` to see a list of commands or get help for one command
## Global Options
`--mode | -m`: Specifies the query mode. Acceptable values: [changelog || findbuild]
`--gerrit URL`: (optional) Specifies the Gerrit instance to query from, with the `https://` prefix. It will use `https://cos-review.googlesource.com` by default.
`--fallback URL`: (optional) specifies the fallback Gerrit instance to query from, with the `https://` prefix. It will use `https://chromium-review.googlesource.com` by default.
`--gob URL`: (optional) Specifies the Git on Borg instance where manifest-snapshot files are located. It will use `cos.googlesource.com` by default.
`--repo`: (optional) Specifies the repository for manifest-snapshot files within the Git on Borg instance. It will use `cos/manifest-snapshots` by default.
`--debug | -d`: (optional) Enables debug messages.
## Output
## Changelog Output
Creates 2 JSON files representing the changelog between 2 given build numbers. Each output file maps repositories to their repository changelog. A repository changelog consists of all the commits in a repository that were present in between the build numbers.
All the commits that were present in the target build number and not present in the source build number are located in `source_build_number -> target_build_number.json`.
All commits that were present in the source build number but not present in the target build number are located in `target_build_num -> source_build_num.json`.
## FindCL output
Prints the first build number that includes the input CL.
## Notes
* Changelog only supports Cusky builds. For retrieving changelogs from Pre-Cusky builds, please use go/crosland.
* Changelog only supports image names satisfying the regex `^cos-(dev-|beta-|stable-|rc-)?\d+-([\d-]+)$`