Skip to content

Releases: Azure/dalec

v0.15.1

27 May 17:41
90728a5
Compare
Choose a tag to compare

What's Changed

  • Fix case where it was not possible to unmarshal without strict mode by @cpuguy83 in #642
  • Make sure rpm/deb use disable_auto_requires from target-specific artifacts when available by @cpuguy83 in #640

Full Changelog: v0.15.0...v0.15.1

v0.15.0

22 May 23:36
d200c4a
Compare
Choose a tag to compare

What's Changed

Language-specific dependencies

Dalec has included support for fetching go module dependencies for several releases.
In this release we have included support for fetching rust cargo dependencies.

We plan to add support for more languages in the next release, including npm, yarn, and pip.

Caching

Go modules

When DALEC fetches go modules, it now keeps a persistent cache for all go modules across multiple builds/projects.
This means that go modules versions you have already fetched in any other dalec build can be re-used without having to go to the internet.

Persistent cache dirs

In the spec you can now define a cache directory to use as part of your build steps.
This is useful, for instance, for storing incremental compiler caches.
By default cache keys automatically include the target distro name and CPU architecture to prevent common issues that can happen when trying to share a cache between different distros/arches, but this can be disabled.
See the cache dirs docs

In addition to being able to specify fully custom cache dirs, this release also includes support for 2 special case cache dirs:

  1. gobuild - This is specifically tailored to the go build cache. You can explicitly enable it in the spec OR dalec will try to detect if go is present in the build environment and it will automatically add the cache. This auto detection can be disabled in your spec.
  2. bazel - This keeps a local cache directory for bazel builds. Unlike go, this is not going to be auto-detected you have to specify it in your spec file. Once specified dalec will add the cache dir to the system bazelrc file so your bazel build caches can be persisted locally.

We plan to expand support for more tailored caches in the future.

Docker --no-cache

Not really related to the kind of caching we're talking about above, but...
We added support docker build --no-cache as well as docker build --no-cache-filter

The available filters you can pass to --no-cache-filter are:

  1. dalec.srcpkg - Ignores just the cache related to generating the source package. Subsequent steps may still be cached if the result from building the source package is the same as previous runs.
  2. dalec.pkg - Ignores the cache for the actual package build steps
  3. dalec.container - Ignores the cache for generating the container from the built package.

These were all added so we can adequately test cache directory persistence, but you may find them useful for your own cases.

Other changes

  • Add support for arg expansion in patches, sources include/exclude/path by cpuguy83 in #620
  • Reduce some verbosity in builds by cpuguy83 in #630
  • Add custom marshalling for changelog date by cpuguy83 in #618
  • Add chown support for symlinks by bchuo in #613
  • Allow target-specific provides/conflicts/replaces by cpuguy83 in #624
  • Add support for disabling automatic runtime dependency injection by cpuguy83 in #638

New Contributors

  • grnmeira made their first contribution in #601

v0.14.2

05 May 22:18
Compare
Choose a tag to compare

What's Changed

  • Set GOOS=windows by default in windowscross target
  • Automatically convert symbols for package constraints between rpm/deb formats

Full Changelog: v0.14.1...v0.14.2

v0.14.1

29 Apr 19:04
Compare
Choose a tag to compare

What's Changed

Dalec spec

  • Allow argument substitution for version constraints in provides/replaces, and package dependencies.

RPM

  • Fix issue where "Provides" in the RPM spec was using the wrong field in the dalec spec (was using "replaces")
  • Fix issue where "replaces" in the dalec spec were translated to the wrong (and non-existent) rpm spec field "Replaces". Now correctly sets "Obsoletes" in the rpm spec

Deb distros

  • Fix potential issue with dependency resolution by trying to install packages with apt install first and only falling back when that fails
  • Calls apt dist-upgrade before installing built deb packages into container.

Full Changelog: v0.14.0...v0.14.1

v0.14.0

03 Apr 22:46
Compare
Choose a tag to compare

Notable changes

Builds should all now properly respect requested target platform(s).

Deb-based distros now use a single source tarball instead of the multi-orig format.

What's Changed

Full Changelog: v0.13.6...v0.14.0

v0.13.6

29 Mar 14:42
Compare
Choose a tag to compare

What's Changed

  • Fix case where multiple test steps are not being run by @cpuguy83 in #578

Full Changelog: v0.13.5...v0.13.6

v0.13.5

25 Mar 21:36
Compare
Choose a tag to compare

Important

This fixes an issues in 0.13.4 that accidentally caused extra packages (e.g. bash) to be installed in azlinux and mariner.

What's Changed

  • azlinux: use weak dependency for prebuilt-ca-certificates by @cpuguy83 in #584

Full Changelog: v0.13.4...v0.13.5

v0.13.4

25 Mar 15:15
Compare
Choose a tag to compare

What's Changed

  • rpm: fix issue when installing base deps conflicts with package deps by @cpuguy83 in #583

Full Changelog: v0.13.3...v0.13.4

v0.13.3

24 Mar 17:43
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.13.2...v0.13.3

v0.13.2

21 Mar 20:31
da2667a
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.13.1...v0.13.2