Commit 32c151319b for woocommerce
commit 32c151319b233f6f2e69590b71bc044feb4af766
Author: Jorge A. Torres <jorge.torres@automattic.com>
Date: Thu Nov 27 09:57:07 2025 +0000
Rename "Code Freeze" to "Feature Freeze" (#62112)
diff --git a/.github/workflows/release-assignment.yml b/.github/workflows/release-assignment.yml
index 3955390efe..511fe9f380 100644
--- a/.github/workflows/release-assignment.yml
+++ b/.github/workflows/release-assignment.yml
@@ -22,7 +22,7 @@ jobs:
steps:
- name: Install node-ical
run: npm install node-ical
- - name: Check for code freeze events
+ - name: Check for feature freeze events
id: check-code-freeze-8-weeks
uses: actions/github-script@v7
with:
@@ -63,14 +63,14 @@ jobs:
if (eventsInRange.length > 0) {
const date = eventsInRange[0].start.toISOString();
const version = eventsInRange[0].summary.match(/\d+\.\d+/)[0];
- console.log(`Found Code Freeze event: ${eventsInRange[0].summary}`);
+ console.log(`Found Feature Freeze event: ${eventsInRange[0].summary}`);
console.log(`Date: ${date}`);
console.log(`Version: ${version}`);
core.setOutput('should-trigger-webhook', 'true');
core.setOutput('version', version);
core.setOutput('feature-freeze-date', date);
} else {
- console.log(`No Code Freeze events found in the specified range.`);
+ console.log(`No Feature Freeze events found in the specified range.`);
core.setOutput('should-trigger-webhook', 'false');
}
} catch (error) {
diff --git a/.github/workflows/release-cfe-prr-issue-validation.yml b/.github/workflows/release-cfe-prr-issue-validation.yml
index 45c148451e..4da7b0161f 100644
--- a/.github/workflows/release-cfe-prr-issue-validation.yml
+++ b/.github/workflows/release-cfe-prr-issue-validation.yml
@@ -87,7 +87,7 @@ jobs:
core.setOutput(
'SLACK_MESSAGE',
- `:x: *${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) is not a release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
+ `:x: *${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) is not a release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
);
core.setOutput(
@@ -108,7 +108,7 @@ jobs:
core.setOutput(
'SLACK_MESSAGE',
- `:x: *${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) does not exist. Source request: _<${issueUrl}|${issueTitle}>_.`
+ `:x: *${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release Request'} was not processed:* target branch (\`${baseRefName}\`) does not exist. Source request: _<${issueUrl}|${issueTitle}>_.`
);
core.setOutput(
@@ -150,7 +150,7 @@ jobs:
core.setOutput(
'SLACK_MESSAGE',
- `:x: *${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release Request'} was not processed:* PR base (\`${baseRef}\`) is not a valid release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
+ `:x: *${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release Request'} was not processed:* PR base (\`${baseRef}\`) is not a valid release branch. Source request: _<${issueUrl}|${issueTitle}>_.`
);
core.setOutput(
@@ -225,9 +225,9 @@ jobs:
const issueUrl = event.issue.html_url;
const releaseNumber = process.env.RELEASE_NUMBER;
- const slackMessage = `*${labelName === 'code freeze exception' ? ':ice_cube: Code Freeze Exception request' : ':release: Point Release Request'} (${releaseNumber})*: _<${issueUrl}|${issueTitle}>_`;
+ const slackMessage = `*${labelName === 'code freeze exception' ? ':ice_cube: Feature Freeze Exception request' : ':release: Point Release Request'} (${releaseNumber})*: _<${issueUrl}|${issueTitle}>_`;
- const githubComment = `Your request for a ${labelName === 'code freeze exception' ? 'Code Freeze Exception' : 'Point Release'} targeting WC version **${releaseNumber}** has been successfully created and is pending approval from @woocommerce/flux.`;
+ const githubComment = `Your request for a ${labelName === 'code freeze exception' ? 'Feature Freeze Exception' : 'Point Release'} targeting WC version **${releaseNumber}** has been successfully created and is pending approval from @woocommerce/flux.`;
// Set the message as a core output
core.setOutput('SLACK_MESSAGE', slackMessage);
diff --git a/.github/workflows/release-code-freeze.yml b/.github/workflows/release-code-freeze.yml
index 76b03fbcaa..a169514c81 100644
--- a/.github/workflows/release-code-freeze.yml
+++ b/.github/workflows/release-code-freeze.yml
@@ -1,4 +1,4 @@
-name: 'Release: Enforce Code Freeze'
+name: 'Release: Enforce Feature Freeze'
on:
schedule:
- cron: '0 18 * * *' # Every day at 18h UTC
@@ -10,7 +10,7 @@ permissions:
issues: write
concurrency:
- group: release-code-freeze
+ group: release-feature-freeze
env:
GIT_COMMITTER_NAME: 'WooCommerce Bot'
@@ -61,14 +61,14 @@ jobs:
console.log(`Found Feature Freeze event: ${ffEvent.summary}`);
core.setOutput('should-run', 'true');
} else {
- console.log('No Feature Freeze events found for today. Code freeze will not proceed.');
+ console.log('No Feature Freeze events found for today. Feature freeze will not proceed.');
core.setOutput('should-run', 'false');
}
} catch (error) {
core.setFailed(`Failed to fetch calendar events: ${error.message}`);
}
- prepare-for-code-freeze:
+ prepare-for-feature-freeze:
name: Calculate versions and confirm repo is in a good state
needs: check-feature-freeze-event
if: ${{ needs.check-feature-freeze-event.outputs.should-run == 'true' }}
@@ -123,10 +123,10 @@ jobs:
core.setOutput( 'nextReleaseBranch', nextReleaseBranch );
core.setOutput( 'nextTrunkVersion', nextTrunkVersion );
- run-code-freeze:
- name: Perform code freeze
+ run-feature-freeze:
+ name: Perform feature freeze
runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
- needs: prepare-for-code-freeze
+ needs: prepare-for-feature-freeze
steps:
- name: Checkout trunk
uses: actions/checkout@v4
@@ -135,19 +135,19 @@ jobs:
- name: Push frozen branch to the repo
run: |
# Last opportunity to bail if branch already exists.
- if [[ -n $(git ls-remote --heads origin ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}) ]]; then
- echo "::error::Release branch '${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}' already exists."
+ if [[ -n $(git ls-remote --heads origin ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}) ]]; then
+ echo "::error::Release branch '${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}' already exists."
exit 1
fi
git checkout trunk
- git checkout -b ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}
- git push origin ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}
+ git checkout -b ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}
+ git push origin ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}
bump-version-in-trunk:
name: Bump version in trunk for next development cycle
uses: ./.github/workflows/release-bump-version.yml
- needs: [run-code-freeze]
+ needs: [run-feature-freeze]
secrets: inherit
with:
branch: trunk
@@ -156,16 +156,16 @@ jobs:
build-dev-release:
name: 'Build WooCommerce -dev release'
uses: ./.github/workflows/release-build-zip-file.yml
- needs: [prepare-for-code-freeze, run-code-freeze]
+ needs: [prepare-for-feature-freeze, run-feature-freeze]
with:
skip_verify: true
create_github_release: true
- branch: ${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}
+ branch: ${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}
publish-dev-release:
name: 'Publish -dev release'
runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
- needs: [prepare-for-code-freeze, build-dev-release]
+ needs: [prepare-for-feature-freeze, build-dev-release]
outputs:
release-zip: ${{ steps.publish-release.outputs.release-zip }}
steps:
@@ -174,17 +174,17 @@ jobs:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: |
- gh release edit '${{ needs.prepare-for-code-freeze.outputs.nextReleaseVersion }}-dev' \
+ gh release edit '${{ needs.prepare-for-feature-freeze.outputs.nextReleaseVersion }}-dev' \
--prerelease \
--latest=false \
--draft=false
- echo "release-zip=https://github.com/${{ github.repository }}/releases/download/${{ needs.prepare-for-code-freeze.outputs.nextReleaseVersion }}-dev/woocommerce.zip" >> $GITHUB_OUTPUT
+ echo "release-zip=https://github.com/${{ github.repository }}/releases/download/${{ needs.prepare-for-feature-freeze.outputs.nextReleaseVersion }}-dev/woocommerce.zip" >> $GITHUB_OUTPUT
notify-slack:
name: Notify Slack
runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
- needs: [publish-dev-release, prepare-for-code-freeze]
+ needs: [publish-dev-release, prepare-for-feature-freeze]
steps:
- name: Notify Slack on success
uses: archive/github-actions-slack@f530f3aa696b2eef0e5aba82450e387bd7723903 #v2.0.0
@@ -192,7 +192,7 @@ jobs:
slack-bot-user-oauth-access-token: ${{ secrets.CODE_FREEZE_BOT_TOKEN }}
slack-channel: ${{ secrets.WOO_RELEASE_SLACK_CHANNEL }}
slack-text: |
- :ice_cube: Code Freeze completed for `${{ needs.prepare-for-code-freeze.outputs.nextReleaseBranch }}` :checking:
+ :ice_cube: Feature Freeze completed for `${{ needs.prepare-for-feature-freeze.outputs.nextReleaseBranch }}` :checking:
If you need a fix or change to be included in this release, please request a backport following the <https://developer.woocommerce.com/docs/contribution/releases/backporting|Backporting Guide>.
<${{ needs.publish-dev-release.outputs.release-zip }}|Download zip>
slack-optional-unfurl_links: false
@@ -201,9 +201,9 @@ jobs:
trigger-webhook:
name: Trigger Release Webhook
runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
- needs: [publish-dev-release, prepare-for-code-freeze]
+ needs: [publish-dev-release, prepare-for-feature-freeze]
steps:
- - name: Trigger Code Freeze Webhook
+ - name: Trigger Feature Freeze Webhook
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7.0.1
with:
script: |
@@ -211,7 +211,7 @@ jobs:
const payload = {
action: 'feature-freeze',
- version: '${{ needs.prepare-for-code-freeze.outputs.nextReleaseVersion }}',
+ version: '${{ needs.prepare-for-feature-freeze.outputs.nextReleaseVersion }}',
build_zip: '${{ needs.publish-dev-release.outputs.release-zip }}',
status: process.env.ENVIRONMENT === 'production' ? 'publish' : 'draft'
};
@@ -260,7 +260,7 @@ jobs:
notify-slack-on-failure:
name: Notify Slack on Failure
runs-on: ${{ ( github.repository == 'woocommerce/woocommerce' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
- needs: [ check-feature-freeze-event, prepare-for-code-freeze, run-code-freeze, bump-version-in-trunk, build-dev-release, publish-dev-release, notify-slack, trigger-webhook ]
+ needs: [ check-feature-freeze-event, prepare-for-feature-freeze, run-feature-freeze, bump-version-in-trunk, build-dev-release, publish-dev-release, notify-slack, trigger-webhook ]
if: always() && ((contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')))
steps:
- name: Notify Slack on failure
@@ -269,7 +269,7 @@ jobs:
slack-bot-user-oauth-access-token: ${{ secrets.CODE_FREEZE_BOT_TOKEN }}
slack-channel: ${{ secrets.WOO_RELEASE_SLACK_CHANNEL }}
slack-text: |
- :x: Some steps in the Code Freeze workflow failed. Please check the logs for details and re-run if needed.
+ :x: Some steps in the Feature Freeze workflow failed. Please check the logs for details and re-run if needed.
<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View workflow run>
slack-optional-unfurl_links: false
slack-optional-unfurl_media: false
diff --git a/.github/workflows/release-open-issue-warning.yml b/.github/workflows/release-open-issue-warning.yml
index 1eb3d3e1fb..4137f66327 100644
--- a/.github/workflows/release-open-issue-warning.yml
+++ b/.github/workflows/release-open-issue-warning.yml
@@ -57,7 +57,7 @@ jobs:
core.setOutput('release-event-date', date);
core.setOutput('release-event-title', upcomingReleaseEvents[0].summary);
} else {
- console.log(`No Code Freeze events found in the specified range.`);
+ console.log(`No Feature Freeze events found in the specified range.`);
core.setOutput('release-event-found', 'false');
}
} catch (error) {
diff --git a/docs/contribution/releases/backporting.md b/docs/contribution/releases/backporting.md
index 61cc5d8ad7..fd739c1d07 100644
--- a/docs/contribution/releases/backporting.md
+++ b/docs/contribution/releases/backporting.md
@@ -10,7 +10,7 @@ Backporting is the process of applying changes from `trunk` to a release branch.
## Release Branch Lifecycle
-When a release branch is created, it's copied from `trunk` at the time of code freeze. After creation:
+When a release branch is created, it's copied from `trunk` at the time of feature freeze. After creation:
- The release branch no longer receives new feature updates
- Only critical changes are allowed
diff --git a/docs/contribution/releases/schedule.md b/docs/contribution/releases/schedule.md
index e3f1112ebb..20f61496d7 100644
--- a/docs/contribution/releases/schedule.md
+++ b/docs/contribution/releases/schedule.md
@@ -23,7 +23,7 @@ To view the actual schedule for current and upcoming releases, see our [release
### Feature Freeze & `-dev` release (day 1)
-As a result of the code freeze automation, a few things happen:
+As a result of the feature freeze automation, a few things happen:
- A dedicated release branch is created (`release/x.y`), where the future release undergoes testing and stabilization. No new features are included on this branch, only bug fixes.
- A `-dev` release is built and made available on GitHub.