Skip to content

CartoDB/crankshaft

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Crankshaft Build Status

CARTO Spatial Analysis extension for PostgreSQL.

Code organization

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

Requirements

  • PostgreSQL
  • plpythonu (for PG12+, plpython3u) and postgis extensions
  • python-scipy system package (see src/py/README.md)

Development Process

We use the branch develop as the main integration branch for development. The master is reserved to handle releases.

The process is as follows:

  1. Create a new topic branch from develop for any new feature or bugfix and commit their changes to it:
git fetch && git checkout -b my-cool-feature origin/develop
  1. Code, commit, push, repeat.
  2. Write some tests for your feature or bugfix.
  3. Update the NEWS.md doc.
  4. Create a pull request and mention relevant people for a peer review.
  5. Address the comments and improvements you get from the peer review.

In order for a pull request to be accepted, the following criteria should be met:

  • The peer review should pass and no major issue should be left unaddressed.
  • CI tests must pass (travis will take care of that).

Development Guidelines

For a detailed description of the development process please see the CONTRIBUTING.md guide.

Testing

The tests (both for SQL and Python) are executed by running, from the top directory:

sudo make install
make test

Release

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