Skip to content

Determine the architecture(s) during the source build for a dynamic matrix of architectures for the binary job #207

@Centuriondan

Description

@Centuriondan

For Devuan we are using matrix to build multiple architectures of a single build request - but currently the architectures are hardcoded at job creation time. I'd like to make this dynamic, so we can at build time select either a subset or all currently available buildable architectures. (It will allow for adding new architectures to the repositories later or (re)building only a single architecture.

I expect the process would go something like this:

  1. A label "architectures" can be specified as part of the source job with possible values being the same as those supported by the Architecture: field in the control file Package: stanza.
  2. The source build reads the debian/control file to determine the broadest selection of architectures that the package needs built
  3. The architectures label is modified based on:
  • Any architecture in the label not supported by the control file selection of architectures is dropped from the label.
  • If only a subset of architectures are listed in the label then those architectures remain.
  • If no architectures are set in the label then all the supported architectures will be built.

The key benefits of this approach would be:

  • a much simpler process to setup the jobs for each package
  • dynamic detection of supported architectures at build time
  • build time selection of a subset of architectures to run

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions