yandex / yatool

Yatool is a cross-platform distribution, building, testing, and debugging toolkit focused on monorepositories
Other
149 stars 9 forks source link

Some ya package options are undocumented #17

Closed achulkov2 closed 2 months ago

achulkov2 commented 2 months ago

Hi! Thank you for exporting documentation, it makes the tool much more useful.

There are some undocumented options for ya package, so far I have found and used docker_target and docker_build_arg in the params section of a package.json file. It would be nice to get some documentation and usage examples for these parameters, as well everything else present in the schema.

achulkov2 commented 2 months ago

Could you also think about exporting the source code of some tests for ya package? They might be useful for usage examples.

frazenshtein commented 2 months ago

Hello!

There are some undocumented options for ya package, so far I have found and used docker_target and docker_build_arg in the params section of a package.json file.

We have extensive internal documentation that contains many internal terms, examples, references that are not relevant in open source. We plan to start refining it in mid-autumn and make it available in open source in the future.

Could you also think about exporting the source code of some tests for ya package

Indeed, the source codes of the tests are not published, this is a separate large task of adapting them to the open source. We are monitoring the need for their availability and assessing the available resources for this task.

It would be nice to get some documentation and usage examples for these parameters

The YTsaurus project has an example of using the specified parameter: https://github.com/ytsaurus/ytsaurus/blob/f07defb41844d5866e84e2504ac97c4acd00d057/yt/docker/ya-build/ytsaurus/package.json#L11

frazenshtein commented 2 months ago

I separately collected the parameters about Docker options from the future documentation:

Parameter Type CLI option Description
docker_add_host list --docker-add-host Same as Docker --add-host
docker_build_arg dict<str, str> --docker-build-arg=X=Y Passed as --build-arg X=Y key to docker build. Cli option --docker-build-arg extends parameters specified in package.json in params.docker_build_arg section, but does not replace them. If keys match, cli value overrides value from docker_build_arg section.
docker_build_network string --docker-network=X Passed as --network=X key to docker build "host"/etc
docker_platform string --docker-platform=X Allows you to specify a platform for docker build (requires buildx plugin for docker)
docker_registry string --docker-registry=X Specifies docker registry
docker_repository string --docker-repository=X Specifies docker repository
docker_save_image bool --docker-save-image Saves docker image to archive true/false
docker_secrets list --docker-secret Allows you to pass secrets to docker similar to docker --secret
docker_target string --docker-target Specifies the target build (--target)
achulkov2 commented 2 months ago

Thank you for the docker-related parameters! The usage in YTsaurus is authored by me, and they are the most relevant right now :) I am glad to hear the plan for a more extensive documentation.