Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support arbitrary stores for building #1200

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft

Support arbitrary stores for building #1200

wants to merge 10 commits into from

Conversation

edolstra
Copy link
Member

@edolstra edolstra commented Apr 13, 2022

This removes the duplicate implementation of the nix-store --serve client in buildRemote(). Instead we now use the Store API directly. To be able to support build cancellation, the actual build is performed by a helper process (hydra-build-step), which can be killed by hydra-queue-runner if the corresponding step is cancelled.

To do:

  • Actually support build step cancellation.
  • Set step statuses like ssConnecting.
  • Rip out nar-extractor. Since hydra-build-step is a separate process, this doesn't work anymore. Instead hydra-build-step should populate the local NAR cache.
  • Get rid of Machine duplication between Hydra and libstore.
  • Get rid of duplication between RemoteResult and BuildResult.

Rather than re-implementing the legacy SSH store protocol, we now use
Store directly. To be able to support build cancellation, the actual
build is performed by a helper process (hydra-build-step), which can
be killed by hydra-queue-runner if the corresponding step is
cancelled.
@Ericson2314
Copy link
Member

Ericson2314 commented Oct 25, 2022

use-store-api...obsidiansystems:hydra:use-store-api Fixed conflicts (rather trivially) here.

Pushed

@Ericson2314
Copy link
Member

The conflicts between the build remote split PR (now merged into master) and this are fixed.

As expected, this PR obviates most of the split out functions by instead moving functionality to the new executable, so the split out functions are mostly just deleted and the diff is fairly small.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants