Integration Branch

  • Each ACS software release has an integration branch associated for development and Phase A testing
  • The branch 'integration/COMMON-YYYYXXX' is created from 'master' for these purposes during the Release Tasks activities
  • This can be easily be created through the BitBucket interface

Pull Requests

  • The implementation phase was finished by creating a pull request for each branch related to the release
  • Each of these pull requests should be merged into the integration branch
    • There's a script that does this automatically in the repo adc-sw:
      • GIT/scripts/merge-pull-requests.py <Repo Path> <Integration Branch> <Release Name>

      • For instance: GIT/scripts/merge-pull-requests.py ~/integration/almasw integration/COMMON-2019JUN COMMON-2019JUN

    • This is the same as going through each ticket of the release and manually merging the related branch into the <Integration Branch>
    • At the end of the merging process, the changes to the integration branch should be pushed to the remote server

Build

  • Once all the pull requests are merged in the remote branch, a build can be issued through the Jenkins release view
  • The build is expected to finish with all modules correctly compiled

Tests

  • After the build has finished successfully, a test session can be issues through the Jenkins release view
  • Ideally, we would expect all the tests to pass, but there are a number of them historically failing
    • In the meantime, a better approach is to compare the number of failures with previous test runs and expect a similar number

Finishing

After all the tests are passing and the pull requests date for the release in Release Calendars has been reached, Publishing the pre-release to IRM and the stakeholders is required. Once IRM has finished the verification phase, the release can be published internally and to the community according to the Release Calendars.

  • No labels