Commit graph

345 commits

Author SHA1 Message Date
Jiahao XU
d038e77978
Fix typo in step "Test installing bins"
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 17:02:18 +10:00
Jiahao XU
53c9d667ce
Enable caching on macos as issue has been fixed
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:55:21 +10:00
Jiahao XU
665564420a
Add more bins to test in job "Test installing bins"
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:54:55 +10:00
Jiahao XU
4ff64dee34
Fix caching: Only cache .cargo/{git, registry}
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:53:34 +10:00
Jiahao XU
d4495cc3bb
Merge job test into job build to speedup workflow
so that testing does not have to wait for all build jobs with different
configurations to finish before starting.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:52:24 +10:00
Jiahao XU
3e5c7ec43f
Add back testing of --manifest-path in workflow rust
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:49:09 +10:00
Jiahao XU
b0598a1fad
Update workflow rust: Test find_crate_cratesio
by removing `--manifest-path`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:38:45 +10:00
Jiahao XU
62be22256b
Refactor: Extract download_and_extract_with_filter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:37:48 +10:00
Jiahao XU
1d139324c7
Rewrite untar: Takes a filter fn instead of array
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:35:51 +10:00
Jiahao XU
a681f3a156
Add debug! logging to untar
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 16:18:01 +10:00
Jiahao XU
fb5f61559b
Fix use of download_and_extract in find_crate_cratesio
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 15:50:56 +10:00
Jiahao XU
d2e688c4c2
Fix untar when desired_outputs is not None
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-10 15:49:54 +10:00
Félix Saparelli
29b28a4f8f
Merge pull request #168 from NobodyXu/feature/avoid-oom 2022-06-10 01:55:22 +12:00
Jiahao XU
cadf045d0a
Refactor: Abstract away AsyncExtracter by new fn
`extract_archive_stream`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 22:29:33 +10:00
Jiahao XU
00242a40c6
Update doc for AsyncExtracter::new
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 22:22:39 +10:00
Jiahao XU
8a812c8d22
Rename AsyncExtracter::write to feed
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 22:09:46 +10:00
Jiahao XU
432376224f
Update doc of AsyncExtracter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 22:09:02 +10:00
Jiahao XU
945687c281
Rename AsyncFileWriter to AsyncExtracter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 22:00:00 +10:00
Jiahao XU
e62775a9ec
Add more doc for AsyncFileWriter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 21:34:07 +10:00
Jiahao XU
5ba8b07bcb
Rm helpers::extract
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 14:52:38 +10:00
Jiahao XU
728d1fd6dd
Rm unused param pkg_path in install_from_package
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 14:47:43 +10:00
Jiahao XU
1879a719e4
Rm fn helpers::download
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 14:47:15 +10:00
Jiahao XU
c9b0d45a24
Use download_and_extract in fetchers
to improve efficiency by avoiding disk io (except for `PkgFmt::Zip`
and `PkgFmt::Bin`) and run the compresser in parallel to the downloader.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 14:46:00 +10:00
Jiahao XU
b6bfd40c3a
Use download_and_extract in fetch_crate_cratesio
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 14:12:44 +10:00
Jiahao XU
72983e4113
Use untar in extract_compressed_from_readable
So that we can specify the files we want to extract to avoid io and save
disk usage.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 13:26:47 +10:00
Jiahao XU
be5e8616a2
Impl new fn helpers::extracter::untar
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 13:15:23 +10:00
Jiahao XU
cc13a23b07
Mark all internal types & fn as pub(crate)
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 12:58:39 +10:00
Félix Saparelli
9ac40bb943
Merge pull request #166 from NobodyXu/optimize/quickinstall-report 2022-06-09 09:38:58 +12:00
Félix Saparelli
d0fed45ab5
Merge pull request #169 from NobodyXu/add-ci 2022-06-09 09:38:22 +12:00
Jiahao XU
951dacd03d
Fix cache key used in workflow "ci"
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 02:00:38 +10:00
Jiahao XU
14823fbae7
Fix test::parse_meta in lib.rs
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:53:24 +10:00
Jiahao XU
c9bd741c9b
Add new workflow ci
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:53:10 +10:00
Jiahao XU
1c40848f51
Rm ci.yml
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:52:30 +10:00
Jiahao XU
4b6b3e667c
Fix syntax err in workflow "ci"
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:48:42 +10:00
Jiahao XU
2ea03f6b29
Add new workflow "ci" to run cargo-test
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:44:31 +10:00
Jiahao XU
441e004ef1
Fix test::parse_meta in lib.rs
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:42:13 +10:00
Jiahao XU
784d1f0bf6
Impl new fn helpers::download_and_extract
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:32:38 +10:00
Jiahao XU
c3b5cb11c2
Support for any PkgFmt in AsyncFileWriter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:20:37 +10:00
Jiahao XU
58c775a648
Rename mod receiver_as_readable to readable_rx
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:02:53 +10:00
Jiahao XU
59544e8b55
Use BinstallError in AsyncFileWriter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-09 01:01:37 +10:00
Jiahao XU
f211788052
Impl ReadableRx in mod receiver_as_readable
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 23:04:14 +10:00
Jiahao XU
6bc04340b6
Impl extract_compressed_from_readable and unzip
in new mod `extracter`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 22:46:20 +10:00
Jiahao XU
894f9b49f9
Simplify AsyncFileWriter::new: Ret Self
instead of `io::Result<Self>`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 22:29:04 +10:00
Jiahao XU
911c52d8e1
Auto remove file in AsyncFileWriter
unless done is called.

Also moves creation of the dir/file into the blocking thread to avoid
blocking.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 22:27:19 +10:00
Jiahao XU
5d70f61317
Refactor: Extract AutoAbortJoinHandle
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 21:46:32 +10:00
Jiahao XU
358bea5c6d
Refactor: Extract AsyncFileWriter
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 21:43:09 +10:00
Jiahao XU
6aced2ca9b
Disable feature "macros" of dep tokio
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 21:38:44 +10:00
Jiahao XU
e584b99240
Simplify AsyncFileWriter::write by closing rx on err
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 21:38:05 +10:00
Jiahao XU
d9bcca8b78
Impl AutoAbortJoinHandle::new & make its field private
plus change all its users to use its new APIs.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:53:49 +10:00
Jiahao XU
f41391a53c
Impl Future for AutoAbortJoinHandle
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-08 20:51:59 +10:00