xjm / drupal_core_release Goto Github PK
View Code? Open in Web Editor NEWSet of scripts for preparing a Drupal core release
Set of scripts for preparing a Drupal core release
To get a term ID from a string:
To query for issues:
RestWS doesn't support OR/IN queries, so all combinations of field_issue_category & field_issue_status will have to be requested and results merged together.
https://www.drupal.org/project/drupal/issues/3364646 introduces a branch alias for 11.x, which is likely to stay more or less the same when we switch to a proper 'main' branch too.
I think the implications for the branching script are:
When we branch 10.2.x, we probably don't need to change very much because it all says 10.2.x already, but we'd want to remove the branch alias.
But we'll want to also update the 11.x branch so the alias is for 10.3.x instead of 10.2.x
RestWS doesn't support filters with OR, so all the permutations of category and status (and multiple pages if there are more than 50 of each) would need to be fetched.
This doesn't cover filtering by when this change happened in the issue changes field. That would be a separate request for every node. Not efficient at all but it could work.
(I could imagine GraphQL might be able to handle this better.)
An unanticipated consequence of the Drupal 8.8.0 release was that the version constraint in composer.lock was not updated (example: https://git.drupalcode.org/project/drupal/blob/8.8.0/composer.lock#L652)
This has a fairly minimal impact: it means that testing won't properly run against a tagged version - however, most often testing is run against the latest -dev. And this can be worked around in DrupalCI. Nevertheless - we should fix.
Suggested fix:
composer require --no-update drupal/core:$VERSION
composer update --lock
This needs testing and validation before being added to this script.
When we know it works - the documentation here should be updated as well: https://www.drupal.org/core/maintainers/create-core-release
Also related - in the long run, it would be great to convert all the steps of the script into a build pipeline that can be triggered on Drupal.org jenkins (or similar) and maintained and edited in a place where any release manager can use it. An issue for that is here: https://www.drupal.org/project/infrastructure/issues/3099100
When I try to run the branch script to create 8.4.x, it seems to add back the dev dependencies.
I've tried changing the script to add the --no-dev
option:
index ee08266..37f2d60 100755
--- a/branch.sh
+++ b/branch.sh
@@ -16,7 +16,8 @@ git checkout -b "$b"
sed -i '' -e "s/VERSION = '[0-9\.]*-dev'/VERSION = '$n-dev'/1" core/lib/Drupal.php
sed -i '' -e "s/\"drupal\/core\": \"~$cp\"/\"drupal\/core\": \"~$cn\"/1" composer.json
composer self-update
-composer update --lock
+composer install --no-dev
+composer update --no-dev --lock
git commit -am "Drupal $b-dev"
But this does not seem to resolve the issue or have any effect.
Here is the output when I run the script:
[ibnsina:maintainer | Fri 16:02:44] $ ../core_release/branch.sh
Enter the new branch name (e.g. 8.3.x):
8.4.x
Enter the original branch name (e.g. 8.2.x):
8.3.x
Already on '8.3.x'
Your branch is up-to-date with 'origin/8.3.x'.
Current branch 8.3.x is up to date.
Switched to a new branch '8.4.x'
You are already using composer version 1.3.1 (stable channel).
Loading composer repositories with package information
Installing dependencies from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Package operations: 0 installs, 0 updates, 26 removals
- Removing phpunit/phpunit (4.8.27)
- Removing phpspec/prophecy (v1.5.0)
- Removing phpunit/php-code-coverage (2.2.4)
- Removing phpunit/php-file-iterator (1.4.1)
- Removing phpunit/php-timer (1.0.7)
- Removing phpunit/phpunit-mock-objects (2.3.8)
- Removing phpunit/php-text-template (1.2.1)
- Removing doctrine/instantiator (1.0.5)
- Removing sebastian/comparator (1.2.0)
- Removing sebastian/diff (1.3.0)
- Removing sebastian/environment (1.3.2)
- Removing sebastian/exporter (1.2.1)
- Removing sebastian/recursion-context (1.0.1)
- Removing sebastian/global-state (1.0.0)
- Removing sebastian/version (1.0.6)
- Removing phpunit/php-token-stream (1.4.8)
- Removing phpdocumentor/reflection-docblock (2.0.4)
- Removing mikey179/vfsstream (v1.6.0)
- Removing jcalderonzumba/mink-phantomjs-driver (v0.3.1)
- Removing jcalderonzumba/gastonjs (v1.0.2)
- Removing behat/mink-goutte-driver (v1.2.1)
- Removing behat/mink-browserkit-driver (v1.3.2)
- Removing behat/mink (dev-master bb28774)
- Removing fabpot/goutte (v3.1.2)
- Removing symfony/browser-kit (v2.8.16)
- Removing symfony/css-selector (v2.8.16)
Generating autoload files
> Drupal\Core\Composer\Composer::preAutoloadDump
> Drupal\Core\Composer\Composer::ensureHtaccess
Loading composer repositories with package information
Updating dependencies
Package operations: 26 installs, 0 updates, 0 removals
- Installing symfony/css-selector (v2.8.16) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing symfony/browser-kit (v2.8.16) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing fabpot/goutte (v3.1.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing behat/mink (dev-master bb28774) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing behat/mink-browserkit-driver (v1.3.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing behat/mink-goutte-driver (v1.2.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing jcalderonzumba/gastonjs (v1.0.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing jcalderonzumba/mink-phantomjs-driver (v0.3.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing mikey179/vfsstream (v1.6.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpdocumentor/reflection-docblock (2.0.4) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpunit/php-token-stream (1.4.8) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing sebastian/version (1.0.6) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing sebastian/global-state (1.0.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing sebastian/recursion-context (1.0.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing sebastian/exporter (1.2.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing sebastian/environment (1.3.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing sebastian/diff (1.3.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing sebastian/comparator (1.2.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing doctrine/instantiator (1.0.5) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpunit/php-text-template (1.2.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpunit/phpunit-mock-objects (2.3.8) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpunit/php-timer (1.0.7) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpunit/php-file-iterator (1.4.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpunit/php-code-coverage (2.2.4) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpspec/prophecy (v1.5.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
- Installing phpunit/phpunit (4.8.27) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
Writing lock file
Generating autoload files
> Drupal\Core\Composer\Composer::preAutoloadDump
> Drupal\Core\Composer\Composer::ensureHtaccess
PHPCS: core/lib/Drupal.php passed
Committed <a href="http://cgit.drupalcode.org/drupal/commit/?id=b19a572">b19a572</a> and pushed to 8.4.x. Thanks!
[8.4.x b19a5727df] Drupal 8.4.x-dev
3 files changed, 1817 insertions(+), 1821 deletions(-)
Diff for the commit:
84x_composer_update.patch.txt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.