Skip to content

boulder: Consider adding a separate fetch phase #264

@ermo

Description

@ermo

Modern languages typically come with their own package managers.

To make it possible to fetch external modules per a controlled set of dependency specifications (cargo.lock, go.mod etc.), perhaps it would make sense to offer an extra fetch phase where networking is implicitly allowed, whilst then turning off networking for all remaining phases?

I imagine that this would be a fully backwards compatible change, given empty phases are simply skipped.

Example:

# (...)
networking: no
fetch: |
    %cargo_fetch # or %go_get or (...)
# no setup phase necessary here
build: |
    %cargo_build
install: |
    %cargo_install

In addition, having a separate fetch phase would also enable us to split that phase out timing wise in the end-of-build overview (thanks to Ikey for pointing this out).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions