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

Bump all versions, requires and dependencies near the 5.0 release

XMLWordPrintable

    • MOODLE_500_STABLE
    • MOODLE_500_STABLE
    • MDL-85147-main
    • Hide

      A) Definition: "VERSION" ==  2025041400(planned release version/date)
      B) Definition: "REQUIRE" == 2025040800 (current Beta/RCX) - set to RC2

      export VERSION=2025041400
      export REQUIRE=2025040800
      

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

      Only the main branch 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 5.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) Verify that there are no plugins with a non-"MATURITY_STABLE" maturity, except for tool_moodlenet, and communication providers customlink and matrix. This can be verified by running

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

      7) TEST: To integrators, minutes after integration, verify that the "Check version.php files (main)" 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 that some "WARN" can exist, but that's not relevant to this issue.

      Show
      A) Definition: " VERSION " ==  2025041400(planned release version/date) B) Definition: " REQUIRE " == 2025040800 (current Beta/RCX) - set to RC2 export VERSION=2025041400 export REQUIRE=2025040800 0) TEST: Verify that CiBoT is completely green in this issue. Specifically, no lines with comments and missing full stops should be reported. Only the main branch 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 5.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) Verify that there are no plugins with a non-" MATURITY_STABLE " maturity, except for tool_moodlenet, and communication providers customlink and matrix. This can be verified by running find . -name version.php | xargs grep -P '>maturity' | grep - v 'MATURITY_STABLE' | grep - v fixtures 7) TEST: To integrators, minutes after integration, verify that the "Check version.php files (main)" 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 that some "WARN" can exist, but that's not relevant to this issue.
    • Hide

      Code verified against automated checks.

      Checked MDL-85147 using repository: https://github.com/junpataleta/moodle.git

      More information about this report

      Built on: Thu Apr 10 05:16:22 UTC 2025

      Show
      Code verified against automated checks. Checked MDL-85147 using repository: https://github.com/junpataleta/moodle.git main (0 errors / 0 warnings) [branch: MDL-85147-main | CI Job ] More information about this report Built on: Thu Apr 10 05:16:22 UTC 2025
    • Show
      Launching automatic jobs for branch MDL-85147 -main https://ci.moodle.org/view/Testing/job/DEV.02%20-%20Developer-requested%20PHPUnit/18966/ PHPUnit (sqlsrv) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64914/ Behat (NonJS - boost and classic) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64915/ Behat (Firefox - boost) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64916/ Behat (Firefox - classic) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64917/ App tests (stable app version) Built on: Thu Apr 10 06:25:14 UTC 2025
    • 1
    • Team Dragons 2025 Sprint 1.4

      This task corresponds to point #3 of the 1 week prior release tasks.

      It's achieved semi-automatically using the "versions_check_set.sh" script available in the local_ci plugin.

      1) Create a working main instance local_ci plugin installed. Remove Composer's "vendor" directory and any non-core plugins if you're working on an existing instance.

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

      • $WORKSPACE: Path to the directory where test results will be sent (/tmp)
      • $phpcmd: Path to the PHP CLI executable (e.g. /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 bump to the planned release version for easier automated checks later in stable land.
      • $setrequires: 10 digits (YYYYMMDD00) to set all required values. Empty = default to $setversion. Since Moodle 2.7, it has been agreed to perform the required bump to the current master version (usually an RC one).

      3) Run the "versions_check_set.sh" script. If there are errors, they will be reported, and fixing them will be necessary. (look for "ERROR" in the $WORKSPACE/versions_check_set.txt file and/or check the 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 may be necessary (to anything >= requires version).

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

      Note that the checker is also run periodically by the CI server and 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

        1. test 2.png
          test 2.png
          933 kB
        2. test 3.png
          test 3.png
          153 kB
        3. test 4.png
          test 4.png
          28 kB
        4. test 5.png
          test 5.png
          146 kB
        5. test 6.png
          test 6.png
          164 kB

            jpataleta Jun Pataleta
            jpataleta Jun Pataleta
            David Woloszyn David Woloszyn
            Huong Nguyen Huong Nguyen
            Ron Carl Alfon Yu Ron Carl Alfon Yu
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

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

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.