Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-76403

Bump all versions, requires and dependencies near 4.1 release

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 4.1
    • 4.1
    • General, Installation
    • MOODLE_401_STABLE
    • MOODLE_401_STABLE
    • MDL-76403-master
    • Hide

      A) Definition: "VERSION" == 2022112800 (planned release version/date)
      B) Definition: "REQUIRE" == 2022111800 (current Beta/RCX) - set to RC1

      export VERSION=2022112800
      export REQUIRE=2022111800
      

      0) TEST: Verify that CiBoT is completely green in this issue, specifically no lines having comments and missing full-stops should be reported.

      Only master needs to be tested with the following points:

      1) TEST: Visually verify that all the changes in the patch point to the correct "VERSION" versions and all the requires and dependencies point to the correct "REQUIRE" and nothing else is changed.

      • Note main version.php file must be >= "REQUIRE". Any dependency using the ANY_VERSION constant should remain unchanged by the patch.
      • Note that some lines may have comments with a final full-stop added if previously missing.

      2) Upgrade from 4.0dev version using the web interface

      • TEST: In the plugins screen ALL the plugins are showing "to upgrade" (or removed).
      • TEST: All the target versions show "VERSION" and all the dependencies show the "REQUIRE" version along the whole page.
      • TEST: Run upgrade. Ends without error.

      3) Verify that there isn't any plugin version.php file missing the "VERSION". Something like this should do the trick (ignore main version.php, that's ok, will be updated on release day):

      find . -name version.php | grep -v fixtures | xargs grep -L $VERSION
      

      4) Verify that there isn't any plugin version.php containing a comment with anything looking like a numeric version. Can be verified by checking that there aren't cases returned by:

      find . -name version.php | xargs grep -P '; *\/.*[0-9.]{3}'
      

      5) Verify that there isn't any plugin->release in core, it's no sense there. Can be verified running:

      find . -name version.php | xargs grep -P '>release' | grep -v fixtures
      

      6) TEST: To integrators, minutes after integration, verify the "Check version.php files (master)" job in the integration server ends without error, that everything points to "VERSION" / "REQUIRE" versions and that the report does not include any "ERROR" looking to the generated "versions_check_set.txt" file in the workspace. Note some "WARN" can exist. But that's not relevant for this issue.

      Show
      A) Definition: "VERSION" == 2022112800 (planned release version/date) B) Definition: "REQUIRE" == 2022111800 (current Beta/RCX) - set to RC1 export VERSION=2022112800 export REQUIRE=2022111800 0) TEST: Verify that CiBoT is completely green in this issue, specifically no lines having comments and missing full-stops should be reported. Only master needs to be tested with the following points: 1) TEST: Visually verify that all the changes in the patch point to the correct "VERSION" versions and all the requires and dependencies point to the correct "REQUIRE" and nothing else is changed. Note main version.php file must be >= "REQUIRE". Any dependency using the ANY_VERSION constant should remain unchanged by the patch. Note that some lines may have comments with a final full-stop added if previously missing. 2) Upgrade from 4.0dev version using the web interface TEST: In the plugins screen ALL the plugins are showing "to upgrade" (or removed). TEST: All the target versions show "VERSION" and all the dependencies show the "REQUIRE" version along the whole page. TEST: Run upgrade. Ends without error. 3) Verify that there isn't any plugin version.php file missing the "VERSION". Something like this should do the trick (ignore main version.php, that's ok, will be updated on release day): find . -name version.php | grep -v fixtures | xargs grep -L $VERSION 4) Verify that there isn't any plugin version.php containing a comment with anything looking like a numeric version. Can be verified by checking that there aren't cases returned by: find . -name version.php | xargs grep -P '; *\/.*[0-9.]{3}' 5) Verify that there isn't any plugin->release in core, it's no sense there. Can be verified running: find . -name version.php | xargs grep -P '>release' | grep -v fixtures 6) TEST: To integrators, minutes after integration, verify the "Check version.php files (master)" job in the integration server ends without error, that everything points to "VERSION" / "REQUIRE" versions and that the report does not include any "ERROR" looking to the generated "versions_check_set.txt" file in the workspace. Note some "WARN" can exist. But that's not relevant for this issue.

    Description

      This task corresponds to point #3 of:

      https://docs.moodle.org/dev/Release_process#1_week_prior

      And it's achieved in a semi-automated way with the "versions_check_set.sh" script available @ https://github.com/moodlehq/moodle-local_ci/blob/master/versions_check_set/versions_check_set.sh

      1) In a git, working, dev branch to be released site with the ci local plugin installed.

      2) Define and export all the env variables required by the script.

      • $WORKSPACE: Path to the directory where test reults will be sent (/tmp)
      • $phpcmd: Path to the PHP CLI executable (/usr/bin/php)
      • $gitdir: Directory containing git repo (the dirroot of the git, working site)
      • $setversion: 10digits (YYYYMMDD00) to set all versions to. Empty = not set. Since Moodle 2.7 it has been agreed to perform the bump to the planned release version. For easier automated checks later in stable-land.
      • $setrequires: 10digits (YYYYMMDD00) to set all requires to. Empty = default to $setversion. Since Moodle 2.7 it has been agreed to perform the requires bump to current master version (usually a RC one).

      3) Run it. With errors, they will be reported and fixing will be necessary. (look for ERROR in the $WORKSPACE/versions_check_set.txt file and/or check exit status of the script)

      4) Without errors, all the versions, requires and dependencies will be bumped.

      5) Commit

      6) Note that the main version file is NOT updated at all. One extra commit bumping it may be necessary (to anything >= requires version).

      7) Run the checker again to verify that there are no errors and no more changes are performed.

      Note the checker is also run periodically by the ci server and also as part of the "remote_branch_checker", so normally all the version.php files should be under control.

      (This issue will be cloned for each major release).

      Ciao

      Attachments

        Issue Links

          Activity

            People

              jpataleta Jun Pataleta
              jpataleta Jun Pataleta
              Eloy Lafuente (stronk7) Eloy Lafuente (stronk7)
              Andrew Lyons Andrew Lyons
              Kim Jared Lucas Kim Jared Lucas
              Adrian Greeve, David Woloszyn, Huong Nguyen, Jake Dallimore, Meirza, Michael Hawkins, Raquel Ortega, Safat Shahin, Stevani Andolo, Matteo Scaramuccia, David Woloszyn, Huong Nguyen, Jake Dallimore, Meirza, Michael Hawkins, Raquel Ortega, Safat Shahin, Stevani Andolo
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                28/Nov/22

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 hours, 15 minutes
                  2h 15m