I suggest you ...

Cache VMs to save time on dependencies installation

If you have a project with a lot of dependencies, like cordova, unity or imagemagick, it takes a very big chunk of build time just to set them up.

Same goes if your project is very big (like a 3D game), it would take a very long time to download it from scratch, where if it was just a repo update that downloads latest changes, it would be much faster.

One possible solution is to have a separate workflow which would download and install all dependencies and then that state of VM image would be stored/cached and later "build" workflows wouldn't need to setup anything, just to download latest changes and build them. Of course there will be a need to reset such a cache.

Another possible solution is to let people use custom VMs which has all dependencies that are needed for their projects.

67 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Eugene shared this idea  ·   ·  Admin →

    7 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Dschee commented  · 

        Carthage is still not implemented, is there any progress indicator on that specific one?

      • Mattias Karlsson commented  · 

        Would be amazing for nuget packages too on Xamarin builds.

      • Anonymous commented  · 

        Speeding up the build by caching dependencies would be amazing!

      • Russell Bishop commented  · 

        This would be huge for us. We don't need a ton of builds but when we do need them we'd like to have them as quickly as possible.

        Perhaps this could be an extra feature you can pay for to let you have a hot-standby image ready to go. Your hyper visor should be able to assign zero resources to it if not used within a certain period of time, and maybe a max lifetime so if you update your VM you don't have old instances stuck around forever.

      Feedback and Knowledge Base