Go to file
2016-08-08 16:26:35 +02:00
.github Remove virtualenv activation #60 2016-06-14 18:06:23 +02:00
doc Merge remote-tracking branch 'origin/develop' into segmentation 2016-06-29 17:09:14 +02:00
release Drop objects in reverse order in downgrade script 2016-06-29 20:01:41 +02:00
src Create role publicuser if it does not exist 2016-08-08 15:24:21 +02:00
.gitignore Ignore idea based configurations 2016-06-09 11:27:15 +02:00
.travis.yml First attempt with a .travis.yml file 2016-08-08 16:26:35 +02:00
CONTRIBUTING.md Removes cartodb-extension-dep 2016-06-16 19:07:42 +02:00
LICENSE Add licencse 2016-02-15 18:36:38 +01:00
Makefile Remove reference to clean-environments #60 2016-06-14 18:27:35 +02:00
Makefile.global Merge tag '0.0.4' 2016-06-29 15:22:02 +02:00
NEWS.md Use 0.1.0 instead of 0.0.5 2016-06-29 19:10:28 +02:00
README.md Remove virtualenv references from READMEs #60 2016-06-14 18:24:43 +02:00
RELEASE.md Reorganize the documentation into separate files 2016-03-16 17:42:28 +01:00

crankshaft

CartoDB Spatial Analysis extension for PostgreSQL.

Code organization

  • doc documentation
  • src source code
    • src/pg contains the PostgreSQL extension source code
    • src/py Python module source code
  • release reseleased versions

Requirements

Working Process -- Quickstart Guide

We distinguish two roles regarding the development cycle of crankshaft:

  • 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 (src/pg/sql for the SQL extension, src/py/crankshaft for the Python package) shall always be done in a topic branch created from the develop branch.

Tests, documentation and peer code reviewing 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

To request a new release, which will be handled by them release manager, a Pull Request must be created in the develop branch.

Release

The release and deployment process is described in the RELEASE.md guide and it is the responsibility of the designated release manager.