Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify whether nested output directories are permitted #63

Closed
jmillikin-stripe opened this issue Mar 4, 2019 · 4 comments · Fixed by #74
Closed

Clarify whether nested output directories are permitted #63

jmillikin-stripe opened this issue Mar 4, 2019 · 4 comments · Fixed by #74

Comments

@jmillikin-stripe
Copy link
Contributor

The comments for Command.output_files state that an output file cannot be the parent of another output file, but there is not a corresponding comment for directories.

Please add a comment to clarify which, if any, of these output layouts are valid:

Output directory is child of another output directory:

output_directories: "upper"
output_directories: "upper/lower"

Output file is child of output directory:

output_directories: "upper"
output_files: "upper/lower"

Output directory is child of output file (possible if file is a symlink)

output_files: "upper"
output_directories: "upper/lower"
@ola-rozenfeld
Copy link
Contributor

Anything not explicitly disallowed is allowed:

Output directory/file is child of another output directory: allowed.
Output directory is child of output file: not possible and will not work, because then the output file is not actually file, which will cause a FAILED_PRECONDITION error. If we expect an output to be a symlink to a directory, it should be specified as an output directory, not an output file.

@ola-rozenfeld
Copy link
Contributor

... and perhaps it's worth it to clarify this point in the proto :-)
Will do.

@jmillikin-stripe
Copy link
Contributor Author

Output directory is child of output file: not possible and will not work, because then the output file is not actually file, which will cause a FAILED_PRECONDITION error. If we expect an output to be a symlink to a directory, it should be specified as an output directory, not an output file.

Does this mean that execution servers that preserve symlinks need to test the type of the symlink target? I was previously assuming symlinks were uploaded as-is. If the server is expected to validate the target also, can you add a comment for that?

@ola-rozenfeld
Copy link
Contributor

If the server is expected to validate the target also, can you add a comment for that?

Done. (#74)
Also, in general I would like to remove the explicit type specification of outputs by the client in V3 (#75).

santigl pushed a commit to santigl/remote-apis that referenced this issue Aug 26, 2020
* Add support for parsing flags from environment variables.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants