utsaslab / rustfs

A Rust user-space file system [WIP]
Other
28 stars 7 forks source link

Add Travis Build to the project #12

Closed xxks-kkk closed 5 years ago

xxks-kkk commented 6 years ago

Is your feature request related to a problem? Please describe.

To make sure the project can always build correctly for every code pull request merged, we need to have an automatic way to build the project. Also, for every pull request, we want to able to verify the code can at least pass the build test before doing code review and merge.

Describe the solution you'd like

Travis CI is the solution we want to use. However, whether it is possible in our case is doubtful because our code has to be run on top of NVMe SSD. Whether we can simulate the hardware is left to explore (I highly doubt we can actually do this but there might be some surprises).

vishwanath1306 commented 5 years ago

I've used Travis CI for a couple of projects, and I don't think there's a possibility of specifying the underlying hardware requirements. However, the code coverage and review process can be automated using it.

Travis for Rust

I'll try to set up a pipeline for the same.

xxks-kkk commented 5 years ago

@thebrahminator Thanks for the comments. There probably not a solution to this issue as the code heavily depends on the underlying hardware.

vishwanath1306 commented 5 years ago

Ah, I understand. Is there a way I can get started with contributing towards this project? The project wiki is pretty scarce.

xxks-kkk commented 5 years ago

@thebrahminator I think you can take a look at these two branches: 1.0-dev-fileSystemToy-wrapper-future and 1.0-dev-fileSystemToy-wrapper. What I'm trying to do is to wrap the Rust-C native bindings with a Rust-friendly FFI. These two branches represent two different philosophies of implementing such FFI. Take a look at those branches and let me know your thoughts. We can then move from there.

xxks-kkk commented 5 years ago

Looks like not possible due to the special requirement of SPDK (e.g., requires at lease emulated NVMe SSD).