Skip to content

Commit

Permalink
Update README with note about --release
Browse files Browse the repository at this point in the history
  • Loading branch information
nibty committed Dec 21, 2024
1 parent 6eb196d commit d65edb5
Showing 1 changed file with 21 additions and 18 deletions.
39 changes: 21 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,75 +5,78 @@
### **1. Install rustc, cargo and rustfmt.**

```bash
$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env
$ rustup component add rustfmt
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
rustup component add rustfmt
```

When building the master branch, please make sure you are using the latest stable rust version by running:

```bash
$ rustup update
rustup update
```

When building a specific release branch, you should check the rust version in `ci/rust-version.sh` and if necessary, install that version by running:
```bash
$ rustup install VERSION
rustup install VERSION
```
Note that if this is not the latest rust version on your machine, cargo commands may require an [override](https://rust-lang.github.io/rustup/overrides.html) in order to use the correct version.

On Linux systems you may need to install libssl-dev, pkg-config, zlib1g-dev, protobuf etc.

On Ubuntu:
```bash
$ sudo apt-get update
$ sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler
sudo apt-get update
sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler
```

On Fedora:
```bash
$ sudo dnf install openssl-devel systemd-devel pkg-config zlib-devel llvm clang cmake make protobuf-devel protobuf-compiler perl-core
sudo dnf install openssl-devel systemd-devel pkg-config zlib-devel llvm clang cmake make protobuf-devel protobuf-compiler perl-core
```

### **2. Download the source code.**

```bash
$ git clone https://github.com/x1-labs/tachyon.git
$ cd tachyon
git clone https://github.com/x1-labs/tachyon.git
cd tachyon
```

### **3. Build.**

```bash
$ ./cargo build
# To build with debug profile for development only
cargo build

# To build with release profile for production
cargo build --release
```

## Testing

**Run the test suite:**

```bash
$ ./cargo test
cargo test
```

#### Accessing the remote testnet cluster

* `testnet` - stable public cluster for development accessible via
https://xolana.xen.network
* `testnet` - stable public cluster for development accessible via https://rpc.testnet.x1.xyz

## Benchmarking

First, install the nightly build of rustc. `cargo bench` requires the use of the
unstable features only available in the nightly build.

```bash
$ rustup install nightly
rustup install nightly
```

Run the benchmarks:

```bash
$ cargo +nightly bench
cargo +nightly bench
```

## Release Process
Expand All @@ -85,8 +88,8 @@ The release process for this project is described [here](RELEASE.md).
To generate code coverage statistics:

```bash
$ scripts/coverage.sh
$ open target/cov/lcov-local/index.html
scripts/coverage.sh
open target/cov/lcov-local/index.html
```

Why coverage? While most see coverage as a code quality metric, we see it primarily as a developer
Expand Down

0 comments on commit d65edb5

Please sign in to comment.