Versions Compared

Key

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

Child pages (Children Display)

A few months prior to finalizing a new release of ACME, there will be a scientific "feature freeze" on a specified date.

...

A.  After the specified date, no code that introduces new scientific capabilities of the model can be introduced to the version being finalized.  More specifically, a

  1. Steps 1 and 2 of Phase 1 of the /wiki/spaces/CNCL/pages/25231511 must be competed for the feature.
  2. A github "pull request" for completed code implementing the feature must be made before the feature freeze date/time.    
    1. Example:   all ACME v1 features must have their coding complete and have a PR issued by 11:59:59 pm PT, .

Q.  What if the pull request for my needed feature misses the deadline?

...

A.  The executive committee/Council retains the option of allowing exceptions, but exceptions will be few and should not be expected.

Q. Why is the feature freeze deadline so far in advance of the release?

A.  The integrators need time to bring all the new features to master including new tests and resolve any conflicts (Step 3 of Phase 1 of the /wiki/spaces/CNCL/pages/25231511) and the coupled model and performance groups need time to complete their testing/review (Phase 2 of the /wiki/spaces/CNCL/pages/25231511.)

Q. What about alpha and beta versions?

A. See the documentation at Branch, Tag, and Version name conventions

Q.  Can I add code/features for the version being prepared for release before its alpha or beta tags?

A. No.  The only changes allowed during the alpha/beta phase are to fix problems with the climate simulations or performance as revealed by Phase 2 of the /wiki/spaces/CNCL/pages/25231511.

Q.  What if the feature is completed after the freeze but "turned off" and doesn't change answers and we'd like it in the v1 release?

A.  You can still add such features to the code base but first the testing must verify that the model is still bit-for-bit identical AND doesn't break the features that made it.  If testing can not verify that, the feature does not go in to the release being finalized. This case is still under discussion.

Q. What about code for new diagnostics or new data sets?

A. If the new code does not change answers, it can still be integrated to master before the release.

...

A.  Of course if bugs are found in the frozen features during integration testing, fixes for those bugs can go in.

...

A.  Wait until the maintenance branch has been established for the version being finalized.  After that, master can accept answer- or climate-changing code for future versions.

...

A.  The build/test system will have a different feature freeze date but the same rules apply.

Q. When can I no longer make any changes at all to any part of the code base in the version being finalized?

A.  That is the "code freeze" date and will happen shortly before the release.