wiki:DevelopmentProcedure

Version 32 (modified by Jonathan, 11 years ago) ( diff )

Development Procedure

This page outlines the basic steps one should take when adding a new development to the AstroBEAR code.

AstroBEAR now uses git as the version control system. We also use the GitFlow workflow for managing development, releases, and bug fixes. Developers should take a minute to read through the GitFlow workflow. Here is a summary for doing new development.

  1. Before starting a new development task, you should first make sure you have an up to date version of the code.
      git clone ssh://orda@botwin.pas.rochester.edu
    

and then create a new branch off of the development branch

  git checkout -b ticket_353 development

and then synchronize your new branch with the central repository.

  git push -u origin ticket_353

You can then modify code as necessary and then use git add to add any file changes to your next commit

  git add source/ZCooling.f90 modules/objects/tables.f90

Then commit your changes locally

  git commit -m "modified zcooling module to write ztable"

and then you can push those changes to the main repo

  git push

Previous Procedure


Test Your Changes

First, you'll want the newest revision of AstroBEAR. You could either make a new repository via hg clone, or pull the newest changeset into your current repository:

hg clone ssh://<username>@botwin.pas.rochester.edu//data/repositories/astrobear astrobear

OR

hg pull ssh://<username>@botwin.pas.rochester.edu//data/repositories/astrobear

Then make any desired or necessary changes, and compile your problem. Now run it, and check the output. If it still works, then you will want to commit these changes to your local repository. If you added new files that you want to be included you will need to do hg add before hg ci:

hg add <filename(s)>
hg ci -m "comments"

If it did not work, you will have to go back and check everything you have changed, fix it, recompile, rerun, and recheck. If everything works and you have committed your changes, you can push those updates to the development repo

  hg push -f ssh://<username>@botwin.pas.rochester.edu//data/repositories/astrobear_dev



The Administrator(s) Run the Test Suite

1) If everything passes the administrator would update the tests repository with the test results for visual verification - and after visually inspecting the results update the official code repository at /data/repository/astrobear
2) If a test fails the administrator would point you to the reference and simulation images as well as the necessary buildproblem commands (or problem modules and bear2fix commands) etc… to reproduce the failed test and leave it to you to determine why the test failed and to fix any possible bugs so that the test passes before was pushed in the official repository


Summary

new development procedure

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.