this post was submitted on 18 Jul 2024
39 points (91.5% liked)

Programming

17000 readers
269 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

I just finished watching Why Google Stores Billions of Lines of Code in a Single Repository and honestly, while it looks intriguing, it also looks horrible.

Have you run into issues? Did you love it? How was it/

you are viewing a single comment's thread
view the rest of the comments
[–] lmaydev@lemmy.world 4 points 1 month ago (1 children)

We use a mono repo for a new cloud based solution. So far it's been really great.

The shared projects are all in one place so we don't have to kick things out to a package manager just to pull them back in.

We use filters in azure pipelines so things only get built if they or dependent projects get changed.

It makes big changes that span multiple projects effortless to implement.

Also running a local deployment is as easy as hitting run in the ide.

So far no problems at all.

[–] onlinepersona@programming.dev 0 points 1 month ago (1 children)

We use filters in azure pipelines so things only get built if they or dependent projects get changed.

Any guides on how to do this? I know about filtering triggers by where changes happens, but how do dependent projects get triggered? Is that a manually maintained list or is that something automatic? I mostly use Gitlab, but am curious how Azure Pipelines would do it.

Anti Commercial-AI license

[–] lmaydev@lemmy.world 2 points 1 month ago* (last edited 1 month ago) (1 children)

You have a list of filters like "src/libs/whatever/*" if there is a change the pipeline runs.

I wrote a tool that automatically updates these based on recursive project references (c#)

So if any project referenced by the service (or recursively referenced by dependencies) changes the service is rebuilt.

[–] onlinepersona@programming.dev 0 points 1 month ago (1 children)

I see. OK. I thought that was built into Azure pipelines.

Pretty cool tool you built 👍 Is it language agnostic?

Anti Commercial-AI license

[–] lmaydev@lemmy.world 1 points 1 month ago

No it relies on the c# project files. It looks for all projectreference tags in the projects file and recursively grabs all of them and turns them into filters.