Skip to content

The 0.1.2 release - #25

Merged
fabeat merged 1 commit into
mainfrom
release/0.1.2
Oct 30, 2026
Merged

fabeat merged 1 commit into
mainfrom
release/0.1.2

Conversation

@fabeat

@fabeat fabeat commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

The changelog gains the heading the release job reads, the version constant moves, and the download URL names the version that is published.

released="$(sed -n 's/^## \[\([^]]*\)\].*/\1/p' CHANGELOG.md | grep -v '^Unreleased$' | head -1)"
# → 0.1.2

The three things a release of this one needs

  1. The changelog heading — done.
  2. The version constant — src/Console/Application.php now says 0.1.2, and mdoffice --version answers it.
  3. The download URLs — the README's URL names mdoffice-0.1.2-macos-arm64. The assets are named after the version, so a URL naming a version that was never published is a 404 forever. The documentation site's installation page has the other four, and it is the last thing to change.

What is in it

Added — mdoffice theme init <deck.pptx> writes a theme from a deck.

Changed — a deck on standard output is the renderer's own bytes rather than a temporary file the command made and read back; theme init reads the theme it wrote back the way the library reads one.

What is left, and it is the part that costs time

Run the pipeline without a tag first. The release waits for every binary — five of them, published together — so one platform failing publishes nothing on any platform:

gh workflow run release.yml --ref main

That is the step that finds a platform that does not build, and it is the reason the v0.1.0 release was never published.

Then the tag, which is a person's to make:

git tag -a v0.1.2 -m v0.1.2
git push origin refs/tags/v0.1.2

And the checks afterwards, because the job cannot check what it does not know:

version=0.1.2
for asset in macos-arm64 macos-x86_64 linux-x86_64 linux-aarch64 windows-x64.exe; do
  curl -sSL -O "https://github.com/markdown-office/mdoffice/releases/latest/download/mdoffice-${version}-${asset}"
done
curl -sSL -O "https://github.com/markdown-office/mdoffice/releases/latest/download/mdoffice-${version}.phar"
curl -sSL -O https://github.com/markdown-office/mdoffice/releases/latest/download/SHA256SUMS
shasum -a 256 -c SHA256SUMS

This release needs the libraries' v0.3.0 first. The archive holds the newest release in the series the manifest names — ^0.3 for both — and not a branch, because a branch satisfies no constraint. So markdown-office/markdown-word v0.3.0 and markdown-office/markdown-presentation v0.3.0 have to be published before this tag, or the archive build cannot resolve them.

The Homebrew formula and the winget manifest are written by that repository's workflow from the release, and each opens a pull request for a person to merge.

The changelog gains the heading the release job reads, the version constant moves, and the download URL names the version that is published.
@sonarqubecloud

Copy link
Copy Markdown

@fabeat
fabeat merged commit 935e6b2 into main Oct 30, 2026
7 checks passed
@fabeat
fabeat deleted the release/0.1.2 branch October 30, 2026 15:22
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.

1 participant