Releases: cashapp/hermit
Releases · cashapp/hermit
v0.41.0
feat: auto version with git tags (#418) This PR adds the ability to get latest version from `git-tags` by giving the remote url tested with awscli.hcl locally. Underneath it runs `git ls-remote`. Authentication depends on running environment's git configuration. Works for private repository too. ```hcl description = "The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services." test = "aws --version" repository = "https://github.com/aws/aws-cli" // ... version "2.0.40" "2.1.26" "2.2.4" "2.4.2" "2.4.4" "2.4.7" "2.5.8" "2.6.4" "2.7.35" "2.13.26" "2.17.51" "2.18.6" { auto-version { git-tags = "[email protected]:aws/aws-cli.git" } } ``` ```console ╰─ go run ./cmd/hermit manifest auto-version awscli.hcl ─╯ info: Auto-versioned /Users/ylai/Development/hermit/awscli.hcl to 2.18.6 info:awscli: Updating 24 checksums... info:awscli: ed83a5f0d0885416d0c1599cc654974de7c96a446f9d7e829ce6cefc2de08b25 https://awscli.amazonaws.com/AWSCLIV2-2.0.40.pkg info:awscli: 77d2a34db00cddc5aa198e6b03312140a7708a4b6000561879c94362c4ab34e2 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.4.4.zip info:awscli: 92601956e6041fa9d7ca5b39cecc40d79073dac7db31e1ce76cb822cbb63eb30 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.6.4.zip info:awscli: 678459c011edd570219895354ac9c9d1ba1faf49bd98cd3948a51cb25bc2e620 https://awscli.amazonaws.com/AWSCLIV2-2.17.51.pkg info:awscli: e27a8f66df1d6cea2672fbcf3856fce598cd780a8d25e4953798713d7da7e5a1 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.40.zip info:awscli: 532b7d04edc94a6d6e5188726f3f519921463c618fc3453d54903f2a40d49987 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.1.26.zip info:awscli: 94b35fdc1e013d07f7797a8ef8fceb399efc7f98d5a091c33f3ba31f7a7e05df https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.2.4.zip info:awscli: 51b5db1fcf49ed674878ac79feceb7bf86a09e2f5d528e043c9bca4ed670dd81 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.5.8.zip info:awscli: 497063433689d2b267046b2a0925c67786226a2c7c1c9682a00aaecae7d491fa https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.13.26.zip info:awscli: c75d1b6d0bec0193fed140736de172faf391a2e36e6da1ecd65ceb940a1a2c09 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.18.6.zip info:awscli: 5d1c6adebe3da7beca37f937b63f942c73d10d03d6aed19934d331555a753bac https://awscli.amazonaws.com/AWSCLIV2-2.13.26.pkg info:awscli: 7de020871379b2c7aa5eca75b76b39a58c649156e55d81fc8abea4c08bc3b11c https://awscli.amazonaws.com/AWSCLIV2-2.1.26.pkg info:awscli: 852e7821d13f98e9633abfdbdfa7b3c7419ee186adf47196a1938dde0fdb3d46 https://awscli.amazonaws.com/AWSCLIV2-2.2.4.pkg info:awscli: bc880d80bdfacd94d1735509fe822b3f17975d1331399ba4dc12548696123e39 https://awscli.amazonaws.com/AWSCLIV2-2.4.2.pkg info:awscli: 7fb4b1928d0b6fbe97c48e7b87787cff2287dad296b6fe0a56eddc6937d70f14 https://awscli.amazonaws.com/AWSCLIV2-2.4.4.pkg info:awscli: 925810ba09815ef53997b901c76bd448c3caa593b5da1ccad79d17946ec94ab4 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.4.7.zip info:awscli: 3673e6491f5f6ce285724197f2903738f7a63d75f968ae23fcb563de9aa95e9b https://awscli.amazonaws.com/AWSCLIV2-2.7.35.pkg info:awscli: a863ece08af5e2b77fe486428985b06c2c64da597fc6202de50fabfb4ceaa5c8 https://awscli.amazonaws.com/AWSCLIV2-2.18.6.pkg info:awscli: 52dd2fd8c2537260c37d348824c96913359bb6927366c96cf948a0bc77e8b86f https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.4.2.zip info:awscli: 5fbb1b718f0bb2ca23e48c76ddd3d02778c91dcc439c79317c95f101b4f629ca https://awscli.amazonaws.com/AWSCLIV2-2.4.7.pkg info:awscli: 7e6e92ed83e9a9ae32313b76baa855b7d30452f8dee6aa6906fac9cae23107d2 https://awscli.amazonaws.com/AWSCLIV2-2.5.8.pkg info:awscli: 0da0d44f6dff4287a702a3a38b7d7613473d51e524f2a47a511cff9f1c6bf34e https://awscli.amazonaws.com/AWSCLIV2-2.6.4.pkg info:awscli: 104579773a39fad7505343ceb5df0e40014994f8f6d8cc1610de00f954121039 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.7.35.zip info:awscli: 507413a75ded890308445aeb8765668c9e34eabafd84af422cff65ced7ef0db1 https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.17.51.zip ```
v0.40.0
chore: bump Go version in go.mod + fix lint issues (#412)
v0.39.3
fix: Increase github version lookup to 200 (#411) In case of updating nodejs/node v17 - the last v17 tag is more than 100 tags behind the latest, causing the existing auto-version logic to fail. We will fix this further by supporting to update auto-version of a specific version (instead of today's logic to go through all the auto-versioned packages).
v0.39.2
fix: sync packages if "hermit install" fails to find a package (#405) This occasionally breaks enabling the hermit IntelliJ plugin that installs dependencies automatically at startup. We also skipt the test if we had synchronized previously if we are forcing a sync. This is needed as "hermit install" does a non forced sync at the beginning, marking source as synced, and this prevents the later forced sync from running when the package is not found. Fixes https://github.com/cashapp/hermit/issues/363
v0.39.1
fix: log source url on http download failure (#400) context: when hitting a download error the log only has the url in hermit manifest but not the one from the source. we are trying to figure out why hermit is getting 429 which does seem to come from github straight instead of the internal source url.
v0.39.0
feat: support extending a parent environment (#398) Adds a new environment configuration to bin/hermit.hcl ``` inherit-parent = true ``` Setting this inherits the Hermit environment from a parent directory, inheriting environment variables and packages. This should be useful in larger monorepos where we want to have a single root environment with most tooling, but want to still allow subprojects to have their own owerwrites and environment variables. Note, the packages in parent environment won't have access to the child environment even when being called from the child environment. This means that any package calling another package in the parent environment will still call the parent package even if that is overwritten in the child environment. Though this can be potentially confusing, it should give more consistent behaviour between parent and child environments. Also, package dependencies can not cross environments. So, it is not possible to have a package dependency from a child environment package to a parent environment package. Finally, for the time being, all hermit operations apply only to the currently active environment. So, it is not possible to upgrade, install, or uninstall parent packages from the child environment
v0.38.2
fix: clear binaries dir before relink and make sure link paths are th…
v0.38.1
fix: double-checked locking fail (#392) We use double-checked locking to avoid locks on the fast-path, but I modified the behaviour in #390 to cache the result before the lock, removing the second check. Face palm. This fixes #391
v0.38.0
fix: buggy lock-free fast-path check (#390) The fast-path check to short-circuit locking was buggy becaues it was statting the `Package.Binaries` slice without glob expansion. That is, it ended up statting globs like `bin/*`, resulting in frequent unnecessary locking.
v0.37.0
fix: bug with new shell-hooks script fragment ``` /Users/alec/.zshrc:209: command not found: shell-hooks ``` This is because bash sucks, basically.