-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #23 from tkhq/zeke-github-actions
CI checks for build, test, lint, and dep vulnerabilities
- Loading branch information
Showing
32 changed files
with
721 additions
and
376 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# Checks for PRs | ||
# See: https://github.com/actions-rs/example/blob/master/.github/workflows/quickstart.yml | ||
|
||
on: [pull_request] | ||
|
||
name: PR | ||
|
||
jobs: | ||
test: | ||
name: Test Suite | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install stable toolchain | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
override: true | ||
|
||
- name: Run cargo test | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: test | ||
|
||
rustfmt: | ||
name: rustfmt | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install stable toolchain | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: nightly | ||
override: true | ||
components: rustfmt, clippy | ||
|
||
- name: Run cargo fmt | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: fmt | ||
args: --all -- --check | ||
|
||
clippy: | ||
name: clippy | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install stable toolchain | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
override: true | ||
components: rustfmt, clippy | ||
|
||
- name: Run cargo clippy | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: clippy | ||
args: --all-targets -- -D warnings |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,51 @@ | ||
Quick start | ||
# QuorumOS | ||
|
||
This is a WIP. | ||
|
||
## Submitting a PR | ||
|
||
Before a PR can be merged it must: | ||
|
||
Be formatted | ||
|
||
```bash | ||
cargo +nightly | ||
``` | ||
# make sure you have the latest rustc stable | ||
rustup update stable | ||
|
||
# run tests | ||
cargo test --all | ||
Pass the linter | ||
|
||
# format code | ||
cargo +nightly fmt | ||
```bash | ||
cargo clippy | ||
|
||
# to fix some types of lints you can run | ||
cargo clippy --fix | ||
``` | ||
|
||
# System requirements | ||
And pass all tests | ||
|
||
```bash | ||
cargo test | ||
``` | ||
|
||
## System requirements | ||
|
||
- openssl >= 1.1.0 | ||
|
||
# Key parts | ||
## Key parts | ||
|
||
## Enclave | ||
### Enclave | ||
|
||
- houses nitro server | ||
- see `qos-core` | ||
|
||
## Host | ||
|
||
- EC2 instance where the nitro enclave lives inside | ||
- has client for talking to nitro enclave | ||
- has server for incoming request from outside world | ||
- see `qos-host` | ||
|
||
## End user | ||
|
||
- Anything making request to host | ||
|
||
# Decisions / Things to Revisit: | ||
|
||
- Use Serde in `qos-core`. We've decided to do this right now for agility; but we should probably make our own simple macro or find a secure serialization lib (look into borsch?) | ||
|
||
# TODO: | ||
|
||
- Build crypto - all public key + hashing logic. High level so we can swap. Bring in OpenSSL | ||
- Pivot logic | ||
- Cli for posting shards, nsm attestation flow | ||
- Research flow for attestation - with nsm / nitro enclave docs | ||
|
||
- Sanity check vsock - aws or qemu | ||
- Run deployed aws attestation flow (save nsm responses for stubbing) | ||
- Smart shamir logic in enclave, don't randomly reconstruct | ||
- anything making request to host | ||
- see `qos-client` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.