#[zenith] New `source` field in dagger.js...

1 messages · Page 1 of 1 (latest)

quartz dirge
grave edge
#

But this only solves the micro / individual service level; I’d love to see how you build a Dagger pipeline to build all the packages in the Dagger monorepo

#

Right now each SDK has its own GitHub Action, but the Dagger goal would be to run dagger build and it does everything, yeah?

cold crow
#

Oh sorry I missed that dup

quartz dirge
#

@cold crow actually sorry I just saw mine was a dupe of yours, I thought you just created that one 😅 that's my bad. I'll take care of combining them into one after this

cold crow
#

@grave edge we're still exploring patterns there

#

@grave edge my guess would be: the monorepo is a top-level package that possibly imports sub-packages

quartz dirge
cold crow
#

I don't think we'd want to expose the hierarchy of sub-modules to the user, in the same way that we show the hierarchy of functions in one module. That would be hierarchy overload for the user IMO

#

Or maybe like go doc does it: sub-modules are listed briefly. Then it's on to the main topic: the contents of the current module (not mixing in the contents of sub-modules)

#

@quartz dirge @fickle ocean @queen skiff this is exactly the kind of discussion where prioritizing dogfooding modules would help 😛

grave edge
#

If we use a protobuf example. When a protobuf changes, at the top level of a repo, it’s shared by many downstream services.

With the old host based orchestration, it was easy to import some Go code and depend on the output of the protobuf compiler

#

But with the module stuff, this feels like it’s trickier and currently impossible-ish

cold crow
#

Not really, you can take the same code and slap it in a module, should work the same

grave edge
#

But does that mean my dagger.json gets a new module added which is higher up my repo?

#

Which can only be a GH url atm

#

Meaning I’m always building against version-1?

cold crow
#

You can import modules as a relative path today

grave edge
#

Only in directories below you though, right?

cold crow
#

But I was saying: as a first step, you can take your existing client code, and wrap it in a monolithic module

grave edge
cold crow
#

Yes (easily optimized, ie with includes/excludes etc)

grave edge
#

Yeah. I’ll either create my own clients or use a temporary mega module for now

#

But I’d be interested in being a fly on the wall as you explore patterns to get dagger/dagger down to a single GitHub Action

#

Thanks for the chat. It’s been great!