{{{ #!html

DRAFT

}}} = Workflow Policy = This policy governs how source code changes eventually end up as packages in the production repository. == Committing Code == Prereq: Changes tested by developer. TTL: 2 business days Anyone with repository access may commit code changes. When appropriate, new Changelog entries should be created. If you do not intend to immediately upload the package, the Distribution should be listed as "UNRELEASED". Each commit generates mail to source-commits@mit.edu. Any discussion about the commit should be summarized in e-mail by replying to the original commit message, even if the discussion happens over Zephyr. Commits should be reviewed within 2 business days. Code should be ACK'd by at least $num members of debathena-root. An ACK may occur by e-mail (replying to the original commit mail) or by zephyr to class debathena, instance r$rev. If an ACK does not ocur == Uploading to Alpha (development) == Prereq: Explicit ACK or commit TTL exceeded. TTL: n/a Once code has been approved or the TTL has exceeded, it may be built and uploaded to the alpha (`development`) repository. At this point, it should be tested by as many developers as possible. Code requires 2 explicit ACKs to proceed to the next stage. An ACK may occur in a Trac comment; a reply to a Trac e-mail, or a zephyr to debathena,apt,* with a body indicating the ACK and the package name and version. == Uploading to Beta (proposed) == Prereq: Two explicit ACKs while in alpha stage. TTL: 3 business days Once the changes have been approved in Alpha, the package is moved to the beta (`proposed`) repository. At this point, it is now available to the general public (e.g. beta machines in W20). Any developers who have not already tested the package should do so. A package must remain in proposed for up to 3 business days, unless it receives explicit approval from IS&T development and support. == Upload to Production == Prereq: (Explicit approval OR beta TTL expiration) AND ( ( today != Friday ) AND ( today != day_before_institute_holiday ) ) Once the beta TTL has expired or approval has been obtained, the package may be moved to the production repository. This should not happen on Fridays or days before Insitute holidays without discussion by release-team.