This commit adds new binary target called "denort".
It is a "lite" version of "deno" binary that can only execute
code embedded inside the binary itself.
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
This commit updates CI script to publish only "deno"
crate on tags.
Following crates are not automatically published anymore:
- deno_core
- deno_web
- deno_fetch
- deno_crypto
Before this commit creating a new release required to bump
version on all above crates even though in practice they
rarely change.
This commit rewrites scripts in "tools/" directory
to use Deno instead of Python. In return it allows
to remove huge number of Python packages in "third_party/".
A recent change in rustc or cargo made it so that rusty_v8's `build.rs`,
which is responsible for downloading `librusty_v8.a`, does not get
rebuilt or re-run when its build output directory is restored from the
Github Actions cache.
However, rusty_v8's custom build script does not save the download to
its build output directory; it puts the file in
`target/debug|release/gn_out/obj` instead.
To get CI going again we opted to add `target/*/gn_out` to the Github
Actions cache.
A more robust fix would be make rusty_v8 save the download to the
cargo-designated output directory.
All benchmarks are done in Rust and can be invoked with
`cargo bench`.
Currently this has it's own "harness" that behaves like
`./tools/benchmark.py` did.
Because of this tests inside `cli/bench` are currently not run.
This should be switched to the language provided harness
once the `#[bench]` attribute has been stabilized.
Before this commit, when Cargo.lock changes, cache is completely rebuilt, wasting time.
After this commit, if cache for a specific Cargo.lock is not found, it will fallback to find cache of another Cargo.lock.