Skip to content

Commit

Permalink
Merge pull request #123 from urbit/eamsden/build-urcrypt
Browse files Browse the repository at this point in the history
integrate urcrypt jets
  • Loading branch information
ashelkovnykov authored Nov 27, 2023
2 parents 1ffe459 + 533503e commit 9a904fc
Show file tree
Hide file tree
Showing 19 changed files with 1,957 additions and 375 deletions.
26 changes: 26 additions & 0 deletions DEVELOPERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ in `rust/` or any subdirectory, and you will be dropped into a BASH shell with t

## Rust

### Build

To build Ares, start a nix development shell as above. Within the shell, in the `rust/ares` directory, you can run:

```bash
Expand All @@ -22,6 +24,30 @@ to build the Ares executable. This will place the built executable at `target/de

Ares is made to run as an urbit "serf", meaning it is intended to be invoked by a "king" which sends it commands and performs side-effects specified by its output. We use the vere king. Special instructions for building the vere king to invoke Ares are forthcoming.

### Test

The command to run the Ares suite of unit tests is:

```bash
cargo test --verbose -- --test-threads=1
```

The tests must be run with `-- --test-threads=1` because Rust does not have any way to specify test setup / teardown functions, nor does it have any way to
specify ordered test dependencies. Therefore, the only way to ensure that tests that share resources don't clobber each other **and** that tests setup / teardown in the right order is to force all unit tests to be single-threaded.

### Style

Ares uses the default Rust formatting and style. The CI jobs are configured to reject any code which produces linter or style warnings. Therefore, as a final step before uploading code changes to GitHub, it's recommended to run the following commands:

```bash
cargo fmt
cargo clippy --all-targets --no-deps -- -D warnings -A clippy::missing_safety_doc
```

This will auto-format your code and check for linter warnings.

### Watch

To watch rust and check for errors, run

```bash
Expand Down
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

A redesigned Mars for the Urth/Mars Urbit runtime. Currently WIP.

Read the [proposal](docs/proposal/proposal-nock-performance.md) and [hypotheses](docs/proposal/hypotheses.md) for an overview.
Read the [proposal](docs/proposal/proposal-nock-performance.md) and [hypotheses](docs/proposal/hypotheses.md) for an overview. Before branching or opening a PR please review the [contribution guidelines](CONTRIBUTING.md).

If you want to hack on Ares, read the [developer guide](DEVELOPERS.md).
Before branching or opening a PR please review the [contribution guidelines](CONTRIBUTING.md).
## Installation

Dependencies:
* [`libaes_siv`](https://github.com/dfoxfranke/libaes_siv)
* [`openssl`](https://github.com/openssl/openssl)
* [`libsecp256k1`](https://github.com/bitcoin-core/secp256k1)
Loading

0 comments on commit 9a904fc

Please sign in to comment.