dimensionhq / fleet Goto Github PK
View Code? Open in Web Editor NEW๐ The blazing fast build tool for Rust.
Home Page: https://fleet.rs
License: Apache License 2.0
๐ The blazing fast build tool for Rust.
Home Page: https://fleet.rs
License: Apache License 2.0
Describe the bug
using fleet to build wezterm on a chromebook
Linux penguin 5.10.114-16023-g49367ce3348c #1 SMP PREEMPT Mon May 30 19:31:09 PDT 2022 aarch64 GNU/Linux
debian 11 bullseye
cargo 1.61.0 (a028ae4 2022-04-29)
rustc 1.61.0 (fe5b13d68 2022-05-18)
To Reproduce
Follow build steps here
https://wezfurlong.org/wezterm/install/source.html
used fleet build -- --release
and fleet build
produced crash files, attached.
Expected behavior
A rust build
The dump files say permission denied
but I can't figure out what file.
Archive.zip
(GitHub doesn't allow .toml uploads)
For what it's worth, cargo build --release
didn't work either. So, I'm just submitting the crash report.
Currently, fleet uses zld
on MacOS and lld
on Linux and Windows. A better alternative on Linux would be mold
as it is even faster than lld
.
Please refer to the mold
's README to get some real benchmarks on the performance difference.
It wouldn't be recommended to use it on Windows as it's support for Windows is still being worked on but we can for sure use it on Linux.
When I try to compile I get it:
error: incorrect value `...` for codegen option `split-debuginfo` - one of supported split-debuginfo modes (`off`, `packed`, or `unpacked`) was expected
Team,
After install and uninstall fleet, I always have the following error no matter what I compile:
error: failed to run rustc
to learn about target-specific information
Caused by:
could not execute process /Users/jianshuzhao/.cargo/bin/sccache rustc - --crate-name ___ --print=file-names --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg
(never executed)
Caused by:
No such file or directory (os error 2)
I believe sccache is not required before. What happened to fleet and what configuration was changed?
This is really confusing and not acceptable.
Thanks,
Jianshu
Describe the bug
Garbled characters on Windows cmd
To Reproduce
Steps to reproduce the behavior:
cargo install --git https://github.com/dimensionhq/fleet fleet-rs
fleet
Expected behavior
no garbled
Screenshots
Desktop (please complete the following information):
Additional context
No additional context
Describe the bug
Installation prompt command exception on Mac, here is the code
Lines 93 to 104 in b4ba23d
To Reproduce
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
The website is unavailable right now.
To Reproduce
Either go to the website ( https://fleet.rs ) or this URL https://www.isitdownrightnow.com/fleet.rs.html
This repo gitignores .cargo/config
- a file that contains general configuration for the project. If you don't gitignore it, you will constantly have changes in the .cargo/config
as it is updating paths to work on that specific machine. Are there anyways to make it so we don't have to gitignore .cargo/config
, but continue to use fleet?
I review the code and found that the origin cargo manifest in {$PWD}/.cargo/config
has been overwritten by fleet.
Describe the solution you'd like
Docs & Additional Configuration Options for fleet.toml
https://reporoster.com/stars/dimensionhq/fleet this link redirects to an expired domain
๐ looks like the fleet.rs domain is gone, see this archive snapshot, https://web.archive.org/web/20230705002130/http://fleet.rs/. Thanks!
Could not resolve host: da5u2zxle12un.cloudfront.net
on a linux server, where I do not have sudo access:
error: linker /usr/bin/clang
not found
|
= note: No such file or directory (os error 2)
error: could not compile rayon-core
due to previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile log
due to previous error
error: could not compile crossbeam-epoch
due to previous error
error: could not compile parking_lot_core
due to previous error
error: could not compile memchr
due to previous error
error: could not compile getrandom
due to previous error
error: could not compile crossbeam-utils
due to previous error
error: could not compile proc-macro-hack
due to previous error
error: could not compile proc-macro2
due to previous error
error: could not compile serde_derive
due to previous error
error: could not compile libc
due to previous error
error: could not compile serde
due to previous error
error: could not compile syn
due to previous error
=> You have not installed lld
. Run sudo apt install lld
.
=> You have not installed clang
. Run sudo apt install clang
.
I do have those 2 installed but is not in /usr/bin:
/usr/local/pace-apps/spack/packages/0.13/linux-rhel7-x86_64/gcc-4.8.5/intel-parallel-studio-cluster.2019.5-rde2uvgb2mq2x6obqaklxppmycfngjgm/compilers_and_libraries_2019.5.281/linux/bin/lld
[jzhao399@atl1-1-03-004-19-l hnswlib-rs]$ which clang
/usr/local/pace-apps/spack/packages/0.13/linux-rhel7-x86_64/gcc-4.8.5/intel-parallel-studio-cluster.2019.5-rde2uvgb2mq2x6obqaklxppmycfngjgm/compilers_and_libraries_2019.5.281/linux/bin/clang
why depend on a system level clang and lld? Think about those who wants to install via conda et.al.
Thanks,
Jianshu
Describe the bug
Fleet runs the apt
command to install clang
and lld
even on Arch Linux which is a non-Debian/Ubuntu based Linux distro. It's offical package manager is called pacman
. Also it is kinda bad practice to call sudo
explicitly by a program.
To Reproduce
curl -L get.fleet.rs | sh
Expected behavior
I think fleet should ask the user to install clang
and lld
by themselves rather doing it by itself.
Desktop
Building the fleet executable through Cargo (in the natural way (eg, git clone; cd fleet; cargo build
)doesn't work.
Even after installing sccache
and lld
, the builds are broken, because your config.toml
expects sccache
at C:\Users\potti\.cargo\bin
.
cargo build
cargo build
error: failed to run `rustc` to learn about target-specific information
Caused by:
could not execute process `C:\Users\potti\.cargo\bin\sccache rustc - --crate-name ___ --print=file-names -Clink-arg=-fuse-ld=lld -Zshare-generics=y --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (never executed)
Caused by:
No such file or directory (os error 2)
this is fixable by simply deleting that line in the config, or by deleting the config entirely.
if you want people to take this project more seriously, I strongly suggest making some kind of basic CI that tests the builds on "bare" ubuntu, alpine, & windows, by following your readme exactly.
you should list your dependencies in the README, too: AFAIK, they're:
cargo install sccache
winget install llvm
sudo apt-get install lld-12
brew install zld
I've tried all the instructions in the Readme but keep getting Command 'fleet' not found, did you mean:
, etc.
What am I doing wrong?
From readme:
We use SemVer for versioning. For the versions available, see the tags on this repository.
There are no tags here.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Nightly is unstable and I don't want to use it for my application.
Describe the solution you'd like
A clear and concise description of what you want to happen.
An option to disable whatever options require nightly rust to be used.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Line 22 in 974d781
This code just updated my nightly rustc, while I already have a nightly rustc at a specific day. Is it possible to reuse the existing nightly rustc if there is one?
name = 'fleet-rs'
operating_system = 'unix:Unknown'
crate_version = '0.0.8'
explanation = '''
Panic occurred in file 'src/../src/core/commands/init.rs' at line 23
'''
cause = 'not yet implemented'
method = 'Panic'
backtrace = '''
0: 0x55d4787f9bfd - core::panicking::panic::h622b2a38bce78ff3
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panicking.rs:115
1: 0x55d4788176c0 - fleet::core::commands::init::run::h6c3a514da57ed34f
2: 0x55d478842212 - fleet::cli::app::App::run::h49ea98f4f0f4c087
3: 0x55d47883ce6e - fleet::main::hc08c6bb3512e5361
4: 0x55d478812253 - std::sys_common::backtrace::__rust_begin_short_backtrace::h595095921f499da2
5: 0x55d47881ae5d - std::rt::lang_start::{{closure}}::h854582fe38983272
6: 0x55d4789dc1bb - core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once::h8cbb48ae40ddb046
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/ops/function.rs:286
- std::panicking::try::do_call::h92db802eb38b49b7
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- std::panicking::try::ha8949d2082cf3644
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- std::panic::catch_unwind::h5e34c1f8a5992ed9
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- std::rt::lang_start_internal::{{closure}}::hea52a0bb3f8ff16a
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/rt.rs:148
- std::panicking::try::do_call::h5bc358faf3d68a8b
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- std::panicking::try::h675304212928379d
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- std::panic::catch_unwind::h7ce3ad349ed5c844
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- std::rt::lang_start_internal::hcd7e45acd25ab5ab
at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/rt.rs:148
7: 0x55d47883d1d5 - main
8: 0x7faee1829d90 -
9: 0x7faee1829e40 - __libc_start_main
10: 0x55d4787f9f75 - _start
11: 0x0 - '''
Describe the solution you'd like
We can use cranelift for dev
builds to speed up builds.
Describe the bug
The website listed on github fleet.rs
has nothing to do with this project.
To Reproduce
Use a secure environment (like a throw away VM) and go to fleet.rs
Expected behavior
Either remove the link to fleet.rs on github, or get the domain (back?).
Describe the bug
I try to run fleet build --release
with my repo and it just prints out this error without any further information.
To Reproduce
Steps to reproduce the behavior:
curl -L get.fleet.rs | sh
on macOS.fleet build --release
Expected behavior
The building should start normally.
Screenshots
As above.
Desktop (please complete the following information):
Describe the bug
The fleet installer panicks when installing the build tool in Windows 11.
To Reproduce
Steps to reproduce the behavior:
In an elevated PowerShell prompt in Windows 11:
# % natalie-perret @ nppc in ~ [15:59:04]
$ $Env:RUST_BACKTRACE='full'
# % natalie-perret @ nppc in ~ [15:59:13]
$ iwr -useb windows.fleet.rs | iex
Installing Fleet
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: NotFound, message: "program not found" }', src\main.rs:29:10
stack backtrace:
0: 0x7ff67776f70f - <unknown>
1: 0x7ff677785c3a - <unknown>
2: 0x7ff67776c089 - <unknown>
3: 0x7ff677771c0b - <unknown>
4: 0x7ff6777717fe - <unknown>
5: 0x7ff677772201 - <unknown>
6: 0x7ff6777720bd - <unknown>
7: 0x7ff6777702c7 - <unknown>
8: 0x7ff677771d99 - <unknown>
9: 0x7ff677798c85 - <unknown>
10: 0x7ff677798d23 - <unknown>
11: 0x7ff67776189c - <unknown>
12: 0x7ff677761b72 - <unknown>
13: 0x7ff677762116 - <unknown>
14: 0x7ff677761c1c - <unknown>
15: 0x7ff677768aa9 - <unknown>
16: 0x7ff677761c07 - <unknown>
17: 0x7ff67778a344 - <unknown>
18: 0x7ffdeb79244d - BaseThreadInitThunk
19: 0x7ffdec92df78 - RtlUserThreadStart
Successfully Installed fleet
Expected behavior
It ain't supposed to panic.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
A new PowerShell stable release is available: v7.2.7
Upgrade now, or check out the release page at:
https://aka.ms/PowerShell-Release?tag=v7.2.7
lllllllllllllll lllllllllllllll natalie-perret@NPPC
lllllllllllllll lllllllllllllll -------------------
lllllllllllllll lllllllllllllll OS: Windows 11 Pro [64-bit]
lllllllllllllll lllllllllllllll Host: Dell Inc. Precision 5550
lllllllllllllll lllllllllllllll Kernel: 10.0.22621.0
lllllllllllllll lllllllllllllll Motherboard: Dell Inc. 0V6K79
lllllllllllllll lllllllllllllll Uptime: 7 minutes
Packages: 128 (choco), 2 (scoop)
lllllllllllllll lllllllllllllll Shell: PowerShell v7.2.6
lllllllllllllll lllllllllllllll Resolution: 1280x720, 1280x720
lllllllllllllll lllllllllllllll Terminal: Windows Terminal
lllllllllllllll lllllllllllllll CPU: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
lllllllllllllll lllllllllllllll GPU: Intel(R) UHD Graphics
lllllllllllllll lllllllllllllll GPU: NVIDIA Quadro T1000
lllllllllllllll lllllllllllllll Memory: 12.73 GiB / 31.75 GiB (40%)
Disk (C:): 345 GiB / 475 GiB (72%)
Loading personal and system profiles took 2023ms.
Additional context
Add any other context about the problem here.
It attempts to use apt
regardless of the system you're on. I had to install lld
manually on my Arch system (clang
was preinstalled).
The task involves implementing a changelog message feature to our inbox system before the public launch of the dimension. The changelog messages will be written in Markdown format to allow for the inclusion of images and other rich content.
Steps to complete the task:
Develop a system for creating and sending changelog messages within our inbox system.
Ensure the system supports Markdown format for rich content creation.
Include fields for users to provide a short title and description for the preview of the changelog message.
The changelog message should display additional information such as the author's name and the date of publication.
Coordinate with our designer to ensure the user interface is intuitive and user-friendly.
Describe the bug
A clear and concise description of what the bug is.
It cannot find sccache because it is in a custom directory. A good environment variable to look for is $CARGO_HOME
.
To Reproduce
Steps to reproduce the behavior:
fleet run
Expected behavior
A clear and concise description of what you expected to happen.
It should find sccache in the custom cargo directory.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
Installer will override clang
on ubuntu even when clang-8
is already installed.
To Reproduce
Env:
apt install clang-8 lld-8
Steps to reproduce the behavior:
rust
and cargo
normallycargo build
works finefleet
with curl -L get.fleet.rs | sh
cargo build
and fleet build
failed with clang: error: invalid linker name in argument '-fuse-ld=lld'
clang --version
suggests that it has been degraded to 3.8Additional context
clang
package is installed, leaving the fact that user may have already installed another version of clang
or even build manually.Describe the bug
Just wanted to try fleet out, but getting an error even though I'm using nightly:
๐ Generated Fleet Config
๐ Fleet is ready!
error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -C -Zshare-generics=y -Csplit-debuginfo=unpacked -C -Zshare-generics=y -Csplit-debuginfo=unpacked --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit status: 1)
--- stderr
error: unknown codegen option: `-Zshare-generics`
To Reproduce
fleet build
Info:
When I run fleet on a repository that contains a custom own registry it errors and says:
Generated Fleet Config
๐ Fleet is ready!
error: failed to load manifest for workspace member `x`
Caused by:
failed to parse manifest at `x.toml`
Caused by:
no index found for registry: `custom_registry`
=> You are not using a `nightly` compiler. Run `rustup default nightly`.
It suggests I am not using nightly while I am already running nightly.
Platform:
Windows 10
nightly-x86_64-pc-windows-msvc unchanged - rustc 1.62.0-nightly (f4ec0e7cf 2022-04-22)
Is your feature request related to a problem? Please describe.
I am attempting to use this with a project that uses simdjson, which requires me to edit the config.toml file with extra options (specifically setting target-cpu=native
)
Describe the solution you'd like
The ability to specify extra config.toml options in fleet.toml
Describe alternatives you've considered
None
Additional context
Error from simdjson
error[E0308]: mismatched types
--> /home/tntman/.cargo/registry/src/github.com-1ecc6299db9ec823/simd-json-0.4.15/src/lib.rs:222:86
|
222 | fn please_compile_with_a_simd_compatible_cpu_setting_read_the_simdjsonrs_readme() -> ! {}
| ---------------------------------------------------------------------------- ^ expected `!`, found `()`
| |
| implicitly returns `()` as its body has no tail or `return` expression
|
= note: expected type `!`
found unit type `()`
config values I need:
https://github.com/simd-lite/simd-json/blob/main/.cargo/config#L1-L2
After install on Mac(M1), get an error when fleet run:
main-2588b02f17a95c9e" "-Wl,-dead_strip" "-nodefaultlibs" "-fuse-ld=/usr/local/bin/zld"
= note: clang: error: invalid linker name in argument '-fuse-ld=/usr/local/bin/zld'
and also the cargo command fail after installing fleet:
8b02f17a95c9e" "-Wl,-dead_strip" "-nodefaultlibs" "-fuse-ld=/usr/local/bin/zld"
= note: clang: error: invalid linker name in argument '-fuse-ld=/usr/local/bin/zld'
It means both fleet and cargo is broken.
Is there any way to fix it? Thank you!
Describe the bug
- name: Cache .cargo/bin
uses: actions/cache@v3
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.cargo/bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/cargo.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
To Reproduce
Linux CI/CD
Expected behavior
We are caching for cargo, not npm node modules.
Describe the bug
NApi.rs release build failed because of
fleet/src/core/config/cargo.rs
Line 113 in 9855e5f
I found this issue in below discussion (additional context)
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
test project druid.
it's slower than cargo.
most of time after clean, cargo cause 38s the compile,
but fleet causes 45s, and sometimes more than 2min.
Implement "watch" command to hot reload rust apps.
@suptejas really impressed with your rust skill and product development at large for a 16yr old. Really impressed with your products. I also started programming at age 13. You've done what I never had the opportunity to do that young. Keep it up and the fleet is great I use it daily.
Cargo aliases:
build
-> b
run
-> r
Everybody uses these aliases. Would be great if to add them.
Describe the solution you'd like
Integrate cargo-udeps
and cargo-bloat
into the CLI.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I don't want to replace my workflow of cargo build --release
with fleet build --release
, for example.
Describe the solution you'd like
A clear and concise description of what you want to happen.
A way to continue to use cargo build --release
but also get the benefits of fleet.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
N/A
Additional context
Add any other context or screenshots about the feature request here.
Describe the solution you'd like
Wrap around cargo
for every single command, effectively removing the need to directly invoke the cargo
CLI.
Describe the solution you'd like
Have a safer and more transparent installation command.
Describe the bug
I was trying to install fleet, and I noticed following messages which prompted me to terminate the execution.
It seems that using installer is unable to determine which distro is being used, and assumed it to be a debian based, thus running apt command. I am on Solus OS which uses eopkg
, Under such condition, installer should inform the user that packages needed to be installed, and then exit safely.
I checked, and both lld and clang are already installed in the system and in the $PATH . So Installer being not able to detect packages is a bug.
The installer, went on to install rust nightly using rustup, even though I am already on nightly version which is updated frequently.
Expected behavior
It should be able to find lld and clang and other tools, if they wasn't installed, installer should install them using appropriate package manager of the distro, or let the user know they need to install tools and exit.
Desktop (please complete the following information):
Hi, I tried Fleet on my mac & get the following error:
error: failed to run rustc
to learn about target-specific information
Caused by:
process didn't exit successfully: /Users/test/.cargo/bin/sccache rustc - --crate-name ___ --print=file-names -C link-arg=-fuse-ld=/usr/local/bin/zld -Zshare-generics=y -Csplit-debuginfo=unpacked --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg
(exit status: 1)
--- stderr
error: the option Z
is only accepted on the nightly compiler
So Cargo no longer runs. I tried uninstalling & reinstalling rust, but its still not back to the original state.
My rust version is set to stable now instead of nightly.
Appreciate feedback on how to get my mac to prior state & working ref cargo run & cargo build.
Have removed /.cargo and /.rustup, reinstalled Rust to current stable, but cargo run still not working.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.