Skip to content

Release 3.0.1 #819

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 22 commits into from
Closed

Release 3.0.1 #819

wants to merge 22 commits into from

Conversation

rebeccahum
Copy link
Contributor

@rebeccahum rebeccahum commented May 2, 2024

⚠️ DO NOT MERGE (YET) ⚠️

Remaining work for this Milestone

PR for tracking changes for the X.Y.Z release. Target release date: DOW DD MMMM YYYY.

  • Scan WordPress (or just wp-admin folder) with prior version and compare results against new release for potential new bugs.
  • Add change log for this release: PR #XXX
  • Double-check whether any dependencies need bumping.
  • Merge this PR.
  • Add signed release tag against main.
  • Close the current milestone.
  • Open a new milestone for the next release.
  • If any open PRs/issues which were milestoned for this release do not make it into the release, update their milestone.
  • Write a Lobby post.
  • Write an internal P2 post.
  • Open PR to update Review Bot dependencies.

@rebeccahum rebeccahum marked this pull request as ready for review May 2, 2024 18:12
@rebeccahum rebeccahum requested a review from a team as a code owner May 2, 2024 18:12
jrfnl and others added 22 commits May 2, 2024 20:18
Noticed this while having a quick look through the release PR. As this is not a file which is included in the release (`export-ignore`d via `.gitattributes`), I'm pulling this to `develop`.
Quick note on how best to install the dependencies so that `commit check` is ready to go.
This commit adds an initial Dependabot configuration to:
* Submit pull requests for security updates and version updates for GH Action runner dependencies.

At a later point in time, we could consider enabling it for Composer dependencies as well.

The configuration has been set up to:
* Run weekly (for now).
* The commit messages for PRs submitted by Dependabot will be prefixed according the unofficial conventions used in this repo up to now.
* The PRs will automatically be labelled with an appropriate label as already in use in this repo.

Refs:
* https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
* https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#versioning-strategy
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
While looking at this sniff for something unrelated, I started wondering if the signature definitions were still in line with WP Core.

Turned out they were not, though with the current checks being done in the sniff, this wasn't necessarily problematic (though it should have been, but that's for another PR).

Also see the [additional notes I've added to the review ticket](#507 (comment)).

Refs:
* https://developer.wordpress.org/reference/classes/wp_widget/wp_widget/
* https://developer.wordpress.org/reference/classes/walker/start_el/
* https://developer.wordpress.org/reference/classes/walker/end_el/
* https://developer.wordpress.org/reference/classes/walker/unset_children/
* Update a URL which is no longer valid.
* Ensure all steps have a name.
... which is expected later today.

* Builds against PHP 8.3 are no longer allowed to fail.
* Add _allowed to fail_ build against PHP 8.4.
The Squizlabs repo has been abandoned. The project continues in a fork in the PHPCSStandards organisation.

Ref:
* squizlabs/PHP_CodeSniffer 3932
*  Include `--dev` in require commands
* Use the full term `global` instead of the shorthand `g`
* Mirror "Installation" section structure to the structure on WordPress/WordPress-Coding-Standards
PHP_CodeSniffer 3.8.0 now allows for running the tests, which are based on the PHPCS native test suite, with PHPUnit 8 and 9.

This commit updates the package to take advantage of that.

Includes:
* Widening the PHPUnit version requirements.
* Adding the PHPUnit 8+ cache file to `.gitignore`.
* Updating the PHPUnit configuration to make sure that PHP deprecations will always show, even when on a high PHPUnit 9.6 version.
* Updating the info in `CONTRIBUTING`.
* Simplifications to the `quicktest` and `test` workflows.
    Also, the code coverage "high" run can now be run against PHP 8.3.
* Running PHPStan against PHP `latest` (couldn't previously be done due to the old PHPUnit version).
* Updating the `unit-tests` script to remove the PHP version based toggle, which is no longer needed.

Ref:
* PHPCSStandards/PHP_CodeSniffer 59
Update some old WPVIP Documentation links.
Since WP 6.0.0, term_exists() uses get_terms() internally`. See core.trac.wordpress.org/ticket/36949. This means that reporting this function as not being cached is not true anymore.

Fixes #720.
In WP 6.1.0, `get_page_by_title()` was changed to use `WP_Query` internally`. See core.trac.wordpress.org/ticket/36905. This means that reporting this function as not being cached is not true anymore.

Note that since WP 6.2.0, the function was reverted from using `WP_Query` but was deprecated in favour of using `WP_Query` directly. WordPress Coding Standards highlights this deprecation already.

See #801.
Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 2 to 3.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@v2...v3)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Okay, so apparently, there is a long-standing bug in the Microsoft package deploy process which caused `apt-get update` to fail in the first half hour after Microsoft has deployed a package.

The failure looks like this:
```
E: Failed to fetch https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/InRelease  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
```

As this only happens intermittently (after a MS package deploy), the chance of running into this bug are slim, but guess what: today I ran into it.

This change to the workflow is intended to prevent the next person running into this issue from having to waste time on figuring this out.

By splitting the "Install xmllint" step into two steps: one doing the `apt-get update` and one doing the actual install and making the first step one which is allowed to `continue-on-error`, this issue should hopefully not crop up anymore.

Any errors in the `apt-get update` step will now be ignored and as most errors which could potentially come from that step are irrelevant for the rest of the job anyway, this is fine.
If a relevant error would be surfaced, the next step (the xmllint install), will fail the job anyway.

Refs:
* actions/runner-images#3410
* dotnet/core#4167
"sirbrillig/phpcs-variable-analysis": "^2.11.17",
"squizlabs/php_codesniffer": "^3.7.2",
"squizlabs/php_codesniffer": "^3.8.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth bumping to ^3.9.0?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"phpcsstandards/phpcsextra": "^1.1.0",
"phpcsstandards/phpcsutils": "^1.0.8",
"phpcsstandards/phpcsextra": "^1.2.1",
"phpcsstandards/phpcsutils": "^1.0.9",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Latest is 1.0.11.

"phpcsstandards/phpcsextra": "^1.1.0",
"phpcsstandards/phpcsutils": "^1.0.8",
"phpcsstandards/phpcsextra": "^1.2.1",
"phpcsstandards/phpcsutils": "^1.0.9",
"sirbrillig/phpcs-variable-analysis": "^2.11.17",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also ?

Suggested change
"sirbrillig/phpcs-variable-analysis": "^2.11.17",
"sirbrillig/phpcs-variable-analysis": "^2.11.18",

"sirbrillig/phpcs-variable-analysis": "^2.11.17",
"squizlabs/php_codesniffer": "^3.7.2",
"squizlabs/php_codesniffer": "^3.8.0",
"wp-coding-standards/wpcs": "^3.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And:

Suggested change
"wp-coding-standards/wpcs": "^3.0"
"wp-coding-standards/wpcs": "^3.1.0"

@jrfnl
Copy link
Collaborator

jrfnl commented May 2, 2024

@rebeccahum If I look at the git graph, this branch looks wrong. Looks like everything has been cherrypicked from develop into a release branch.

If I look at the graph for previous releases, there have been one of two different workflows which look to have been followed:

  1. pull changelog to develop and merge develop to main via a PR, then tag the main branch to release.
  2. create a release branch based on develop which includes the changelog commit and pulled that branch to main, merge & tag main and once the release is out, main (or the release branch) should be merged to develop to get the changelog up to date in the develop branch.

The first workflow seems simplest to me.

Was there any particular reason not to do it that way this time ? Maybe time to document the release process properly and add a release-checklist.md file to the .github folder ? (unofficial convention)

@rebeccahum
Copy link
Contributor Author

Okay, I'll re-make this PR then.

@rebeccahum rebeccahum closed this May 8, 2024
rebeccahum added a commit that referenced this pull request May 8, 2024
rebeccahum added a commit that referenced this pull request May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants