CASA 3.3 Release Status and Process

Previous release notes

Page Status: New and incomplete

Here is a summary what has been happening on the CASA 3.3.0 release so far, and what we plan for the remainder of the release. Some of this is a continuation of existing processes. Some of this has changed for this release.

This page describes the current process, not the ideal process. We will discuss improvements to this process after we complete the 3.3.0 release based on experience with this release.

Status

2011-09-20: Latest test results

Tests run by "regression.py"

All pass

Tests run by "runUnitTest.py"

platform branch test developer
L32 both test_importasdm_sd:FAILED (failures=2) takeshi.nakazato
all both test_rg_fromtextfile:FAILED (errors=1) dmehring
Mac both test_setjy:FAILED (errors=11) rreid
all both test_uvcontsub:FAILED (errors=8) rreid

platform key:
  • all = Failed on both Linux and Mac.
  • L32 = Failed on 32 bit Linux (RHEL 5.5).
  • L64 = Failed on 64 bit Linux (RHEL 5.6).
  • Mac = Failed on 64 bit Mac (OS X 10).

branch key:
  • both = Failed on active and stable branches.
  • stable = Failed only on stable branch.

Process

Feature Freeze

The CASA 3.3.0 release feature freeze was discussed in CASA staff meetings, with a planned date of 2011-09-15. The freeze was announced on 2011-09-16.

"active" Branch

This process was in place before the start of the CASA 3.3.0 release process. It will remain in place after we complete this release.

Builds

Automated builds run on each check in to Subversion. The developer who checked in a change is notified of any failures.

Build status is available at https://casa-jenkins.nrao.edu/

Tests

On a successful automated build, python/2.6/runUnitTest.py is run to execute a subset of tool and task tests. The developer who checked in a change is notified of any failures.

Test status is available at https://casa-jenkins.nrao.edu/

Bug Fixes

Bug fixes to issues found on the active branch must be checked in to the active branch.

"test" Branch

Builds

Changes from active marked "Ready for Test" are manually merged to the test branch periodically (at this time, twice a week). Changes are built manually. If changes fail to build, additional code is selectively merged in from active until code builds. If this is not sufficient, developers will be asked to help resolve build issues. If build issues can not resolved, changes that cause issues will be blocked from the test branch.

Tests

On a successful manual build, we manually run linux_64b/python/2.6/regression.py to execute a subset of regression tests. When all tests pass, we update code/VERSION (and casacore/VERSION if casacore has changed) with the current date and time, and check in merged code to the test branch. This triggers an automated build and full regression test run on a set of servers in CV. Developers are notified of regression test failures. The product of the automated build is copied to (TBD), where other automated systems may pick up the build and install it for user testing.

Bug Fixes

Bug fixes to issues found on the test branch must be checked in to the active branch. They will be merged back to the test branch as part of routine test branch updates.

"stable" Branch

Builds

During a feature freeze, only changes that developers explicitly ask for are merged from the test branch to the stable branch. Only bug fixes for features already in the stable branch will be accepted. Exceptions will be made as directed by management.

On a successful manual build after merging changes from test to stable, we manually run linux_64b/python/2.6/regression.py to execute a subset of regression tests. When all tests pass, we manually run linux_64b/python/2.6/runUnitTest.py to execute all tests.

When most tests pass, we merge updates on the test branch to the branch stable/2011/09, update code/VERSION (and casacore/VERSION if casacore has changed) with the current date and time, and check in merged code to the stable branch.

This triggers an automated build and full regression test run on a set of servers in CV. Developers are notified of regression test failures. The product of the automated build is copied to (TBD), where other automated systems may pick up the build and install it for user testing.

Once test failures on the test branch have been reduced to a manageable level, we will create a new stable/casa-3.2.0-X branch. This will include all changes on the test branch at the time.

Once this branch is created and confirmed to build correctly, it will be copied to stable/current. This triggers an automated build and test run on a set of servers in CV. Developers are notified of test failures. The product of the automated build is copied to (TBD), where other automated systems may pick up the build and install it for user testing.

Tests

EU ARC Beta Testing results

Bug Fixes

Bug fixes to issues found on the stable branch must be checked in to the active branch. They will be merged back to the test branch as part of routine test branch updates. Developers must request these fixes be merged to the stable branch.

If necessary, bug fixes to issues found on the stable branch must be checked in to the stable branch. Only bug fixes to bugs found on the stable branch may be checked directly in to the stable branch.

I will manually build and test bug fixes to the stable branch. If they succeed, the branch will be copied to stable/current. This will trigger the automated build and test described above.

I will merge bug fixes from the stable branch to the active branch periodically (TBD).

"release" Branch

Builds

Once the stable branch has been sufficiently tested (not well defined), we will create a new release/casa-3.2.0 branch. This will include all changes on the stable/casa-3.2.0-X branch at the time.

Once this branch is created and confirmed to build correctly, it will be copied to stable/current. This will trigger automated builds and tests on a set of servers in CV. Developers are notified of test failures. The product of the automated build is copied to (TBD), where other automated systems may pick up the build and install it for user testing.

Tests

TBD

Bug Fixes

Bug fixes to issues found on the release branch must be checked in to the release branch. Only bug fixes to bugs found on the release branch may be checked in to the release branch.

I will manually build and test bug fixes to the release branch. If they succeed, the branch will be copied to release/current. This will trigger the automated build and test described above.

I will merge bug fixes from the release branch to the active branch periodically (TBD).

-- ScottRankin - 2011-08-17
Topic revision: r5 - 2011-09-29, DirkPetry
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback