cml: CML initialization is broken on GH in container mode
Basic CML workflow like this is broken.
I’m getting:
{"level":"error","message":"Command failed: git config --get remote.origin.url","output":[null,{"data":[],"type":"Buffer"},{"data":[],"type":"Buffer"}],"pid":124,"signal":null,"stack":"Error: Command failed: git config --get remote.origin.url\n at checkExecSyncError (node:child_process:828:11)\n at execSync (node:child_process:902:15)\n at gitRemoteUrl (/usr/lib/node_modules/@dvcorg/cml/src/cml.js:29:15)\n at new CML (/usr/lib/node_modules/@dvcorg/cml/src/cml.js:76:44)\n at Object.exports.handler (/usr/lib/node_modules/@dvcorg/cml/bin/cml/ci.js:10:15)\n at /usr/lib/node_modules/@dvcorg/cml/node_modules/yargs/build/index.cjs:1:9054\n at j (/usr/lib/node_modules/@dvcorg/cml/node_modules/yargs/build/index.cjs:1:4931)\n at M.applyMiddlewareAndGetResult (/usr/lib/node_modules/@dvcorg/cml/node_modules/yargs/build/index.cjs:1:9023)\n at M.runCommand (/usr/lib/node_modules/@dvcorg/cml/node_modules/yargs/build/index.cjs:1:7206)\n at Xt.[runYargsParserAndExecuteCommands] (/usr/lib/node_modules/@dvcorg/cml/node_modules/yargs/build/index.cjs:1:57164)\n at Xt.parse (/usr/lib/node_modules/@dvcorg/cml/node_modules/yargs/build/index.cjs:1:39275)\n at Object.<anonymous> (/usr/lib/node_modules/@dvcorg/cml/bin/cml.js:90:4)\n at Module._compile (node:internal/modules/cjs/loader:1103:14)\n at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)\n at Module.load (node:internal/modules/cjs/loader:981:32)\n at Function.Module._load (node:internal/modules/cjs/loader:822:12)","status":1,"stderr":{"data":[],"type":"Buffer"},"stdout":{"data":[],"type":"Buffer"}}
Command git config --get remote.origin.url
that is triggered in CML ctr fails.
Most likely this is due to some breaking changes in action checkout (v2 and v3 both affected). They have recently had to upgrade those due to recent update of Git on GH https://github.blog/2022-04-12-git-security-vulnerability-announced/
(more info for the reference is here: https://iterativeai.slack.com/archives/C01900GSB4J/p1650245948446699 (internal link))
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 2
- Comments: 16 (16 by maintainers)
Right, thanks for clarifying this one more time, Helio.
Yes, part of every command. Not exactly option 2 if I understand it right, since
cml ci
might be doing a bit more than that.Yes, see the
parse-git-config
package for example, but it’s not enough to replace all our other interactions with Git.It’s rather the first thing that is failing. Any
git
command we run will produce the same error:I’d wish! 😅 We use many other
git
commands for various purposes.@0x2b3bfa0 are there other way to get the same result as
git config --get remote.origin.url
in JS code? that’s the only thing that is failing, right? and it looks the only thing that we are using that for is to determine GH/GL/BB? maybe there are also other ways to do thi?Also (/CC @iterative/cml) think we recommend
actions/checkout
beforesetup-cml
, right?minimal example:
https://github.com/dacbd/err/actions/runs/2182120620
test-v2 / test-v3 fail with an error:
when I expect them to complain with same
token not found
as the test-setup-v2/v3