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

dataClay's developer guide

aqueralt edited this page Mar 17, 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)

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 unit tests for your PR. If it fails, you'll receive an 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 a 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
  5. dataclay-packaging nightly build will update submodules in develop branch and release your changes into DockerHub if functional tests passes.

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 unit tests for your PR. If it fails, you'll receive an 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.
  5. dataclay-packaging nightly build will update submodules in develop branch and release your changes into DockerHub if functional tests passes.

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 an 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 if functional tests passes.

Functional testing

Releases

Clone this wiki locally