Community RE Report from the Bleeding Edge

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Java Software Quality Assurance Tools Michael Slattery Indianapolis Java Users Group Meeting April 24, 2002.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Rich Hypermedia for NB Requirements and Release Process Version 3.3 CSEM Consulting ICS 225 – Spring 2002.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Development Strategies for Web Applications Jonathan Babbage National Superconducting Cyclotron Laboratory.
1 Lecture 19 Configuration Management Software Engineering.
EGEE is a project funded by the European Union under contract IST Build Infrastructure & Release Procedures Integration.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Editing & Compiling: UNIX vs. IDE and an Intro to Architecture.
How Users Can Help a Project? Samisa Abeysinghe. Who Am I? Samisa Abeysinghe –ASF Member WS PMC –Projects Started with Apache Axis/C++ Now with Apache.
Samba – Good Just Keeps Getting Better The new and not so new features available in Samba, and how they benefit your organization. Copyright 2002 © Dustin.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
Www2.computer.org Web Publishing Training Leo Wadsworth, Staff Manager April 2008.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Conclusion of software change The last phase of software change The activities.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Version Control How and why to control changes in a software artifact.
The complex world of Quality Assurance on OpenOffice.org Thorsten Ziehm Manager Quality Assurance for Ooo/SO at Sun Microsystems.
Environment & Education & More Dan Bothell. Overview Data Teaching Materials Environment Other ACT-R 5.0 and RPM issues.
1 ● Jens-Heiner Rechtien > Software developer, RE – Sun Microsystems, Inc. The state of the OpenOffice.org SCM migration project 1.
Software Documentation in an Agile Environment
Version Control Systems
CS5220 Advanced Topics in Web Programming Version Control with Git
Locale—Localization—Release
Configuration Management
Open-O Integration Project Introduction
Stress Free Deployments with Octopus Deploy
Configuration Management
Software Engineering (CSI 321)
Quality Assurance Week 5 Winter quarter 02/04/02 SOS
Exam 0 review CS 360 Lecture 8.
DataGrid Quality Assurance
Working in Groups in Canvas
SVN intro (review).
TFS Database Import Service for Visual Studio Team Services
Configuration Management
Sessions 1 & 3: Published Document Session Summary
LCGAA nightlies infrastructure
CVS revisions UML diagram
Contributing to Open Source Projects
Version Control Systems
Linux Not in textbook.
Contributing to Open Source Projects
Version Control System
Applied Software Implementation & Testing
X in [Integration, Delivery, Deployment]
Design and Programming
YeahMobi CD Practice based on Container -- openstack meetup
Software project mgt. session # 3– lab manual.
Git Best Practices Jay Patel Git Best Practices.
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Chapter 25 – Configuration Management
CSE 303 Concepts and Tools for Software Development
Your code is not just…your code
RNG Implementation Release 1.
CS5123 Software Validation and Quality Assurance
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Daily Batch Process for Demand Forecasting
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Workflows at Austin Water Labs
Your code is not just…your code
Product Development & Planning
Presentation transcript:

Community RE Report from the Bleeding Edge Pavel Janík

Release Engineering Release Engineering is a sub-discipline in software engineering concerned with the compilation, assembly and delivery of source code into finished products or other software components. In larger projects the specialty of the release engineer can be applied to co-ordinate disparate source trees, projects, teams and components. Wikipedia

OpenOffice.org development process

Development process Planning Coding Quality Assurance Process Integration Release

The Plan Ideas for evaluation New features Bug fixes Enhancements (RFEs) → issue in bug tracking system IssueZilla ID (#i67898#) Specification (description, design, strings) Community can participate, bad organization

The Code Child WorkSpace is a playground for developers EIS Plan CWS (CWS in state Planned) Create CWS (mail to [cws-announce] mailing list, New) Add tasks/issues to it Fix/implement issue Commit to CWS (with commit message #i67898#: comment) Work is done (CWS is marked as Ready for QA) Community is getting used to CWS, EIS

The Quality Who should be QA? QA by community member (non-Sun) is not that often The exception being in modules config_office and l10n Verify the changes done by developer What should be tested? What tests should be performed? EIS Mark CWS as Approved by QA The result is: many QAed CWS waiting for decision.

The Process What should go in and when? Difficult job Late integration can delay other work Integration can reveal some hidden bugs What is better? In typical development Close to the release OOO680 vs, SRC680 Community involvement Ratte decides ;-) Community not involved Discuss stuff on IRC (lobbyism ;-), ask for nomination

The Integration “Manual work” Merge all pieces together Solve potential conflicts, keep things consistent CWS in the Integrated phase Community No community participation – is it needed at all? Q for Sun RE team ;-) This part is hidden for community, perfectly working black box Minor issues (configure.in)

Integrated child workspaces in SRC680

The Release Milestones Build Test Announce ([cws-announce] mailing list) Tag Upload Community Another black box Community waiting for [cws-announce] mails Q: can we make RSS feed out of this data in EIS? (#i54445#)

My build system (community RE)

My build system Why? Sun only builds for several languages (Czech is not there) Am I able to build this beast at all? One script for all systems (many if and else ;-) Other teams want/need help Sun doesn't build on other systems/platforms Sun doesn't use configure, we have to test it My testing area

The process Announcement Mail in [cws-announce] is the beginning Sometimes I even test not-yet-ready milestone tag OOoPlanet entry about new milestone, IRC topic change Q: can we make RSS feed out of this data in EIS? ;-) Preparation Update of the source tree, pack tarball, update patches Clean integrated stuff Check integrated child workspaces Start Build-0 for en-US and cs (ccache) on GNU/Linux POT files generated, upload them update translations More information about translation-related parts in Adam's presentation Sync my tree to ftp.linux.cz

The process II Build GNU/Linux first Microsoft Windows Mac OS X (Solaris/SPARC) Solaris/x86 still missing Simple tests Upload (with build logs) Another work (CWS, testing, new stuff) Q: Are you able to follow more milestones a week without affecting your other work? I can't.

Some statistics GNU/Linux and Windows machine: Pentium IV, 2.8 Ghz, 800 MHz FSB 1G RAM SUSE Linux 9.0, Windows 2003 server 34 languages (full build) Windows: 30 hours GNU/Linux: 15 hours, 10 hours with ccache en-US only Windows: 15 hours GNU/Linux: 2 hours 15 minutes (with ccache)

What can we do better

Potential problems Not regenerated configure I have to create one myself (on GNU/Linux only, I can't run autoconf on all systems) Add it to the build system Sync and start the build again Can tinderbox build help? Moving tags Regenerate source tarball Re-sync Sometimes not announced On SRX645, we received 3 announces for m57! Effective method of solving potential problems (P1 build issues)!

P1 build issues Simple problems How to effectively solve them? Current process file P1 issue in IZ mail rt, CC: the main actor Is there a better way? Milestones on Saturday? Tag milestones earlier before announcement so we can pre-test it Q: this has been changed recently...

Builds produced by Sun RE Sun is using distributed build system fast builds for their developers reusing the results of previous builds Problems

Questions, discussion

About Pavel Janík http://blog.janik.cz/ Free software GNU project member, Emacs developer (in the past) OpenOffice.org member of Community Council, ESC co-lead L10N lead CS Native-Lang project regular builder (32 languages) Other life independent consultant large enterprises government and public companies and institutions in CZ and EU