revert: move back off calendar versioning

Reverts the switch to calendar versioning, before it produced a release here.

release-please has no CalVer strategy, so the switch reset the version series by hand and pinned always-bump-patch. What that analysis missed is what release-please does to the changelog when the series it is walking no longer connects to the tag history: on MSIME-Apple it rewrote the whole file into a single 158-line 2026.9.1 entry that listed every feature since the first pull request as though it had just shipped. MSIME-Linux got a 64-line one. This repository had not released yet, so there is no changelog damage to undo and reverting now costs nothing.

Restores the 0.0.17 baseline across version.txt, .release-please-manifest.json and the version resource, drops always-bump-patch from the release-please config, and removes the monthly rollover workflow. The next release goes back to the previous series.

The three version lines the switch was meant to unify stay unaligned. That problem is real but wants a mechanism that does not fight release-please.
This commit is contained in:
Evan Hu committed 2026-09-06 00:51:32 +09:00
1 parent 1ec19ff277
commit 07d9ce91e5
5 files changed
+6 -90

No files matched your search

-83
View File
@@ -1,83 +0,0 @@
name: CalVer rollover
# release-please has no CalVer versioning strategy: its only options are default, always-bump-patch,
# always-bump-minor, always-bump-major, service-pack and prerelease. The configuration here pins
# always-bump-patch, which advances 2026.9.0 -> 2026.9.1 -> 2026.9.2 within a month but never moves
# the year or the month on its own.
#
# This job moves them. Without it CalVer would be a number that merely looks like a date, and keeping
# it truthful would be a manual edit somebody has to remember - the exact failure this project has
# already been bitten by elsewhere.
#
# It opens a pull request rather than pushing, because main is protected in some of these
# repositories and because a version change deserves a human glance.
on:
schedule:
- cron: '7 3 1 * *'
workflow_dispatch:
permissions:
contents: write
pull-requests: write
concurrency:
group: calver-rollover
cancel-in-progress: false
jobs:
rollover:
name: Open the month's version bump
runs-on: ubuntu-latest
timeout-minutes: 10
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Check out
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Decide whether the month moved
id: decide
run: |
set -euo pipefail
current=$(jq -r '."."' .release-please-manifest.json)
target="$(date -u +%Y).$(date -u +%-m).0"
echo "current=$current target=$target"
if [ "${current%.*}" = "${target%.*}" ]; then
echo "moved=false" >> "$GITHUB_OUTPUT"
echo "Already on ${target%.*}; nothing to do."
else
echo "moved=true" >> "$GITHUB_OUTPUT"
echo "target=$target" >> "$GITHUB_OUTPUT"
fi
- name: Apply the new version
if: steps.decide.outputs.moved == 'true'
run: |
set -euo pipefail
target='${{ steps.decide.outputs.target }}'
jq --arg v "$target" '."." = $v' .release-please-manifest.json > tmp && mv tmp .release-please-manifest.json
printf '%s\n' "$target" > version.txt
# Owns the VERSIONINFO block, which carries the number in two shapes and cannot be driven
# by release-please's generic updater.
python3 scripts/apply_version.py
python3 scripts/apply_version.py --check
- name: Open the pull request
if: steps.decide.outputs.moved == 'true'
run: |
set -euo pipefail
target='${{ steps.decide.outputs.target }}'
branch="chore/calver-$target"
if gh pr list --head "$branch" --state open --json number --jq 'length' | grep -qv '^0$'; then
echo "A pull request for $branch is already open."
exit 0
fi
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
git checkout -b "$branch"
git commit -aqm "chore(release): roll the calendar version to $target"
git push -u origin "$branch"
gh pr create --base "${GITHUB_REF_NAME}" --head "$branch" \
--title "chore(release): roll the calendar version to $target" \
--body "The calendar month moved, and release-please cannot advance a CalVer year or month on its own; its always-bump-patch strategy only walks the last component. Merging this resets the series to \`$target\` so the version keeps meaning what it says."
+1 -1
View File
@@ -1,3 +1,3 @@
{
".": "2026.9.0"
".": "0.0.17"
}
-1
View File
@@ -3,7 +3,6 @@
"packages": {
".": {
"release-type": "simple",
"versioning": "always-bump-patch",
"package-name": "MetasequoiaImeWindows",
"include-component-in-tag": false,
"include-v-in-tag": true,
+4 -4
View File
@@ -35,8 +35,8 @@ IDI_PUNCTUATION_OFF ICON "..\\..\\image\\PunctuationOff.i
//
IDR_VERSION2 VERSIONINFO
FILEVERSION 2026,9,0,0
PRODUCTVERSION 2026,9,0,0
FILEVERSION 0,0,17,0
PRODUCTVERSION 0,0,17,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -53,12 +53,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "MSFT"
VALUE "FileDescription", "The Metasequoia code of Windows 11 IME"
VALUE "FileVersion", "2026.9.0.0"
VALUE "FileVersion", "0.0.17.0"
VALUE "InternalName", "MetasequoiaIM.dll"
VALUE "LegalCopyright", "Copyright (C)"
VALUE "OriginalFilename", "MetasequoiaIM.dll"
VALUE "ProductName", "MetasequoiaIME"
VALUE "ProductVersion", "2026.9.0.0"
VALUE "ProductVersion", "0.0.17.0"
END
END
BLOCK "VarFileInfo"
+1 -1
View File
@@ -1 +1 @@
2026.9.0
0.0.17