observatory-extension/README.md

59 lines
1.9 KiB
Markdown
Raw Normal View History

# Observatory extension
CartoDB extension that implements the functions needed by the Observatory Service.
## Code organization
* *doc* documentation
* *src* source code
* - *src/pg* contains the PostgreSQL extension source code
* *release* reseleased versions
# Development workflow
We distinguish two roles regarding the development cycle:
* *developers* will implement new functionality and bugfixes into
the codebase and will request for new releases of the extension.
* A *release manager* will attend these requests and will handle
the release process. The release process is sequential:
no concurrent releases will ever be in the works.
We use the default `develop` branch as the basis for development.
The `master` branch is used to merge and tag releases to be
deployed in production.
Developers shall create a new topic branch from `develop` for any new feature
or bugfix and commit their changes to it and eventually merge back into
the `develop` branch. When a new release is required a Pull Request
will be open against the `develop` branch.
The `develop` pull requests will be handled by the release manage,
who will merge into master where new releases are prepared and tagged.
The `master` branch is the sole responsibility of the release masters
and developers must not commit or merge into it.
## Development Guidelines
For a detailed description of the development process please see
the [[CONTRIBUTING.md]] guide.
Any modification to the source code
shall always be done in a topic branch created from the `develop` branch.
Tests, documentation and peer code reviews are required for all
modifications.
The tests (both for SQL and Python) are executed by running,
from the top directory:
```
sudo make install
make test
```
## Release
The release and deployment process is described in the
[[RELEASE.md]] guide and it is the responsibility of the designated
release manager.