Personal tools
You are here: Home > CS 342 Blog Entries > Folder with blog entries for Cooper Walbrun > Blog Entry for Week Ending March 31

Blog Entry for Week Ending March 31

by Walbrun, Cooper last modified Mar 31, 2017 04:01 PM

This week, I tackled a previously-existing issue in my group project's repository: continuous integration (herein abbreviated as "CI"). We are using Travis for our CI and until this week, we were experiencing build errors. These initial errors were not due to our source code, which made them much more difficult to resolve, but after I plunged into Plone's community and researched Travis' configuration using its own customized buildout and testing environment, I determined that the errors we were experiencing were based on dependency conflicts. In particular, the versions of the modules our project references were different than the versions that Travis' buildout was trying to access. The change required to fix this was actually quite small (it boiled down to adding a versional flag to the command that Travis uses to run buildout). However, during my exploration of the issue I coincidentally determined that there were other problems with our source code that would have led our unit/integration tests to fail. I have since fixed those as well; overall, I am glad we had the CI dilemma because it allowed me to find other problems with our project.

Because I am now aware of the potential discrepancy of dependencies' versions, I have done something called "pinning" - pinning declares a specific version of a specific dependency so that buildout always tries to use that particular version, rather than the current most-updated one Plone's servers have to offer. I have also configured our CI to do a build every 24 hours so that we will be made aware of any problems due to dependency updates immediately, in the event that a non-pinned dependency is updated to start causing issues. Of course, this automated CRON job will only execute if no pushes have been made to the repository in 24 hours; this is done so Travis does not spam our repository with builds.

Our source is not purified yet, though. My goal in the coming week is to target the issue we have noted in our repository's Issue Tracker in hopes of making our add-on run-ready and stable before Cory, Levi, or myself starts making additions and changes. Levi and I have covered some ground with respect to finding the cause of the error, although it remains obscure to us. As with almost every Plone problem we've encountered thus far, my diagnostic technique will be very trial-and-error oriented, as the wealth of documentation about Plone does not cover issues this specific to our project. With any luck, I should be able to at least narrow down the source of the issue (which revolves around displaying new badges in the web browser) and be able to pass this information on to Cory and Levi.

by Walbrun, Cooper last modified Mar 31, 2017 04:01 PM
CS emphasis accredited by

ABET logo

Contact Us

Computer Science Department
UW Oshkosh
800 Algoma Blvd.
Oshkosh, WI 54901

Phone: (920) 424-2068
Fax: (920) 424-0045
Building: Halsey Science Hall


Rooms: 229 (general office), 221 (David Furcy, chair)

Email: Send mail to chair at cschair@uwosh.edu