#`Engine & CLI` workflow

1 messages · Page 1 of 1 (latest)

mental sequoia
#

process "git merge-base main abdd75e6bd261590c7c6d89eeb4f9f210680ceed" did not complete successfully: exit code: 1
Is really unhelpful.

When I run what feels like the same command locally, I see:

jsoref@mental sequoia-mbp dagger % git merge-base main abdd75e6bd261590c7c6d89eeb4f9f210680ceed
fatal: Not a valid object name main
The extra bit (fatal: Not a valid object name main) makes the error much more useful to me. Did dagger eat a similar message in CI?

grand python
#

Weird @mental sequoia , normally that trace should include output logs of that git command, but I don't see it anywhere

mental sequoia
#

Offhand, I think this workflow is broken -- it somehow assumes that the main branch will be present, but none of the checkout steps in https://github.com/check-spelling-sandbox/dagger/actions/runs/17592834181/workflow ensure that it would be. checkout will generally get the current commit by default--and might get the parent commits for a PR, but probably won't name them -- and even if it does name them, there's no guarantee it'd name it main, and the workflow isn't limited to PRs to main (this PR is not to main):
https://github.com/check-spelling-sandbox/dagger/actions/runs/17592834181/workflow#L7-L12

GitHub

An open-source runtime for composable workflows. Great for AI agents and CI/CD. - spelling: with · check-spelling-sandbox/dagger@f7a717c

#

@grand python glad you're available to take a look. I'm going to step away for ~15mins, and then will probably be gone for the rest of my day (I'm checking out in <1hr and taking a flight later today after we finish wandering this city).

I'll check back later, but you should be able to reproduce everything by forking the repo.

Note that when the PR was created, the default branch was placehoolder -- it's currently something else in order to debug the other failure (see previous 🧵)

#

Note that I know absolutely nothing about dagger -- I just try to get CI to pass before I make PRs upstream and this CI system isn't making that easy 🙁

grand python
#

But the people I pinged above are in US midwest and UK, so they'll be online before me

grand python
mental sequoia
#

g'night. No worries. I'm normally US Eastern and quite used to working async.

Right now for the workflow, I just want it to "work", I can worry about getting it ported to the generator (I saw that it was generated) or leave it to the dagger team to do the porting (I wouldn't make a PR of only a generated file -- I'd post an issue and point to what I managed to do/what I ran into).

jovial barn
#

the merge-base command is failing from the version/git.go file

#

the reason you're likely getting issues is due to shallow clone shenanigans (there's a little chunk of code at the top of that that's attempting to unshallow the repo)

#

i don't really have the time to dive into the specific issues you're having right now - the intended workflow is to open prs against dagger to run the ci - not to run it in your own fork.

#

we're doing a lot of refactoring around this, so 😅

#

obviously prs and improvements and such welcome ❤️

mental sequoia
#

I've looked a little into the go code https://github.com/dagger/dagger/blob/3f37f6d100680f013d10d648cd25f3257cac431c/version/git.go#L282-L290, and I don't think it makes sense for me (as opposed to a dagger core dev) to fix it. Offhand, it looks horribly broken. I think all standard output and standard error are lost by the conversion to a Golang err code. Assuming I wanted to use dagger, I wouldn't want the thing that runs programs to lose all output/error when a program I ran failed.

It does seem likely to be shallow clone shenanigans.

What you have at a starting point is a shallow commit that is perhaps 200 commits past the last commit in dagger/dagger@main which means there wouldn't be a valid merge base between the commit you have and the one you're trying to think about if you did manage to fetch dagger/dagger@main.

The correct behavior would be to:

  1. git fetch origin --unshellow <-- this would be new
  2. git remote remove origin but I can't figure out where this is: https://github.com/dagger/dagger/blob/3f37f6d100680f013d10d648cd25f3257cac431c/version/git.go#L50
  3. git remote add origin ...dagger... https://github.com/dagger/dagger/blob/3f37f6d100680f013d10d648cd25f3257cac431c/version/git.go#L51
  4. ...
  5. git merge-base ...
GitHub

An open-source runtime for composable workflows. Great for AI agents and CI/CD. - dagger/dagger

grand python
#

@mental sequoia as I said before, the fact that you're losing stdout/stderr is not expected. We will look into that.

I would love to know what you intend to contribute to dagger if you don't know anything about it and don't intend to ever use it?

We won't refuse any good contribution but if you need a lot of support from us, it would be useful to know what you have in mind.

grand python
eternal cypress
#

The most help I can offer is to echo what Justin said

the intended workflow is to open prs against dagger to run the ci - not to run it in your own fork.