Commit graph

622 commits

Author SHA1 Message Date
dependabot[bot]
3e830c9fad
Bump serde from 1.0.155 to 1.0.156 (#912)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.155 to 1.0.156.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.155...v1.0.156)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 15:56:30 +11:00
dependabot[bot]
ca7b489663
Bump miette from 5.5.0 to 5.6.0 (#913)
Bumps [miette](https://github.com/zkat/miette) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/zkat/miette/releases)
- [Changelog](https://github.com/zkat/miette/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zkat/miette/compare/miette-derive-v5.5.0...miette-derive-v5.6.0)

---
updated-dependencies:
- dependency-name: miette
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 15:56:07 +11:00
github-actions[bot]
c04b15dbc8
release: cargo-binstall v0.21.3 (#910)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-14 19:30:56 +11:00
github-actions[bot]
63443e88b1
release: binstalk v0.10.0 (#909)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-14 18:31:20 +11:00
Jiahao XU
d118fa8fdb
Obey crates.io crawler policy: Only make one request per sec (#908)
Fixed https://github.com/taiki-e/install-action/issues/89

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-14 17:11:22 +11:00
dependabot[bot]
f37796a55f
Bump toml_edit from 0.19.5 to 0.19.6 (#906) 2023-03-14 02:38:54 +00:00
dependabot[bot]
6df38f1f11
Bump windows from 0.44.0 to 0.46.0 (#905) 2023-03-14 02:32:36 +00:00
github-actions[bot]
9e3223acf8
release: cargo-binstall v0.21.2 (#904)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-14 00:14:19 +11:00
github-actions[bot]
57182fae70
release: binstalk v0.9.1 (#903)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-13 23:01:05 +11:00
github-actions[bot]
5e4e047493
release: binstalk-downloader v0.4.1 (#902)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-13 10:41:06 +00:00
Jiahao XU
89a47cbec9
Fix extract_tar_based_stream: Normalize path before adding them to ExtractedFiles (#901)
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-13 21:27:50 +11:00
github-actions[bot]
5f1d5ce559
release: cargo-binstall v0.21.1 (#899)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-13 15:11:10 +11:00
Félix Saparelli
b29234c93b
Clarify git credential code and fix infinite loop bug (#898)
Fixes #897
2023-03-13 14:40:36 +11:00
dependabot[bot]
fce7141bec
Bump semver from 1.0.16 to 1.0.17 (#895) 2023-03-13 03:13:07 +00:00
dependabot[bot]
f6056c8904
Bump toml_edit from 0.19.4 to 0.19.5 (#896) 2023-03-13 02:55:32 +00:00
dependabot[bot]
45952446d6
Bump serde from 1.0.154 to 1.0.155 (#894) 2023-03-13 02:40:10 +00:00
github-actions[bot]
ba9fa170c0
release: cargo-binstall v0.21.0 (#893)
Co-authored-by: github-actions <github-actions@github.com>
2023-03-13 12:29:51 +13:00
github-actions[bot]
a7d8574c4a
release: binstalk v0.9.0 (#892)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-12 22:52:43 +11:00
github-actions[bot]
bb272347da
release: binstalk-downloader v0.4.0 (#891)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-12 22:14:18 +11:00
github-actions[bot]
c188f85ec9
release: binstalk-manifests v0.4.0 (#888)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-12 20:42:10 +11:00
github-actions[bot]
5b92b43a87
release: detect-targets v0.1.6 (#889)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-12 20:15:31 +11:00
github-actions[bot]
45045041a4
release: binstalk-types v0.3.0 (#887)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-03-12 08:18:34 +00:00
Jiahao XU
00b8a417e6
Update doc for --github-token (#886) 2023-03-11 23:46:14 +11:00
Jiahao XU
3e0d7363a5
Read from env GH_TOKEN for github_token as a fallback (#883)
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-11 18:10:40 +11:00
Félix Saparelli
ff5276f4f4
Squash lint warning on windows (#881)
Squash warning on windows
2023-03-11 19:17:50 +13:00
Jiahao XU
c5d0b84aa6
Perform startup/init code eagerly in entry::install_crates (#880)
The startup/init code in `entry::install_crates` performs a lot of blocking operations, from testing if dir exists to reading from files and there is no `.await` in there until after the startup.

There are also a few cases where `block_in_place` should be called (e.g. loading manifests, loading TLS certificates) but is missing.

Most of the `Args` passed to `entry::install_crates` are actually consumed before the first `.await` point, so performing startup/init code eagerly would make the generated future much smaller, reduce codegen and also makes it easier to optimize.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-11 15:06:46 +11:00
Jiahao XU
a22cb3a332
Fix x86_64 fallback for aarch64 MacOS (#875) 2023-03-10 22:09:16 +11:00
dependabot[bot]
cfbdf1181f
Bump serde from 1.0.153 to 1.0.154 (#874) 2023-03-09 02:35:50 +00:00
dependabot[bot]
f5c30c2f8c
Bump serde from 1.0.152 to 1.0.153 (#873) 2023-03-08 02:37:38 +00:00
Jiahao XU
ecd599bfa8
Verify syntax of the github token provided in GhApiClient::new (#870)
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-07 18:48:01 +11:00
dependabot[bot]
174b6c8144
Bump file-format from 0.14.0 to 0.15.0 (#872) 2023-03-07 02:44:31 +00:00
Jiahao XU
72789874f0
Use Quickinstall new release schema (#867)
- Refactor: Extract new fn `binstalk::helpers::remote::does_url_exist`
 - Use new quickinstall release schema in `binstalk::fetchers::QuickInstall`
 - Optimize `fetchers::QuickInstall`: Generate url once in `Fetcher::new`
    Avoid repeated string allocation plus `Url` parsing.
    This also makes changing package_url and stats_url easier.
 - Optimize `QuickInstall::report`: Use HEAD instead of GET

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-06 08:13:08 +00:00
Jiahao XU
01c8ecb778
Fix zip extraction and bins::infer_bin_dir_template (#869)
- Fix zip extraction code: Ensure dir is rwx and file is readable for curr user
 - Add more integration test for `ExtractedFiles`
 - Fix `bins::infer_bin_dir_template` introduced in #856

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-06 17:54:31 +11:00
dependabot[bot]
460522f5bd
Bump thiserror from 1.0.38 to 1.0.39 (#865) 2023-03-06 03:45:37 +00:00
dependabot[bot]
eff8a50d13
Bump command-group from 2.0.1 to 2.1.0 (#864) 2023-03-06 03:36:02 +00:00
dependabot[bot]
a6a42f30af
Bump async-trait from 0.1.64 to 0.1.66 (#866) 2023-03-06 03:16:31 +00:00
dependabot[bot]
7f00d803f7
Bump gh-token from 0.1.0 to 0.1.1 (#863) 2023-03-06 03:14:41 +00:00
dependabot[bot]
1f18deb142
Bump serde_json from 1.0.93 to 1.0.94 (#862)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 14:01:17 +11:00
Félix Saparelli
ee909e4045
Rename --roots to --root (with alias for back compat) (#861)
Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-06 01:05:32 +00:00
Jiahao XU
44e81c7e1a
Fix: Pass value of --roots to cargo-install as --root (#860)
Pass value of `--roots` to `cargo-install` as `--root`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-06 11:52:28 +11:00
Jiahao XU
9c7da6a179
Return a list of files written to disk in binstalk_downloader::download::Download::and_extract (#856)
to avoid collecting extracted files from disk again in resolution stage.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-03 23:31:27 +11:00
Jiahao XU
44ac63ce0d
Extract GitHub token from file if --github-token or env variable GITHUB_TOKEN is not present (#849)
- Add option `--no-discover-github-token` for disabling this behavior
 - Add new dep gh-token v0.1.0 to crates/bin
 - Extract github-token from git-credentials or gh config if `--github-token` or
    environment variable `GITHUB_TOKEN` is not present.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-03 17:32:50 +13:00
Jiahao XU
75289cc2b4
Only use GET in remote::Client::remote_gettable (#847)
Fixed #835

Using `HEAD` for this would often cause false negative that requires the `Client` to fallback to `GET`, which creates a lot of requests even if the url doesn't exist and then get cargo-binstall rate limited by GitHub/GitLab/etc.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-03 13:29:58 +11:00
Jiahao XU
8eee318ccd
Replace dep crates_io_api with in-house solution (#846)
It also uses `max_stable_version` in the json downloaded from https://crates.io/api/v1/crates/$name if possible, which is equivalent to the version shown on https://crates.io/crates/$name .

 - Add new feat `json` to `binstalk-downloader`
 - Impl new async fn `Response::json`
 - use `Response::json` in `GhApiClient` impl
 - Mark all err types in binstalk-downloader as `non_exhaustive`
 - Ret `remote::Error` in `remote::Certificate::{from_pem, from_der}` instead of `ReqwestError`.
 - Refactor `BinstallError`: Merge variant `Unzip`, `Reqwest` & `Http`
    into one variant `Download`.
 - Manually download and parse json from httos://crates.io/api/v1
 - Remove unused deps `crates_io_api`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-02 18:25:34 +11:00
dependabot[bot]
c00d648dac
Bump jobslot from 0.2.9 to 0.2.10 (#844) 2023-03-02 05:19:38 +00:00
dependabot[bot]
fcbdfcf04f
Bump tokio from 1.25.0 to 1.26.0 (#843) 2023-03-02 03:02:43 +00:00
Jiahao XU
599bcaf333
Impl GhApiClient and use it in cargo-binstall to speedup resolution process (#832)
Fixed #776

 - Add new feature gh-api-client to binstalk-downloader
 - Impl new type `binstalk_downloader::remote::{RequestBuilder, Response}`
 - Impl `binstalk_downloader::gh_api_client::GhApiClient`, exposed if `cfg(feature = "gh-api-client")` and add e2e and unit tests for it
 - Use `binstalk_downloader::gh_api_client::GhApiClient` to speedup `cargo-binstall`
 - Add new option `--github-token` to supply the token for GitHub restful API, or read from env variable `GITHUB_TOKEN` if not present.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-02 12:04:22 +11:00
dependabot[bot]
263c836757
Bump clap from 4.1.7 to 4.1.8 (#840) 2023-03-01 02:35:26 +00:00
dependabot[bot]
5b70e41966
Bump clap from 4.1.6 to 4.1.7 (#837) 2023-02-28 04:35:43 +00:00
dependabot[bot]
e13354e8fa
Bump tempfile from 3.3.0 to 3.4.0 (#834) 2023-02-27 03:35:21 +00:00