Jiahao XU
f31db762b4
dep: Bump gix from v0.52.0 => v0.53.1 ( #1354 )
...
* dep: Bump gix from v0.52.0 => v0.53.1
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `gix` compilation: Enable `gix/max-performance-safe`
without this feature, `ThreadSafeRepository` does not implement `Sync`,
causes the `binstalk-registry` compilation to fail.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Enable `gix/comfort` for progress tracing
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fixed gix progress tracking: Enable `gix/progress-tree`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Rm feature `gix/{comfort, progress-tree}`
Since they do not enable progress support and merely adds bloat.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix gix progress logging: Allow logging from simple-git
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Re-enable feature `gix/comfort` for more readable logging
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
---------
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-14 13:31:00 +00:00
dependabot[bot]
f26ab41961
build(deps): update toml_edit requirement from 0.19.11 to 0.20.0 in /crates/binstalk-registry ( #1356 )
...
build(deps): update toml_edit requirement in /crates/binstalk-registry
Updates the requirements on [toml_edit](https://github.com/toml-rs/toml ) to permit the latest version.
- [Commits](https://github.com/toml-rs/toml/compare/v0.19.11...v0.20.0 )
---
updated-dependencies:
- dependency-name: toml_edit
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 03:07:40 +00:00
dependabot[bot]
cdb864fcb5
build(deps): update toml_edit requirement from 0.19.10 to 0.20.0 in /crates/binstalk-manifests ( #1355 )
...
build(deps): update toml_edit requirement in /crates/binstalk-manifests
Updates the requirements on [toml_edit](https://github.com/toml-rs/toml ) to permit the latest version.
- [Commits](https://github.com/toml-rs/toml/compare/v0.19.10...v0.20.0 )
---
updated-dependencies:
- dependency-name: toml_edit
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 03:07:36 +00:00
dependabot[bot]
c6c36316fd
build(deps): update file-format requirement from 0.19.0 to 0.20.0 in /crates/bin ( #1349 )
...
build(deps): update file-format requirement in /crates/bin
Updates the requirements on [file-format](https://github.com/mmalecot/file-format ) to permit the latest version.
- [Release notes](https://github.com/mmalecot/file-format/releases )
- [Changelog](https://github.com/mmalecot/file-format/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mmalecot/file-format/compare/v0.19.0...v0.20.0 )
---
updated-dependencies:
- dependency-name: file-format
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-08 04:08:18 +00:00
Jiahao XU
76a692224d
Fix detect-targets
on Linux and add CI testing ( #1344 )
...
* Testing: Add `detect-targets/src/main.rs`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `detect-targets` linux: `guess_host_triple` could return wrong libc info
so it has to check it manually instead of simply providing alternatives
like other OSes.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `get_ld_flavor` for Alpine's gcompat glibc
Its output is different from regular glibc, so we need to hardcode that
particular cases.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix detection of alpine specific musl target
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add ci testing for Alpine
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add CI test for detect-targets on ubuntu
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor `get_ld_flavor`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix shellcheck
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add more CI test for ubuntu
and fixed typo in it
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Rm distro specific target as it breaks `cargo-install` fallback
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Make sure all binaries are built in CI
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add `package.metadata.binstall` for `detect-targets`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix justfile
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `detect-targets-{alpine, ubuntu}-test`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `detect-targets-ubuntu-test`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `debug-targets-ubuntu-test`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* `set -exuo pipefail` in `detect-targets-ubuntu-test`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Simplify `detect-targets-*-test`: Use `Swatinem/rust-cache@v2` directly
instead of using `just-setup`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Rm dup steps in `detect-targets-ubuntu-test`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add `ls` to detect-targets-alpine-test for debugging
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* FIx `detect-targets-alpine-test`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `get_ld_flavor`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `linux::detect_targets` on ubuntu & glibc system
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* FIx `linux::detect_targets` glibc checking
Check dynlib suffix
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
---------
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-06 14:17:43 +00:00
Jiahao XU
0fa315758b
feat detect-targets
: Improve support of non-std glibc/musl ( #1343 )
...
* feat `detect-targets`: Improve support of non-std glibc/musl
Fixed #1329
- Refactor: Create `linux::detect_alternative_targets` to reuse code
from other targets
- Run `/lib/ld-linux-{cpu_arch}.so.1 --version` for checking glibc
support instead of running `ldd --version` since it could be non-std
glibc installation and does not provide
`/lib/ld-linux-{cpu_arch}.so.1`
- Check for non-std glibc and add fallback target
`{cpu_arch}-{distro_name}-linux-gnu{abi}`
- Add `{cpu_arch}-{distro_name}-linux-musl{abi}` fallback for musl
libc, specially for Alpine since it has a
`/lib/ld-musl-{cpu_arch}.so.1`
- For unknown libc flavor, check for the target provided before
fallback to musl
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* feat `detect-targets`: Support glibc on musl target
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* feat `detect-targets`: Unify `Libc::{Gnu, Musl}` checks
since we can't really tell if we are on gnu or musl
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
---------
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-02 23:19:34 +00:00
Jiahao XU
3e67e3624a
feat: Add more logging to binstalk-{downloader, registry}
( #1340 )
...
for debugging purposes.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-02 09:38:27 +00:00
Jiahao XU
3c5641610a
feat: Improve resolution logging and verbose logging ( #1341 )
...
* feat: Improve resolution logging
Fixed #1336
Log target of the pre-built binaries which will be installed.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix args parsing: `quiet` & `verbose` cannot be set at the same time
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* feat: Implies `--log-level debug` if `--verbose` is set
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
---------
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-02 09:38:24 +00:00
Jiahao XU
b4b85c6314
Fixed binstalk-downloader docs.rs build ( #1334 )
...
Feature git is removed from binstalk-downloader, however we still enable it on docs.rs build.
2023-09-01 01:18:52 +00:00
Jiahao XU
8a08cdda6f
Fix GitHub token auto discovery ( #1335 )
...
* Fix GitHub token auto discovery
Fixed #1333
- Rm dep `gh-token` since it is broken and we can simply run
`gh auth token` in `cargo-binstall` instead.
- binstalk-downloader: Make sure GitHub token is at least 40B long
and other than the `_`, composes of only alphanumeric characters.
- Warn on failure to read `git/credential` files
- Optimize `try_from_home` to avoid heap allocation of `PathBuf`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix typo and clippy
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Simplify `is_valid_gh_token` & `is_ascii_alphanumeric` impl
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Improve err msg in `get_inner`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Improve err msg of `cargo_binstall::gh_token::get`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
---------
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-01 01:14:59 +00:00
xd009642
0ca38ab0e3
Fix binstalk-downloader test: duplicated gnu cargo audit ( #1337 )
...
Fix duplicated gnu cargo audit
The gnu cargo audit release was duplicated instead of the gnu and musl
releases both being represented.
2023-08-31 21:40:33 +00:00
github-actions[bot]
d2c3377388
release: cargo-binstall v1.3.0 ( #1326 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-25 10:52:36 +00:00
Jiahao XU
e5567ae526
Fix clippy lint and format ( #1328 )
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-25 08:53:50 +00:00
github-actions[bot]
d768b8c029
release: binstalk v0.16.0 ( #1324 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-24 12:51:55 +00:00
github-actions[bot]
52b81aad2b
release: binstalk-fetchers v0.1.0 ( #1322 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-24 10:24:07 +00:00
github-actions[bot]
0d90f515c1
release: binstalk-registry v0.1.0 ( #1321 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-24 09:26:49 +00:00
github-actions[bot]
8a9fbfa502
release: binstalk-bins v0.1.0 ( #1319 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-24 07:57:10 +00:00
github-actions[bot]
187a016468
release: binstalk-manifests v0.8.1 ( #1317 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-24 05:30:01 +00:00
github-actions[bot]
a440b0e4a2
release: simple-git v0.1.0 ( #1318 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-24 05:29:13 +00:00
github-actions[bot]
94ac906caa
release: binstalk-downloader v0.7.1 ( #1320 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-24 05:28:59 +00:00
Jiahao XU
a28b1a8092
dep: Rm unused dep generic-array
in binstalk-downloader
( #1312 )
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-24 01:21:14 +00:00
Jiahao XU
6cc22b2c51
binstalk-fetchers: Add feature quickinstall ( #1315 )
...
Also fixed `package.metadata.docs.rs` for `binstalk-registry`.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-24 00:05:27 +00:00
Jiahao XU
cb9cb0e937
Fix binstalk_downloader::Download
for data-verifier ( #1313 )
...
To make sure the `data_verifier` consumes the entire file and produces
the correct checksum.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-24 00:04:57 +00:00
Jiahao XU
b9adaa006f
binstalk-registry: Use crates.io sparse index by default ( #1314 )
...
Fixed #1310
Also add rename `fetch_crate_cratesio` => `fetch_crate_cratesio_api` and
put it behind a new feature `crates_io_api`.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-24 00:04:06 +00:00
Jiahao XU
c99b83b720
dep: Bump reqwest to v0.11.19 ( #1308 )
...
Fixed #1292
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-22 13:45:37 +00:00
Jiahao XU
e1f2c4e41f
dep: Bump gix to v0.52.0
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-22 22:01:37 +10:00
dependabot[bot]
c19ee50130
build(deps): update file-format requirement from 0.18.0 to 0.19.0 in /crates/bin ( #1307 )
...
build(deps): update file-format requirement in /crates/bin
Updates the requirements on [file-format](https://github.com/mmalecot/file-format ) to permit the latest version.
- [Release notes](https://github.com/mmalecot/file-format/releases )
- [Changelog](https://github.com/mmalecot/file-format/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mmalecot/file-format/compare/v0.18.0...v0.19.0 )
---
updated-dependencies:
- dependency-name: file-format
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 13:10:20 +00:00
github-actions[bot]
382b32a380
release: cargo-toml-workspace v1.0.0 ( #1306 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-19 04:51:04 +00:00
github-actions[bot]
251434408a
release: atomic-file-install v1.0.0 ( #1305 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-19 04:50:39 +00:00
Jiahao XU
dc77a1ab93
Refactor: Extract new crate simple-git
( #1304 )
...
`binstalk-downloader` contains stuff about http(s) before the
git code is moved into it and now it becomes http and git.
While git indeed uses http stuff, which is why I decided to put
it into binstalk-downloader, it is more than just downloading
since it is stateful (can be cached locally and updated)
where as http is stateless.
Also `binstalk-downloader`'s codegen time now increases
dramatically and it also creates extra dependencies for
binstalk-fetchers, delaying its execution.
The git code also don't use anything from `binstalk-downloader`
at all, it makes sense to be an independent crate.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-19 01:08:55 +00:00
Jiahao XU
43973d7e86
Refactor cargo-binstall
( #1302 )
...
- Move implementation of `main` into the library part of
`cargo-binstall` to speedup codegen.
- Move `manifests.rs` into `binstalk-manifests`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-18 01:59:48 +00:00
dependabot[bot]
4e73d0095f
build(deps): update windows requirement from 0.48.0 to 0.51.0 in /crates/atomic-file-install ( #1301 )
...
build(deps): update windows requirement in /crates/atomic-file-install
Updates the requirements on [windows](https://github.com/microsoft/windows-rs ) to permit the latest version.
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/compare/windows-targets-0.48.1...0.51.0 )
---
updated-dependencies:
- dependency-name: windows
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-17 12:46:57 +00:00
Jiahao XU
0f7828569a
Add error
logging if achieve doesn't contain bin required ( #1298 )
...
* Add `error` logging if achieve doesn't contain bin required
So that users know that this is an upstream issue and will report to
upstream.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Update crates/binstalk/src/ops/resolve.rs
---------
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-16 23:13:21 +00:00
Jiahao XU
146d3f8f43
Fix binstalk-downloader
feature activation ( #1297 )
...
Fix use of `native-tls` and `git`, make sure that `gix` actually uses
`native-tls` in this scenario.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-16 22:34:03 +00:00
Jiahao XU
f0f0c2bd14
binstalk-registry
: Rm rate-limit for crates.io registry (#1299 )
...
Fixed #1295
The 1 request per second rate-limit is too strict and it makes
`cargo-binstall` very slow when resolving many crates in parallel.
Relying on the rate-limit in `binstalk_downloader::remote::Client`
should be good enough.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-16 21:18:41 +00:00
Jiahao XU
2215682e76
Update CI & dependabot: Add new crates ( #1296 )
...
and also add missing `crates/binstalk-bins/LICENSE`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-16 21:16:05 +00:00
Jiahao XU
0c5a65fb35
Refactor: Extract new crate binstalk-bins
( #1294 )
...
To reduce `binstalk` codegen and enable reuse of it.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-15 21:48:42 +00:00
Jiahao XU
76c72469eb
Refactor: Extract new crate binstalk-fetchers
( #1291 )
...
To reduce `binstalk` codegen and enable better reuse.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-14 03:20:34 +00:00
Jiahao XU
623f7ff4ed
Refactor: Extract new crate binstalk-registry
( #1289 )
...
To speedup codegen of `binstalk` and enable it to be reused.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-13 07:16:53 +00:00
Jiahao XU
6c801a97ae
Fix panic in atomic-file-install
( #1290 )
...
Do not panic if path does not have a parent, instead return an error.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-13 07:14:46 +00:00
Jiahao XU
2375ba48b6
Refactor to reduce compilation time ( #1284 )
...
- Make `binstalk::bins` private.
- Move mod `signal` into `crates/bin`
- Make items in `crates/bin/src/lib.rs` private if possible to reduce
its API generation time.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-12 14:25:41 +00:00
Jiahao XU
fbed317df5
feat: git::Repository
cancellation support ( #1288 )
...
feat: `git::Repository` support cancellation.
To make sure users can cancel git operation via signal, e.g. when the
git operation fail or users no longer want to install.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-12 14:18:02 +00:00
Jiahao XU
ef99dd795f
Refactor: Extract mod fs
as crate atomic-file-install
( #1286 )
...
Refactor: Extract mod `fs` as crate `atomic-install`
To speedup codegen of `binstalk` and also publish a new crate that could
be reused.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-12 13:24:26 +00:00
Jiahao XU
8ff13c1b36
Refactor: Extract cargo_toml_workspace
as a new crate ( #1287 )
...
To reduce codegen time of `binstalk` and also enable others to reuse
this crate.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-12 12:05:10 +00:00
Jiahao XU
c57356e870
Refactor: Move mod git
into binstalk-downloader
( #1285 )
...
To speedup codegen time for `binstalk`, also fixed the docs.rs build for
`binstalk-downloader`.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-12 07:20:26 +00:00
github-actions[bot]
6a1d317fde
release: cargo-binstall v1.2.1 ( #1282 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-11 06:44:15 +00:00
github-actions[bot]
9e901c6b84
release: detect-targets v0.1.10 ( #1280 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-11 02:22:13 +00:00
Jiahao XU
a84844938d
Fix aarch64-apple-darwin
fallback to x86_64h
( #1278 )
...
Run `arch -arch x86_64h /usr/bin/true` to decides whether fallback
is feasible.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-11 01:02:03 +00:00
github-actions[bot]
ea1a34b4a1
release: cargo-binstall v1.2.0 ( #1275 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-10 11:33:39 +00:00
github-actions[bot]
cf3e3c25b0
release: binstalk v0.15.0 ( #1274 )
...
chore: Release
Co-authored-by: github-actions <github-actions@github.com>
2023-08-10 07:54:29 +00:00