CASA Build and Test Group Meeting
Thursday, 1st October, 2015, 10:00; Room ER331.
Mark, Darrell, Ville, Akeem
Andy (in Chile)
Post-meeting edits and additions in blue text.
- Status of current CASA packages
- Release - 4.4.0 out for OS X (10.9 and 10.10) and RHEL 5 and 6
- Pipeline release (ALMA and VLA-focused) - 4.3.1 out for RHEL 5 and 6; OS X packages available
- 4.6 test/stable packages routinely being produced for RHEL5 and 6.
- 4.5 pre-release packages being produced for RHEL 5, 6 and OS X 10.9 and 10.10
- "Extended" tests being run on the tarball versions. Akeem has sent out appropriate reminder notes to long-term failing tests
- Final 4.5 public release more-or-less ready, pending management and Pipeline group approval
- We have 10% contributions from Masaya Kuniyoshi and Renaud Miel. Effectively, their contributions are probably primarily libsakura- and NAOJ-deployment related right now.
- Mark R. announced that he would be leaving NRAO, and will be going to work for the East Asian Observatory (EAO) at the James Clerk Maxwell Telescope (JCMT) in Hawaii. His last official work day will be November 20th, 2015. Jeff will announce how Mark's CASA responsibilities will be redistributed at a future date.
- B&T news/items from Charlottesville.
- Regression testing of OS X (10.10 and 10.9 test packages). Tests mostly seem to be passing at the moment? Some immoments-related test failures. The sdimaging tests fails annoyingly intermittently.
- New Mac Mini with OS X 10.11 now on order. This machine will not have the NRAO managed updates installed. Fix for building libsakura on OS X with XCode 7 seems to work.
- Subversion host migration. Status? The AOC sysadmins need an rsync server, and a link update is needed before the 4.5 public release. Document autogeneration has been implemented, and Kana seems happy with it.
- Feedback from Eduardo Miranda's consultancy exercise. Items particularly relevant to B&T?
- Git migration and Continuous Integration Planning
- Second full(-ish) version of document produced. To be sent to Rafael, Jeff, et al. by the end of this week. Any more comments to come?
- Mark R. currently on the hook for a 30-minute presentation to the (Charlottesville-based) CASA Users Committee meeting in October. Will need to have a clearer sense of how things will be done in practice (commits to casacore, etc.). Also to talk about Continuous Integration as an idea, and try to get a sense of how the community would feel about the release schedule implications if such an approach were to eventually be adopted. There was quite a lot of discussion regarding Jeff's desire for CASA public releases to only include science user-tested features. There was concern that the responsibility for combining all the disparate development work efforts would fall to the B&T Group, or that each feature would have to be presented to test users on a confusing "one branch per feature" basis. Moreover, it was noted that a "Write a feature, throw it over the fence to Science" model would cultivate an "us and them" culture, whereas experience has generally shown that the most progress is made when the science tester has "bought in" to the softare development process, and works and iterates closely with the developer. The difference between "Continuous Integration" (which we more-or-less do now) and "Continuous Delivery" (which we don't) was highlighted. It was noted that the steady supply of test/stable packages for the science user testing process could almost be considered to be "continuous delivery in microcosm".
- GitLab vs. Stash vs. GitHub Enterprise, etc.: Conclusions from last week's meeting with the various stakeholders: For self-hosting, there is a management preference for the Atlassian solution (formerly called Stash, now called Bitbucket Server). There was still some uncertainty apparent regarding associated costs, though. External code contributors will have to have user accounts, albeit with fewer privileges (e.g. no "git push"). The other main option discussed was hosting by an external service (probably Github). Various pros and cons were discussed, including cost/licensing/confidentiality implications, should NRAO undertake contract work from (e.g.) the U.S. Navy!
- If we do end up with out own NRAO-hosted Git set-up, could we bolt Travis CI onto it and test it on there for a small number of tests? Not insignificant work would be required for this, though...
- All present had attended a demonstration of the Lattix software suite earlier this week. The tools could potentially help significantly with structural analysis and refactoring of the CASA codebase. The solution is commercial, with a single "architect" license (which would allow site-wide access to some of the other functions) costs around US$6000. An academic discount of 15% could easily be obtained. Architect license could be registered to the rpmbuild account?
- Putting in some logic in the test suite for the system to ignore those tests that will fail, based on test failures earlier in the run. Test failure logic: Maybe run the unit tests first, and if they fail, then don't bother running subsequent longer tests that would consequently fail as well. This would help to keep the test run times down. We could also set up the system to share out tests between (a flexible number) of multiple hosts to keep the run times down. Ideally, doing both of the above would be best. Status?
- CASA test plan - Andy
- Any news since last time?
- Casaguide update on G192 from Akeem. <- Test helpers needed for this. Status?
- Incorporating graphs in to the existing report framework. Akeem now generates examples that span a 6-month period. Plots are available to developers from Akeem on request. This work should eventually be moved into a shared environment, but this can be done after the 4.5 public release.
- Getting accepted tests running on OSX. Darrell had agreed to help Akeem get the smoke tests running under Gradle on the Macs. Status? Work on this is almost done, with help from Ville. After the 4.5 CASA release, some more work will be needed in terms of tagging, etc.
- Review short-term task priority lists
- Darrell has been working on a new version of the build system, incorporating autoconf. The long-term aim is that it will identify the dependencies, etc., which could then be tracked via a database. This would make improvements at the module level possible.
- Ville has mostly been working on the Git migration. Replaces in place version information for now. This mostly "sort of" works. He has also been looking into Birbucket (the service, not the the self-hosting solution yet, under the assumption that the GUIs, etc. are not very different). He has concluded that it does not show branching information as clearly as GitLab. It also appears that Gists (https://en.wikipedia.org/wiki/GitHub#Gist) are not supported (but it is not known yet if those are something that the CASA team would want to use). Ville has also been cleaning up the Mac builds in Jenkins (cmake cache cleanup). We currently have two versions of Git: one for merges and one for patches. A build script is available, which can perform a nightly build, but it cannot (yet) handle all the necessary variations.
- Mac hardware availability for developers and user testers: still an issue? Dave now has a new Mac. Dave seems impressed with the speed of builds on his new Mac!
- Old Action Items
- Andy: Discuss Jenkins test for check-ins on OS X with Alexis: same (or different?) smoke tests for OS X as for Linux? Related: machines in Socorro for this? (See above). It is noted that this AI is not a pressing issue at this point. Andy had started to have some discussion with Alexis about this. Smoke tests are being run on the new Test Group Macs. They still need to discuss test coverage for OS X and Linux. Ongoing, with the understanding that this is a lower priority item than Alexis' other work, and that his remaining contract period is limited.
- Next meeting: TBA
- Any Other Business
New Action Items Arising