NixOS / NixOS/hydra

It's hard/impossible to use builds from another jobset as a dependency with the new package convention

Open
#124 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

improvement
Dominant language
PLpgSQL
Stars
1.6k
Forks
358
Avg merge
20h 30m
Merged PRs (30d)
27

Description

In the new packaging convention, every build job is bound to a system architecture. For example, build.x86_64-linux, builds a particular package for x86-64-linux.

However, using this new convention makes it difficult (or I would say: almost impossible) for a jobset to refer to an existing build result for the same architecture belonging to a different jobset.

In the old convention, I could directly address an existing build result through. project:jobset:job and pick the 'Build result (same system)' to use a build result from another jobset.

Although Hydra still supports this old feature, it can no longer be used with a release expression following the new convention.

I know two possible solutions. One solution is to allow a release expression to refer to a jobset result, e.g. through an attribute set referring to builtins.storePath invocations.

Another solutions is to adapt the 'Build result (same system)' option to use the new convention (e.g. by automatically referring to the desired system architecture sub attribute).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by examining release-expression handling and the “Build result (same system)” option, then compare the two proposed approaches. Done should allow a release expression using the new package convention to reuse a build result for the same architecture from another jobset.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, ci-cd
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.