Skip to content

Per-project binary caches (or alternatives) #62

Open
@dhess

Description

We're preparing to make a few open source releases, and we'd like to provide public Cachix caches for these projects. However, we have multiple other projects that will remain private, and we'd like to push derivations to either a private S3 or private Cachix cache for these projects. As far as I can tell, Hercules CI doesn't easily support this scenario. At the moment, I believe we'd need to create one account/org for the private builds, and one for the public builds, and then partition our builders by account/org.

One way to nicely support this would be to configure binary cache outputs on a per-project level; e.g., when you add a GitHub repo to Hercules CI, you can also specify the binary cache to use for builds for that project.

Another way would be per-project agents. In this scenario you'd assign different agents to different projects, and the user would need to ensure that each agent used the correct binary cache. This seems less ideal, not only because of the configuration headaches, but also because I think it wouldn't be possible to use the same host to build both private and public projects, unless you also added support for multiple agents per host.

I don't know much about Hercules CI Effects, as I haven't used Hercules CI since these were added. Perhaps what I want to do is possible via effects?

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions