Merge branch 'develop' into QLIK

This commit is contained in:
Rafa de la Torre 2016-04-14 10:34:36 +02:00
commit 638794c3a4
4 changed files with 31 additions and 27 deletions

4
.gitignore vendored
View File

@ -1 +1,5 @@
.DS_Store .DS_Store
src/pg/observatory--current--dev.sql
src/pg/observatory--dev--current.sql
src/pg/observatory--dev.sql
src/pg/test/results/

View File

@ -1,6 +1,6 @@
# Development process # Development process
Please read the Working Process/Quickstart Guide in [[README.md]] first. Please read the Working Process/Quickstart Guide in [README.md](README.md) first.
For any modification of the observatory-extension, such as adding new features, For any modification of the observatory-extension, such as adding new features,
refactoring or bug-fixing, a topic branch must be created out of the `develop` refactoring or bug-fixing, a topic branch must be created out of the `develop`
@ -27,9 +27,10 @@ make it available to PostgreSQL.
Run the tests with `make test`. Run the tests with `make test`.
Update extension in a working database with: Update extension in a working database with:
```
* `ALTER EXTENSION observatory VERSION TO 'current';` ALTER EXTENSION observatory VERSION TO 'current';
`ALTER EXTENSION observatory VERSION TO 'dev';` ALTER EXTENSION observatory VERSION TO 'dev';
```
Note: we keep the current development version install as 'dev' always; Note: we keep the current development version install as 'dev' always;
we update through the 'current' alias to allow changing the extension we update through the 'current' alias to allow changing the extension
@ -58,7 +59,6 @@ to the release process for a new revision of the extension.
## Relevant development tasks available in the Makefile ## Relevant development tasks available in the Makefile
```
* `make help` show a short description of the available targets * `make help` show a short description of the available targets
* `sudo make install` will generate the extension scripts for the development * `sudo make install` will generate the extension scripts for the development
@ -67,4 +67,3 @@ to the release process for a new revision of the extension.
* `make test` will run the tests for the installed development extension. * `make test` will run the tests for the installed development extension.
Intended for use by developers. Intended for use by developers.
```

View File

@ -1,13 +1,21 @@
# Observatory extension # Observatory extension
CartoDB extension that implements the functions needed by the Observatory Service. CartoDB extension that implements the row-level functions needed by the Observatory Service.
## Code organization ## Code organization
* *doc* documentation ```
* *src* source code .
* - *src/pg* contains the PostgreSQL extension source code ├── doc # documentation
* *release* reseleased versions ├── release # released versions
└── src # source code
└── pg
├── sql
└── test
├── expected
├── fixtures
└── sql
```
# Development workflow # Development workflow
@ -36,7 +44,7 @@ and developers must not commit or merge into it.
## Development Guidelines ## Development Guidelines
For a detailed description of the development process please see For a detailed description of the development process please see
the [[CONTRIBUTING.md]] guide. the [CONTRIBUTING.md](CONTRIBUTING.md) guide.
Any modification to the source code Any modification to the source code
shall always be done in a topic branch created from the `develop` branch. shall always be done in a topic branch created from the `develop` branch.
@ -44,9 +52,7 @@ shall always be done in a topic branch created from the `develop` branch.
Tests, documentation and peer code reviews are required for all Tests, documentation and peer code reviews are required for all
modifications. modifications.
The tests (both for SQL and Python) are executed by running, The tests are executed by running this from the top directory:
from the top directory:
``` ```
sudo make install sudo make install
make test make test
@ -54,5 +60,5 @@ make test
## Release ## Release
The release and deployment process is described in the The release and deployment process is described in the
[[RELEASE.md]] guide and it is the responsibility of the designated [RELEASE.md](RELEASE.md) guide and it is the responsibility of the designated
release manager. release manager.

View File

@ -1,7 +1,7 @@
# Release & Deployment Process # Release & Deployment Process
Please read the Working Process/Quickstart Guide in [README.md]] Please read the Working Process/Quickstart Guide in [README.md](README.md)
and the Development guidelines in [[CONTRIBUTING.md]]. and the Development guidelines in [CONTRIBUTING.md](CONTRIBUTING.md).
The release process of a new version of the extension The release process of a new version of the extension
shall be performed by the designated *Release Manager*. shall be performed by the designated *Release Manager*.
@ -15,9 +15,7 @@ To do so [Semantic Versioning 2.0](http://semver.org/) is in order.
Thew `NEWS.md` will be updated. Thew `NEWS.md` will be updated.
The next command must be executed to produce the main installation The next command must be executed to produce the main installation
script for the new release, `release/observatory--X.Y.Z.sql` and script for the new release, `release/observatory--X.Y.Z.sql`:
also to copy the python package to `release/python/X.Y.Z/observatory`.
``` ```
make release make release
``` ```
@ -50,7 +48,6 @@ sudo make deploy RELEASE_VERSION=X.Y.Z
## Relevant release & deployment tasks available in the Makefile ## Relevant release & deployment tasks available in the Makefile
```
* `make help` show a short description of the available targets * `make help` show a short description of the available targets
* `make release` will generate a new release (version number defined in * `make release` will generate a new release (version number defined in
@ -58,12 +55,10 @@ sudo make deploy RELEASE_VERSION=X.Y.Z
Intended for use by the release manager. Intended for use by the release manager.
* `sudo make deploy` will install the current release X.Y.Z from the * `sudo make deploy` will install the current release X.Y.Z from the
`release/` files into PostgreSQL and a Python virtual environment `release/` files into PostgreSQL.
`envs/X.Y.Z`.
Intended for use by the release manager and deployment jobs. Intended for use by the release manager and deployment jobs.
* `sudo make deploy RELEASE_VERSION=X.Y.Z` will install specified version * `sudo make deploy RELEASE_VERSION=X.Y.Z` will install specified version
previously generated in `release/` previously generated in `release/`
into PostgreSQL and a Python virtual environment `envs/X.Y.Z`. into PostgreSQL.
Intended for use by the release manager and deployment jobs. Intended to be used by the release manager and deployment jobs.
```