Skip to content

Releases: cashapp/hermit

v0.47.0

29 Dec 23:51

Choose a tag to compare

fix: switch to a maintained xz package

The previous one hasn't been touched in 8 years, and is failing.

Fixes #528

v0.46.2

06 Nov 21:45
f5e93fe

Choose a tag to compare

fix: don't suppress logging during exec (#515)

Also emit a warning if a package could not be resolved during list.

v0.46.1

10 Sep 02:58
17370fe

Choose a tag to compare

fix: don't rely on an environment when self updating (#511)

This was a regression I introduced in #507.

v0.46.0

08 Sep 02:24
2fe0cd2

Choose a tag to compare

fix: add-digests didn't have the state dir populated (#508)

This resulted in `${root}` being evaluated to the empty string. I'm not
sure why this didn't cause many more problems, but it only seemed to
manifest in a couple of packages.

v0.45.2

03 Sep 22:29

Choose a tag to compare

Revert "Fix self-update for NFS (#489)"

This reverts commit 8dffc1031223ecf8fa84cd577d48e15b1784d16a.

This change breaks builds on Docker with:

```
 > [stage-0 7/8] RUN --mount=type=ssh /env/bin/hermit update:
4.776 fatal:hermit: rename /root/.cache/hermit/pkg/hermit@square /root/.cache/hermit/pkg/[email protected]: invalid cross-device link
```

We'll have to come up with a different solution for NFS.

v0.45.1

02 Sep 00:47
6e839b3

Choose a tag to compare

fix: valid but empty variables in manifests were resulting in errors …

v0.45.0

29 Aug 01:42
74c25b2

Choose a tag to compare

What's Changed

  • fix: use HERMIT_GITHUB_TOKEN for git operations during exec by @steved in #498
  • chore(deps): update actions/checkout digest to 09d2aca by @renovate[bot] in #487
  • chore(deps): update all non-major dependencies by @renovate[bot] in #497
  • chore(deps): update ncipollo/release-action digest to bcfe547 by @renovate[bot] in #493
  • chore(deps): update actions/checkout action to v5 by @renovate[bot] in #504
  • feat: add a hermit bundle <dir> [<pkg> ...] command by @alecthomas in #505
  • fix: improve error when version fails to expand by @nickajacks1 in #485
  • chore(deps): update actions/checkout digest to ff7abcd by @renovate[bot] in #499

New Contributors

Full Changelog: v0.44.12...v0.45.0

v0.44.12

15 Jul 05:35
3b29260

Choose a tag to compare

fix: Ensure ManageGit defaults to true (#496)

This change sets the default for ManageGit to true (as a starting point) and switches
the command line parsing to use a pointer to allow us to distinguish
between "true", "false" and "not set".

v0.44.11

10 Jul 00:53
a803852

Choose a tag to compare

chore: allow --git and --no-git (#495)

Previously it had to be `--no-git=false` which was really confusing.

---------

Co-authored-by: Sutina Wipawiwat <[email protected]>

v0.44.10

26 Jun 01:24
8dffc10

Choose a tag to compare

Fix self-update for NFS (#489)

When running hermit on an NFS mounted environment, it fails to update
itself. This is due to NFS keeping a file busy while a binary on a
certain folder is executing. Reference similar issue:
https://community.unix.com/t/unix-rm-rf-error-rm-cannot-remove-filename-device-or-resource-busy/288520/7


Solution: 
- If self-updating hermit, instead of removing all files, rename folder
to allow for new installation to happen. This ensures we don't have
issues on NFS-like file systems.


Run of sanity/run.sh showing error:
```
file:///home/gerardc_squareup_com/projects/hermit/it/sanity/release/canary
~/projects/hermit/it/sanity/testenv ~/projects/hermit/it/sanity
info: Creating new Hermit environment in /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv
info:   -> /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv/bin/activate-hermit.fish
info:   -> /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv/bin/hermit
info:   -> /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv/bin/README.hermit.md
info:   -> /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv/bin/activate-hermit
info:   -> /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv/bin/hermit.hcl
info:

Hermit environment initialised in /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv

To activate the environment run:

  . /home/gerardc_squareup_com/projects/hermit/it/sanity/testenv/bin/activate-hermit

Then run the following to list available commands:

  hermit --help

To deactivate the environment run:

  deactivate-hermit

For more information please refer to https://github.com/cashapp/hermit

Bootstrapping /home/gerardc_squareup_com/projects/hermit/it/sanity/state/pkg/hermit@canary/hermit from file:///home/gerardc_squareup_com/projects/hermit/it/sanity/release/canary
Creating /home/gerardc_squareup_com/projects/hermit/it/sanity/state/pkg/hermit@canary
Downloading file:///home/gerardc_squareup_com/projects/hermit/it/sanity/release/canary/hermit-linux-amd64.gz to /home/gerardc_squareup_com/projects/hermit/it/sanity/state/pkg/hermit@canary/hermit
Hermit installed as /home/gerardc_squareup_com/projects/hermit/it/sanity/state/pkg/hermit@canary/hermit
Hermit is installed as /home/gerardc_squareup_com/projects/hermit/it/sanity/userbin/hermit

See https://cashapp.github.io/hermit/usage/get-started/ for more information.

info:hermit@canary: Fetching a new version for hermit@canary
█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1/1    100.0%

fatal:hermit: unlinkat /home/gerardc_squareup_com/projects/hermit/it/sanity/state/pkg/hermit@canary: directory not empty
~/projects/hermit/it/sanity
```