Homebrew / homebrew-test-bot

🎰 Tests the full lifecycle of a Homebrew change.
BSD 2-Clause "Simplified" License
76 stars 68 forks source link

Provide documentation on how to use `test-bot` command when the full lifecycle is not wanted - or needs customizing #172

Closed fredemmott closed 6 years ago

fredemmott commented 6 years ago

For example, when uploading bottles is not desired, or when I want to upload to a repository that is not bintray (e.g. to AWS S3).

I see that I can specify root-url for how to set it in the recipe, but I don't see:

Apologies if I've missed something.

MikeMcQuaid commented 6 years ago

documentation on using the command (rather than the test-bot system as a whole), other than --help - which does not provide high-level docs, just descriptions of each arg

This is all the documentation that's provided beyond https://docs.brew.sh/Brew-Test-Bot and https://docs.brew.sh/Brew-Test-Bot-For-Core-Contributors. We'll accept PRs to add any more and I'll answer questions on those PRs to fill in specific questions you have.

options for a custom upload script (i.e. to upload to somewhere that isn't bintray)

Instead of running brew test-bot --ci-upload use the output bottles and JSON files to upload to the location of your choice.

a way to get both the locally-produced bottle filename, and the filename that it should be uploaded/stored as, without depending on implementation details

The output JSON generated by brew test-bot contains this information.

fredemmott commented 6 years ago

The output JSON generated by brew test-bot contains this information.

Just checking: is this considered a stable public API?

MikeMcQuaid commented 6 years ago

It's simple enough that I don't see it needing to change so: yes, I guess so. It can be considered to follow the versioning of the rest of Homebrew so if there's deprecations they will be announced in the minor version release notes.

fredemmott commented 6 years ago

Thanks; I'll see if I can find someone who wants to pursue this, otherwise I'll probably take a look some time next year.

scpeters commented 6 years ago

a way to get both the locally-produced bottle filename, and the filename that it should be uploaded/stored as, without depending on implementation details

The output JSON generated by brew test-bot contains this information.

I just ran into this issue since the 1.7.2 tag was made. I made some code that extracts the "filename that it should be uploaded/stored as" from the json and infer the "locally-produced bottle filename" from the name of the json file and changing the extension from json to tar.gz, since the "locally-produced bottle filename" isn't stored in the json.

MikeMcQuaid commented 6 years ago

I just ran into this issue since the 1.7.2 tag was made. I made some code that extracts the "filename that it should be uploaded/stored as" from the json and infer the "locally-produced bottle filename" from the name of the json file and changing the extension from json to tar.gz, since the "locally-produced bottle filename" isn't stored in the json.

@scpeters I think it would be good to make brew bottle --json generate that information, what do you think? Would you be interested in submitting a PR to add it?

scpeters commented 6 years ago

@MikeMcQuaid let me know what you think of https://github.com/Homebrew/brew/pull/4736