Unverified Commit b0d97108 authored by Simone Basso's avatar Simone Basso Committed by GitHub

CONTRIBUTING.md README.md: updates during documentation sprint (#890)

Mostly minor changes and clarifications.

Part of https://github.com/ooni/probe-engine/issues/746.
parent 2d290e5f
......@@ -4,6 +4,7 @@
/ca-bundle.pem
/cmd/jafar/badproxy.pem
/country.mmdb
/example.org
/fbmessenger.jsonl
/hhfm.jsonl
/hirl.jsonl
......
......@@ -7,8 +7,8 @@ reviewer is satisfied, they will merge the pull request.
## PR requirements
Every pull request that introduces new functionality should at least
include a basic integration test. Any pull request that modifies existing
Every pull request that introduces new functionality should feature
comprehensive test coverage. Any pull request that modifies existing
functionality should pass existing tests. What's more, any new pull
request that modifies existing functionality should not decrease the
existing code coverage.
......@@ -30,7 +30,7 @@ functional to better understand your changes.
## Code style requirements
You should use `go fmt`, `go vet`, and `golint` to vet your code
Please, use `go fmt`, `go vet`, and `golint` to check your code
contribution before submitting a pull request. Make sure your code
is documented. At the minimum document all the exported symbols.
......@@ -39,8 +39,8 @@ run `go mod tidy` to minimize such changes.
## Code testing requirements
Make sure all tests pass with `go test ./...` run from the
top-level directory.
Make sure all tests pass with `go test -race ./...` run from the
top-level directory of this repository.
## Writing a new OONI experiment
......@@ -58,7 +58,6 @@ To get a sense of what we expect from an experiment, see:
- the experiment/example experiment
- the experiment/dash experiment
- the experiment/webconnectivity experiment
Thank you!
[![GoDoc](https://godoc.org/github.com/ooni/probe-engine?status.svg)](https://godoc.org/github.com/ooni/probe-engine) ![Golang Status](https://github.com/ooni/probe-engine/workflows/golang/badge.svg) ![Android Status](https://github.com/ooni/probe-engine/workflows/android/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/ooni/probe-engine/badge.svg?branch=master)](https://coveralls.io/github/ooni/probe-engine?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/ooni/probe-engine)](https://goreportcard.com/report/github.com/ooni/probe-engine)
# OONI probe measurement engine
[![GoDoc](https://godoc.org/github.com/ooni/probe-engine?status.svg)](https://godoc.org/github.com/ooni/probe-engine) ![Golang Status](https://github.com/ooni/probe-engine/workflows/golang/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/ooni/probe-engine/badge.svg?branch=master)](https://coveralls.io/github/ooni/probe-engine?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/ooni/probe-engine)](https://goreportcard.com/report/github.com/ooni/probe-engine)
This repository contains OONI probe's [measurement engine](
https://github.com/ooni/spec/tree/master/probe#engine). That is, the
piece of software that implements OONI nettests.
## API
You can [browse ooni/probe-engine's API](
https://godoc.org/github.com/ooni/probe-engine)
online at godoc.org. We currently don't provide any API
stability guarantees.
piece of software that implements OONI nettests as well as all the
required functionality to run such nettests.
This repository also allows to build [miniooni](cmd/miniooni), a
small command line client useful to test the functionality in here
without integrating with OONI probe. You can browse [the manual
of this tool](
https://godoc.org/github.com/ooni/probe-engine/cmd/miniooni)
online at godoc.org. We currently don't promise that the
miniooni CLI will be stable over time.
We expect you to use the Go version indicated in [go.mod](go.mod).
## Integrating ooni/probe-engine
This software uses [Go modules](https://github.com/golang/go/wiki/Modules)
and requires Go v1.14+. You can pull the latest version as a dependency from
your modules aware project by using
We recommend pinning to a specific version of probe-engine:
```bash
go get -v github.com/ooni/probe-engine
go get -v github.com/ooni/probe-engine@VERSION
```
See also the [workflows/using.yml](.github/workflows/using.yml) test
where we check that the latest commit can be imported by a third party.
We do not provide any API stability guarantee.
## Building miniooni
[miniooni](cmd/miniooni) is a small command line client used for
research and quality assurance testing. Build using:
```bash
go build -v ./cmd/miniooni/
```
We don't provide any `miniooni` command line flags stability guarantee.
See
```bash
./miniooni --help
```
for more help.
## Building Android bindings
```bash
......@@ -56,8 +60,8 @@ and
implementation "org.ooni:oonimkall:VERSION"
```
Where VERSION is like `2020.03.30-231914` corresponding to the moment in
time in which the version has been built.
Where VERSION is like `2020.03.30-231914` corresponding to the
time when the build occurred.
## Building iOS bindings
......@@ -72,8 +76,8 @@ We automatically build iOS bindings whenever commits are pushed to the
pod 'oonimkall', :podspec => 'https://dl.bintray.com/ooni/ios/oonimkall-VERSION.podspec'
```
Where VERSION is like `2020.03.30-231914` corresponding to the moment in
time in which the version has been built.
Where VERSION is like `2020.03.30-231914` corresponding to the
time when the build occurred.
## Release procedure
......@@ -118,4 +122,4 @@ will break downstream builds on MIPS:
go get -u -v github.com/Psiphon-Labs/bolt github.com/creack/goselect
```
This allows us to pin all psiphon dependencies precisely.
The above procedure allows us to pin all psiphon dependencies precisely.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment