Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The delivery life-cycle of ALMA has scheduled releases for COMMON (ACS + ARCHIVE + ICD) every two months, which means that new releases of ACS follow the same schedule. The releases are of the form COMMON-<YYYYMMM> (For instance COMMON-2019JUN). Each of these releases consist in several tasks besides the actual implementation of the features/improvements/bug-fixes. These tasks are:

  • Planning
    • Planning for the period
  • Release Tasks
    • Create base ticket with the following tasks
    :
    • Associated with a branch Branch and pull request for updating the ACS release version
    • Confluence page for the release notes
    • Create Jenkins (or the build system in use) jobs for the release
      • ExtProds building job
      • ACS building job
      • ACS testing job
      • ACS Pre-release/Release job
  • Implementation
    • Actual implementation of the tickets and tasks within the release schedule (1)
  • Integration
    • Create integration branch for the release 'integration/COMMON-YYYYMMM'
    • Merge pull-requests into the integration branch
    • Prepare a build of the release
    • Execute tests for the release
  • Publishing
    • Prepare one or more pre-releases during the two months period.
      • The last of them should include all the changes and be prepared at the end of the implementation phase as described in the release schedule (1)
      • If there are issues with the pre-release a new one must be prepared after bug-fixing any pending issue
    • Prepare the final release after the verification phase has finished according to release schedule (1)
  • Reporting
    • Send a memorandum at the beginning of each month reporting the work done during the previous month
      • There's two memorandums per
      release
    Prepare the final
      • release
    after the verification phase has finished according to release schedule (1)

Some releases may require additional care, like a special long-lived branch or additional Jenkins jobs, pre-releases, etc. An example of this is for the Java 11 upgrade. In the worst case scenario, this may imply repeating almost all the tasks for the special deliverable.

...