Jiahao XU
1dbd2460a3
Support private github repository ( #1690 )
...
* Refactor: Create new crate binstalk-git-repo-api
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix CI lint warnings
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `just check`: Rm deleted features from `cargo-hack` check
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Extract new mod error
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Ret artifact url in `has_release_artifact`
So that we can use it to download from private repositories.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Move `test_graph_ql_error_type` to mod `error`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix running `cargo test` in `binstalk-git-repo-api``
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Remove unnecessary import in mod `error::test`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Rename mod `request`` to `release_artifacts`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Impl draft version of fetching repo info
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Move `HasReleaseArtifacts` failure variants into `GhApiError`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Use `GhRepo` in `GhRelease`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix testing
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Return `'static` future
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Make sure `'static` Future is returned
To make it easier to create generic function
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add logging to unit testing
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix unit testing
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Extract new fn `GhApiClient::do_fetch`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Rm unused `percent_encode_http_url_path`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `cargo test` run on CI
`cargo test` run all tests in one process.
As such, `set_global_default` would fail on the second call.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Optimize `GhApiClient::do_fetch`: Avoid unnecessary restful API call
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Rm param `auth_token` for restful API fn
which is always set to `None`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Impl new API `GhApiClient::get_repo_info`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix unit test for `GhApiClient::get_repo_info`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor testing: Parameter-ize testing
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Parallelise `test_get_repo_info`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Create parameter-ised `test_has_release_artifact`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Parallelize `test_has_release_artifact`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: `gh_api_client::test::create_client` shall not be `async`
as there is no `.await` in it.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Return `Url` in `GhApiClient::has_release_artifact`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Impl new API `GhApiClient::download_artifact`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Remove unused deps added to binstalk-git-repo-api
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix clippy lints
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add new API `GhApiClient::remote_client`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add `GhApiClient::has_gh_token`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add `GhRepo::try_extract_from_url`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Rename `ReleaseArtifactUrl` to `GhReleaseArtifactUrl`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add new fn `Download::with_data_verifier`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* feature: Support private repository
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix clippy lints
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add e2e-test/private-github-repo
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix clippy lints
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `launch_baseline_find_tasks`: Retry on rate limit
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix test failure: Retry on rate limit
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Temporarily enable debug output for e2e-test-private-github-repo
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix `get_repo_info`: Retry on rate limit
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Improve `debug!` logging
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add more debug logging
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add more debugging
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add more debug logging
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Apply suggestions from code review
* Fix compilation
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix cargo fmt
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add crate binstalk-git-repo-api to release-pr.yml
* Update crates/binstalk-git-repo-api/Cargo.toml
* Apply suggestions from code review
* Update crates/binstalk/Cargo.toml
---------
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2024-06-10 06:02:12 +00:00
Jiahao XU
9c4e3a6642
Minor refactor for binstalk-downloader
( #1365 )
...
- Mv `resolver.rs` => `remote/resolver.rs`
- Fix clippy warnings in `resolver.rs` on unix
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-17 01:06:15 +00:00
Sculas
6560225c03
fix: use custom DNS resolver ( #1364 )
...
* add DefaultResolver
* style: fmt
* chore: remove unused feature
Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
* chore: remove unused `ipconfig/computer` feature
Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
* chore: update `trust-dns-resolver`
* refactor: apply requested changes
* chore: revert `trust-dns-resolver` upgrade
I mistakenly thought `reqwest` already updated to the newest version, but it hasn't! (no release was made yet)
* refactor: cleanup
---------
Co-authored-by: GNQG <my.t.gnq+dev@gmail.com>
Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-09-16 23:51:07 +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
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
Jiahao XU
3e80b12748
feat: Verify cksum of crate tarball from cargo registry ( #1260 )
...
Fixed #1183
Since the crate tarball could be downloaded from a different set of
servers than where the cargo registry is hosted, verifying the checksum
is necessary to verify its integrity.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-08-09 10:57:47 +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
Jiahao XU
89fa5b1769
Refactor: Extract new crate binstalk-{signal, downloader} ( #518 )
...
* Refactor: Extract new crate binstalk-downloader
* Re-export `PkgFmt` from `binstalk_manifests`
* Update release-pr.yml
* Update dependabot
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-11-11 04:02:54 +00:00