Skip to content
This repository was archived by the owner on Dec 7, 2023. It is now read-only.

dataClay's developer guide

dgasull edited this page Mar 16, 2020 · 5 revisions

Setup

Clone the repo and install the needed dependencies:

git clone git@github.com:bsc-dom/dataclay-packaging.git

Initialize sub-modules

git submodule update --init --recursive

Add an upstream remote so you can easily keep up to date with the main repository:

git remote add upstream git@github.com:bsc-dom/dataclay-packaging.git

Now, follow the workflow to develop dataClay (skip sections you are not developing like javaclay or pyclay) but do not skip dataclay-packaging development (submodules must be updated)

Develop javaclay code

  1. Go to dataclay-packaging/logicmodule/javaclay directory
  2. Create a new branch. The name of the branch should start with:
    • feature/* : if you are developing a new feature
    • bugfix/* : if you are fixing a bug
    • enhancement/* : if you are developing an enhancement
git branch -b feature/my_new_feature
  1. Modify your code, commit and push your changes using git commit and git push
  2. Go to https://github.com/bsc-dom/javaclay and create a PR:
    • From your branch to develop branch. Note that you cannot create a PR to master
    • Assign a reviewer
    • Assign your PR to dataClay project
    • Add a reference to the GitHub issue being solved.Simply reference the issue in your commit message using any of the supported keywords: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved. For example: this commit fixes #116
  3. Travis will automatically run all unitary tests for your PR. If it fails, you'll receive and e-mail notification and the PR will not be accepted. Note that if your branch name does not follow naming conventions Travis build will fail and you will have to move to another branch. You can check builds on travis here: https://travis-ci.org/
  4. Once merged into develop branch, a cron job will publish an SNAPSHOT of javaclay into Maven central repository. Remember that to appear in the public central maven repository it needs some time but you can check it in https://oss.sonatype.org/ repository

Develop pyclay code

  1. Go to dataclay-packaging/dspython/pyclay directory
  2. Create a new branch. The name of the branch should start with:
    • feature/* : if you are developing a new feature
    • bugfix/* : if you are fixing a bug
    • enhancement/* : if you are developing an enhancement
git branch -b feature/my_new_feature
  1. Modify your code, commit and push your changes using git commit and git push
  2. Go to https://github.com/bsc-dom/pyclay and create a PR:
    • From your branch to develop branch. Note that you cannot create a PR to master
    • Assign a reviewer
    • Assign your PR to dataClay project
    • Add a reference to the GitHub issue being solved.Simply reference the issue in your commit message using any of the supported keywords: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved. For example: this commit fixes #116
  3. Travis will automatically run all unitary tests for your PR. If it fails, you'll receive and e-mail notification and the PR will not be accepted. Note that if your branch name does not follow naming conventions Travis build will fail and you will have to move to another branch. You can check builds on travis here: https://travis-ci.org/
  4. Once merged into develop branch, a cron job will publish an development version of pyclay into https://test.pypi.org/project/dataClay/ repository.

Develop dataclay-packaging code

This step is needed to update submodule references. This must be done after the PR is accepted and merged into develop

  1. Go to dataclay-packaging/ directory
  2. Create a new branch. The name of the branch should start with:
    • feature/* : if you are developing a new feature
    • bugfix/* : if you are fixing a bug
    • enhancement/* : if you are developing an enhancement
git branch -b feature/my_new_feature
  1. Commit and push your changes using git commit and git push so submodules references are updated.
  2. Go to https://github.com/bsc-dom/dataclay-packaging and create a PR:
    • From your branch to develop branch. Note that you cannot create a PR to master
    • Assign a reviewer
    • Assign your PR to dataClay project
    • Add a reference to the GitHub issue being solved. Simply reference the issue in your commit message using any of the supported keywords: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved. For example: this commit fixes #116
  3. Travis will automatically run all checks for your PR. If it fails, you'll receive and e-mail notification and the PR will not be accepted. Note that if your branch name does not follow naming conventions Travis build will fail and you will have to move to another branch. You can check builds on travis here: https://travis-ci.org/
  4. Once merged into develop branch, a cron job will publish an development version of dataclay into DockerHub.

Functional testing

Releases

Clone this wiki locally