Using [`cargo-deny`](https://embarkstudios.github.io/cargo-deny/) to ensure that disallowed dependencies removed in #2423 do not accidentally make their way back in.
`cargo-deny` subsumes the `cargo-audit` functionality, so switch to the `cargo-deny` version.
Setting this up required explicitly stating the license which was not in some of our `Cargo.toml` files.
Use Codecov to show coverage reports, so we get highlighted versions of the files where it is easy to see missing coverage.
- Setup Rust coverage using [`cargo-llvm-cov`](https://github.com/taiki-e/cargo-llvm-cov).
- Add the `ci/agent.sh` build script to the agent artifact cache key, since it wasn't there before.
- Don't run Rust tests in `--release` mode (have been meaning to change this so doing it at the same time).
There is some subtlety about putting the coverage result into the cached agent artifact, so that when we reuse the agent artifact we can still upload the coverage information for it to Codecov. Without this it would look like the coverage had dropped.
* Bump to Rust 1.63
* Fix clippy warnings
* Suppress clippy warning
* More clippy fixes
* Print cargo-license version
* Ignore unmaintained warning
* Pin cargo-license to 0.4.2, 0.5 breaks us
* Suppress in proxy build as well
* More Eqs
* More clippy fixes
Using `3.8` for the Python devcontainer feature version means it builds from source every time the devcontainer is rebuilt, which is very slow. Using `os-provided` will give us a recent enough version (3.10).
Also install `python-is-python3` so that the bare `python` command points to Python 3 (our scripts seem to expect this).
Add support for function tests and the ability to run them against either real Azure Storage or the Azurite emulator.
See follow-up PR #2032 for actual usage.
Add extensions for:
* Bicep
* .NET test runner
* Azure Functions
Include in setup script:
* `cargo-audit` & `cargo-license` (pre-reqs for the CI script)
* Basic devcontainer configuration
* Bump Rust to 1.60, which is required
* Add some more requirements
* Manually install Rust so that cargo-audit can be installed
* Include settings/extensions that were in Rust feature previously
* Install further Rust requirements (from rust-prereqs.sh)
* Install dotnet "by hand"; this should be a bit faster than multiple steps
* Add Python extension to devcontainer
Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>