asonix / release-manager

A utility to manage releasing rust programs for multiple platforms
1 stars 1 forks source link

Introduce build_names #7

Closed asonix closed 6 years ago

asonix commented 6 years ago

This allows multiple builds per architecure, each with its own environment and libraries. This can be useful for making multiple builds of a -musl target while using different versions of the dependencies like OpenSSL 1.0 vs 1.1.

This also clarifies in Status.toml when the -f option is used, which builds have not yet been completed. It sets the build's status to Waiting initially, and then the build transitions through Started to Success or Failed.

Additionally, before each build, the target's directory gets cleaned. This is important for when multiple builds use the same architecture, so dependencies can get recompiled against other libraries. In order to avoid needless compiling of dependencies for projects that do not need to take advantage of multiple targets for a certain architecture, the --skip-dependencies flag has been added.

Fixes https://github.com/asonix/release-manager/issues/1

asonix commented 6 years ago

lgtm