senlu@senlu:~/work/src/k8s.io/test-infra$ ./hack/update-config.sh
INFO: Analysed target //maintenance/fixconfig:fixconfig (0 packages loaded).
INFO: Found 1 target...
ERROR: Process exited with status 127: Process exited with status 127
/bin/sh: print-workspace-status.sh: command not found
Target //maintenance/fixconfig:fixconfig failed to build
Use --verbose_failures to see the command lines of failed build steps.
/area bazel
cc @BenTheElder
cc @ixdy
we can work around this by using --workspace_status_command="bash ./print-workspace-status.sh" instead of just --workspace_status_command=./print-workspace-status.sh.
I'm not sure if this was an intentional regression; I'm going to open an issue against bazel.
our current usage seems to match the docs :|
https://docs.bazel.build/versions/master/user-manual.html#workspace_status
Excerpt:
Example program on Linux using Git:
#!/bin/bash
echo "CURRENT_TIME $(date +%s)"
echo "RANDOM_HASH $(cat /dev/urandom | head -c16 | md5sum 2>/dev/null | cut -f1 -d' ')"
echo "STABLE_GIT_COMMIT $(git rev-parse HEAD)"
echo "STABLE_USER_NAME $USER"
Pass this program's path with --workspace_status_command, and the stable status file will include the
STABLE lines and the volatile status file will include the rest of the lines.
but kubernetes/kubernetes isn't broken? this is... bizarre.
oh, it gets better. if we move print-workspace-status.sh into hack/ and then update --workspace_status_command=./hack/print-workspace-status.sh then it works again.
Most helpful comment
we can work around this by using
--workspace_status_command="bash ./print-workspace-status.sh"instead of just--workspace_status_command=./print-workspace-status.sh.I'm not sure if this was an intentional regression; I'm going to open an issue against bazel.