Skip to content

Commit

Permalink
New test environment, doc updates
Browse files Browse the repository at this point in the history
  • Loading branch information
spencertipping committed Dec 19, 2016
1 parent 074a6bd commit ed76074
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 1 deletion.
56 changes: 56 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,63 @@ Some places to start reading:
- [doc/examples.md](doc/examples.md): straight into the deep end with the web
UI

## ni works on every machine
...in the last decade, except Windows. Its only dependency is Perl 5.8 or
later, which is installed basically everywhere (and in any context involving
remote jobs, like hadoop, SSH, docker, etc, ni automatically installs itself so
you don't have to do any configuration).

## Contributors
- [Spencer Tipping](https://github.com/spencertipping)
- [Michael Bilow](https://github.com/michaelbilow)
- [Factual, Inc](https://github.com/Factual)

## License
(Also included in the top of the ni image)

Copyright (c) 2016 Spencer Tipping

MIT license

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

## For ni developers
### [Amazingly cool development documentation](dev/README.md)

### How to test your changes
```sh
$ ./test # accurate but time-consuming; see below
```

`./test` automatically rebuilds your `./ni` image from source.

If you've just made a small change and don't want to wait the full ten minutes
it takes to run all tests on all distributions, here's a lighter-weight way to
do it:

```sh
$ ./test --build # if you're testing for the first time
$ ./test --quick centos-5 # faster than running all tests
$ ./test --quick ubuntu-16.04 # includes hadoop/spark/docker tests
```

### Main files and what they do
- `./boot`: create the base `ni` image with no extensions. This image does
almost nothing and is effectively unusable.
- `bugs/`: documentation and tests for all nontrivial bugs I've found, starting
Expand Down
12 changes: 12 additions & 0 deletions env/ubuntu-16.10
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM ubuntu:16.10
RUN apt-get update
RUN apt-get install -qqy sbcl sqlite curl
RUN apt-get install -qqy bzip2 lzop liblz4-tool xz-utils strace ruby
RUN apt-get install -y python-numpy
RUN apt-get install -y netcat-openbsd
RUN apt-get install -y docker.io
ADD ni /usr/bin/
ADD dev/test-data/etc-passwd /etc/passwd
VOLUME /data
WORKDIR /data
CMD /bin/bash
3 changes: 2 additions & 1 deletion test
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ envs=( alpine
debian-wheezy
ubuntu-12.04
ubuntu-14.04
ubuntu-16.04 )
ubuntu-16.04
ubuntu-16.10 )

if [[ $1 == '-o' ]] || [[ $1 == '--only' ]]; then
test_set=$2
Expand Down

0 comments on commit ed76074

Please sign in to comment.