If anyone wants to try this out, add `shell: true` to your build manifests. Once your tasks complete, you can log into the build VM over SSH. Simplest build manifest which does this is:

image: alpine/edge
shell: true

But you could also do things like adding a bunch of useful packages, cloning your dotfiles, etc, through the usual means.


This is alpha-tier, so some caveats apply: the normal build timeout still applies and you won't get a warning when you're going to be booted. If you log in while your tasks are still running YMMV. Some other nice things are absent.

@sir hmm, this is interesting, sometimes i've wanted to poke around a CI environment. would it be possible to only enable the shell on *failure*?

@kaniini it would be neat if on build failure everything was cleaned up normally (build marked as failed, failure notifications delivered, etc), except the build VM stuck around for another 10 minutes in case you wanted to log in and check it out. Upon login the deadline is extended from 10 minutes to the normal build time limit

@sir @kaniini in general tools don't automatically make the decision to clean on failure because:
1) They might still have produced artifacts you want to inspect or use.
2) They don't necessarily know what does it mean to clean because you might have scripted all sorts of weird side effects into your build.

I'm sure you're probably capable of attaching som sort of "on failure" script and do the cleanup there.
Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!