[CWL] Register workflow and run from git repo
For additional background, see discussion on #15535
Want to run user CWL from git commit to an arvados-managed git repo. This is because the preferred development process is to store your CWL in a git repo, because git is good for managing code over time.
At CLI: detect when being run with the CWD inside a git repo. Get the current revision. Determine the repo uuid by looking at repo remotes. Make sure the working directory doesn't have uncommitted changes, and check that the current version is pushed. Submit a container request that mounts the git repo at the current version and runs the workflow.
At workbench: to register workflow record, create a wrapper workflow that has the same input/output interface as the workflow, with a single step with a run line like:
To submit the workflow, workbench introspects the step and sets up the correct git mount.