Skip to content
This repository has been archived by the owner on Dec 16, 2019. It is now read-only.

Commit

Permalink
Merge pull request #301 from NBISweden/release
Browse files Browse the repository at this point in the history
First official release
  • Loading branch information
juhtornr authored May 30, 2018
2 parents 9e0bb0c + 98fe3d1 commit 37cc585
Show file tree
Hide file tree
Showing 263 changed files with 10,990 additions and 6,297 deletions.
13 changes: 13 additions & 0 deletions .filebeat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
filebeat:
prospectors:
-
paths:
- /home/travis/build/NBISweden/LocalEGA/tests/console.log
input_type: log
multiline:
pattern: '^\['
negate: true
match: after
output:
logstash:
hosts: ["130.239.81.80:5600"]
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.rpm filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.tar.gz filter=lfs diff=lfs merge=lfs -text
53 changes: 1 addition & 52 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
.DS_Store
tmp/
private/
loggers/
!src/lega/conf/loggers
tests/
storage

# =====================================
# Byte-compiled / optimized / DLL files
Expand Down Expand Up @@ -69,35 +65,14 @@ nosetests.xml
coverage.xml
*,cover
.hypothesis/
.pytest_cache

# =====================================
# Translations
# =====================================
*.mo
*.pot

# =====================================
# Django stuff:
# =====================================
*.log
local_settings.py

# =====================================
# Flask stuff:
# =====================================
instance/
.webassets-cache

# =====================================
# Scrapy stuff:
# =====================================
.scrapy

# =====================================
# Sphinx documentation
# =====================================
docs/_build/

# =====================================
# PyBuilder
# =====================================
Expand All @@ -112,29 +87,3 @@ target/
# pyenv
# =====================================
.python-version

# =====================================
# celery beat schedule file
# =====================================
celerybeat-schedule

# =====================================
# dotenv
# =====================================
.env

# =====================================
# virtualenv
# =====================================
venv/
ENV/

# =====================================
# Spyder project settings
# =====================================
.spyderproject

# =====================================
# Rope project settings
# =====================================
.ropeproject
2 changes: 2 additions & 0 deletions .snyk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
language-settings:
python: "3.6"
42 changes: 42 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
language: python

python: 3.6

services: docker

# command to install dependencies

stages:
- name: unit_tests
if: type IN (push, pull_request)
- name: integration_tests
if: type IN (pull_request)

jobs:
include:
- stage: unit_tests
python: 3.6
before_script:
- pip install tox-travis
# command to run tests
script: tox
- stage: integration_tests
before_script:
# https://elk-docker.readthedocs.io/#es-not-starting-max-map-count
# mostly used by ELK stack; Solving issue #252
# - sudo sysctl -w vm.max_map_count=262144
- cd deployments/docker
- make bootstrap
- sudo chown -R travis private
- docker network create cega
- docker-compose up -d ${DOCKER_CONTAINERS}
- docker-compose ps
script:
- sleep 10
- cd tests
- mvn test -B

notifications:
email: false
slack:
secure: eUyEWWvrFbzW+j+WKIOrHm7zeJ+6+o/WmI5cp1UYsOT9emxGE4kzW057cG9EV+sgKUdoYP1zSfCH0TLSOjY7otyqccqZH5WxDtiBSEXpkA8ID8jzQnX1VZWFn1vK+gWpER87VdLonVGt4db1lqE3Gm/uCbEqzrmfYjE1Hrk4PM8FfLQfD3+YBPUnWGSZKAPmdHAKh7IF9VQ6f1zaspijp/Sxa7Dk9F+Z4o2nsZ1woSyOVAwWLJhkvEafyEFfb/9tPMF1wtoXlLEzV1JDRzyjzbLGXQcpo6+Qx3+v7w6eRbriifOq2tByBfeI+RlWytwOgb+B/mfN0uFPbdg/Bgr//NMDrqwCnFQs7A2Dj287mQZI4YpRvh4Cneu3ReVGQKd9SJq28BliwXBBv3xyeFfGEbBOMNKb0VCsNjRuWITncf/qx3Vxn13VAYxcdA9EZpa1UzT6V94nlbLUq3twFKBJiDmpraYnI+JGFCZ32Xh8bySNqbEBe7TnqAG015c4pKKx++3IQJePfSPbRKzwWNAM5yG7RuVmud5fxfN+KdQz7vKfjOeaHKG4PScfhRT0zthtgmPG+m5eCprIbdFlacU3UyobLtxZd8wI9qJnGGvB3bHOsuaqpS2ymDWbd/n1aeryrcTkS/gPuwMvTs6S32pRf/orKqyLfnSZPeTcOevbzHw=
173 changes: 173 additions & 0 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
.. role:: bolditalic
:class: bolditalic

=======================
Contributing guidelines
=======================

We thank you in advance |thumbup| |tada| for taking the time to
contribute, whether with *code* or with *ideas*, to the Local EGA
project.

------------------------
AGILE project management
------------------------

We use *Zenhub*, the Agile project management within Github.

You should first `install it`_ if you want to contribute or just follow the project progress.
You can also use the `Zenhub app`_ if you wish.

In short, the `AGILE method`_ helps developers organize themselves:

* They decide about the tasks (not the managers)
* Main Tasks should be divided into smaller manageable ones. The big
tasks are called *Epics*.
* We have a given period (called Sprint) to work on a chosen
task. Here, a Sprint spans across 2 weeks.
* We review the work done at the end of the Sprint, closing issues or
pushing them into the next Sprint. Ideally, they are sub-divided in
case they encounter obstacles.
* We have a short meeting every weekday at 9:30 AM. We call it a
*standup* and we use it to keep everyone on point, and identify
quickly blockers. It's not a lengthy discussion. We ask:

- What did you get done yesterday (or last week, last month, etc.)?
- What are you working on now?
- What isn’t going well, and on what could you use help?

---------
Procedure
---------

1. Create an issue on Github, and talk to the team members on the NBIS
local-ega Slack channel. You can alternatively pick one already
created.

.. note::
Contact `Jonas Hagberg`_ to request access if you are not part of that channel already.


2. Assign yourself to that issue.

#. Discussions on how to proceed about that issue take place in the
comment section on that issue, beforehand.

The keyword here is *beforehand*. It is usually a good idea to talk
about it first. Somebody might have already some pieces in place,
we avoid unnecessary work duplication and a waste of time and
effort.

#. Work on it (on a fork, or on a separate branch) as you wish. That's
what ``git`` is good for. This GitHub repository follows
the `coding guidelines from NBIS`_.

Name your branch as you wish and prefix the name with:

* ``feature/`` if it is a code feature
* ``hotfix/`` if you are fixing an urgent bug

Use comments in your code, choose variable and function names that
clearly show what you intend to implement.

Use `git rebase -i`_ in
order to rewrite your history, and have meaningful commits. That
way, we avoid the 'Typo', 'Work In Progress (WIP)', or
'Oops...forgot this or that' commits.

Limit the first line of your git commits to 72 characters or less.


#. Create a Pull Request (PR), so that your code is reviewed by the
admins on this repository.

That PR should be connected to the issue you are working on.
Moreover, the PR:

- should use ``Estimate=1``,
- should be connected to:

* an ``Epic``,
* a ``Milestone`` and
* a ``User story``
* ... or several.

N.B: Pull requests are done to the ``dev`` branch. PRs to ``master`` are rejected.

#. Selecting a review goes as follows: Pick one *main* reviewer. It
is usually one that you had discussions with, and is somehow
connected to that issue. If this is not the case, pick several reviewers.

Note that, in turn, the main reviewer might ask another reviewer
for help. The approval of all reviewers is compulsory in order to
merge the PR. Moreover, the main reviewer is the one merging the
PR, not you.

Find more information on the `NBIS reviewing guidelines`_.


#. It is possible that your PR requires changes (because it creates
conflicts, doesn't pass the integrated tests or because some parts
should be rewritten in a cleaner manner, or because it does not
follow the standards, or you're requesting the wrong branch to pull
your code, etc...) In that case, a reviewer will request changes
and describe them in the comment section of the PR.

You then update your branch with new commits. We will see the PR
changes faster if you ping the reviewer in the slack channel.

Note that the comments *in the PR* are not used to discuss the
*how* and *why* of that issue. These discussions are not about the
issue itself but about *a solution* to that issue.

Recall that discussions about the issue are good and prevent
duplicated or wasted efforts, but they take place in the comment
section of the related issue (see point 4), not in the PR.

Essentially, we don't want to open discussions when the work is
done, and there is no recourse, such that it's either accept or
reject. We think we can do better than that, and introduce a finer
grained acceptance, by involving *beforehand* discussions so that
everyone is on point.



-------------------
Did you find a bug?
-------------------

* Ensure that the bug was not already reported by `searching under Issues`_.

* Do :bolditalic:`not` file it as a plain GitHub issue (we use the
issue system for our internal tasks (see Zenhub)). If you're unable
to find an (open) issue addressing the problem, `open a new one`_.
Be sure to prefix the issue title with **[BUG]** and to include:

- a *clear* description,
- as much relevant information as possible, and
- a *code sample* or an (executable) *test case* demonstrating the expected behaviour that is not occurring.

* If possible, use the following `template to report a bug`_.

.. todo:: Make that template


----

| Thanks again,
| /NBIS System Developers
.. _Zenhub: https://www.zenhub.com
.. _install it: https://www.zenhub.com/extension
.. _Zenhub app: https://app.zenhub.com
.. _AGILE method: https://www.zenhub.com/blog/how-to-use-github-agile-project-management
.. _Jonas Hagberg: https://nbis.se/about/staff/jonas-hagberg/
.. _coding guidelines from NBIS: https://github.com/NBISweden/development-guidelines
.. _git rebase -i: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
.. _NBIS reviewing guidelines: https://github.com/NBISweden/development-guidelines#how-we-do-code-reviews
.. _searching under Issues: https://github.com/NBISweden/LocalEGA/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Abug%20%5BBUG%5D%20in%3Atitle
.. _open a new one: https://github.com/NBISweden/LocalEGA/issues/new?title=%5BBUG%5D
.. _template to report a bug: todo
.. |tada| unicode:: U+1f389
.. |thumbup| unicode:: U+1f44d

Loading

0 comments on commit 37cc585

Please sign in to comment.