Skip to content

feat(changelog): improve Downloads section with AppImages, arm64, and Tauri - #1455

Merged
ErikBjare merged 2 commits into
ActivityWatch:masterfrom
TimeToBuildBob:fix/downloads-section-improvements
Sep 18, 2026
Merged

ErikBjare merged 2 commits into
ActivityWatch:masterfrom
TimeToBuildBob:fix/downloads-section-improvements

Conversation

@TimeToBuildBob

Copy link
Copy Markdown
Contributor

Addresses #1453.

Changes

  • macOS arm64 (Apple Silicon): Added alongside the existing Intel link
  • Linux AppImage and .deb: Added alongside the existing .zip
  • Tauri distribution section: New subsection clearly labelled "experimental" with a note about native Wayland support on Linux
  • Refactor: Extracted the base download URL into a variable to reduce repetition and improve readability
  • Tauri AppImage naming: The Tauri auto-updater AppImage assets omit the v prefix from the version string (e.g. activitywatch-tauri-0.14.0b7-linux-x86_64.AppImage), handled with tag.lstrip("v")

Result

The generated Downloads section in release notes will now look like:

# Downloads

## Classic distribution

 - **Windows** (.exe installer)
 - **macOS**: Intel | Apple Silicon (.dmg)
 - **Linux**: .zip | .AppImage | .deb

## Tauri distribution (experimental — native Wayland support on Linux)

 - **Windows** (.exe installer)
 - **macOS**: Intel | Apple Silicon (.dmg)
 - **Linux**: .AppImage | .zip

… Tauri

- Add macOS Apple Silicon (arm64) links alongside Intel
- Add Linux AppImage and .deb alongside .zip
- Add Tauri distribution section (experimental) noting native Wayland support
- Extract base URL into variable to reduce repetition
- Handle Tauri AppImage naming which omits the 'v' version prefix

Closes ActivityWatch#1453

Git-Session-Id: 25fa
@greptile-apps

greptile-apps Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 3/5

This PR is not safe to merge until the broken Tauri AppImage URL and the Research Edition download-link cleanup regression are fixed.

Findings

  1. P1 Broken Tauri AppImage Link
  2. P1 Research Links Escape Cleanup

Summary

This PR expands generated release-note downloads with architecture-specific macOS links, additional Linux formats, and an experimental Tauri section while extracting the common release URL.

  • Adds Classic Apple Silicon, AppImage, and Debian package links.
  • Adds Tauri downloads for Windows, macOS, and Linux.
  • Introduces one incorrect Tauri AppImage filename and makes existing Research Edition download cleanup incomplete.

Reviews (1) · Last reviewed commit: "feat(changelog): improve Downloads secti..."

Comment thread scripts/build_changelog.py
Comment thread scripts/build_changelog.py
@TimeToBuildBob

TimeToBuildBob commented Sep 18, 2026

Copy link
Copy Markdown
Contributor Author

🤖 AI code review

Safe to merge — 1 P1 disposed (rejected)

Updated after inline dispositions on finding threads — this is the current state; the verdict below is frozen at review time and is kept as the historical record of that pass.

Finding disposition
Finding Severity State
scripts/build_changelog.py:432 P1 rejected — The reviewer's verification checked only the 'Package Linux (Tauri bundles)' step in release.yml (lines 1186-1204) and i

This PR updates the release-notes generation to add a Downloads section with Classic and Tauri distribution subsections, including new macOS arm64, Linux AppImage, and .deb links. It also updates the research-edition release-notes cleanup regex in the release workflow to strip both linked and plain-label download lines and remove the now-empty distribution sub-headings.

Not safe to merge — 1 P1 open

Confidence 3/5

⚠️ 1 of 2 changed files were not fully read. Claims that an identifier is never assigned, used, or called are discarded unless verification names only fully preloaded files. This coverage describes the bounded context preload; the diff was reviewed.

1 finding · ❌ 1 P1

❌ P1 highscripts/build_changelog.py:432

The Tauri Linux AppImage link uses tag_no_v = tag.lstrip("v"), but the actual Tauri AppImage artifact produced by the workflow is named activitywatch-tauri-${VERSION_WITH_V}-linux-${ARCH}.AppImage (see the 'Package Linux (Tauri bundles)' step, which copies to dist/activitywatch-tauri${EDITION}-${VERSION_WITH_V}-linux-${ARCH}.${ext}). VERSION_WITH_V is the tag with the leading 'v' retained (e.g. v0.14.0b7), so the real asset is activitywatch-tauri-v0.14.0b7-linux-x86_64.AppImage, not activitywatch-tauri-0.14.0b7-linux-x86_64.AppImage. The PR description claims the updater assets omit the 'v', but the release-notes link points at the versioned bundle copied in the Package step, which keeps the 'v'. The generated link will therefore 404 for every Tauri Linux AppImage download.

- **Linux**: [.AppImage]({base}/activitywatch-tauri-{tag_no_v}-linux-x86_64.AppImage) | [.deb]({base}/activitywatch-tauri-{tag}-linux-x86_64.deb)

How this was verified: Checked the 'Package Linux (Tauri bundles)' step in .github/workflows/release.yml (lines 1186-1204): it copies to dist/activitywatch-tauri${EDITION}-${VERSION_WITH_V}-linux-${ARCH}.${ext} where VERSION_WITH_V is set from getversion.sh and retains the 'v' (line 960-967). The changelog's tag is the full tag with 'v' (line 419). So the AppImage filename includes 'v', contradicting the tag_no_v substitution.

Files changed (2) — the diff as I read it
  • .github/workflows/release.yml — Expands the research-edition release-notes regex to strip both linked and plain-label download lines and removes the Classic/Tauri distribution sub-headings.
  • scripts/build_changelog.py — Replaces the single Downloads list with Classic and Tauri subsections, adds arm64/AppImage/.deb links, and introduces tag_no_v for the Tauri AppImage URL.
Previous review passes
commit score findings engine when
f1dfa850974b 5/5 0 llm 2026-09-18 10:56 UTC

Reviewed 6ce31b46fb8d · openrouter/deepseek/deepseek-v4-flash-0731 · llm engine · 50s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

@ErikBjare

Copy link
Copy Markdown
Member

@TimeToBuildBob Dupe of #1454?

@ErikBjare

Copy link
Copy Markdown
Member

@TimeToBuildBob address issues?

Greptile flagged that the research-edition Downloads cleanup regex only
matched the linked-label line form (`[**Windows**](url)`), so the new
per-arch macOS/Linux lines (`**macOS**: [Intel](url) | ...`) survived
cleanup and kept pointing at standard-edition filenames that don't exist
on research releases. Match both forms, and drop the now-empty Classic/Tauri
distribution sub-headings.

Git-Session-Id: a604ad9e-eb0a-5c04-8def-2a95b4e134a2
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

Not a dupe — #1454 was a simpler earlier attempt and got closed in favor of this PR (more comprehensive: base-URL extraction, arm64, AppImage/.deb, Tauri section, correct AppImage version-string handling).

On Greptile's two P1s:

  • "Broken Tauri AppImage Link" — false positive. Checked the actual v0.14.0b7 release assets: the AppImage is published as activitywatch-tauri-0.14.0b7-linux-x86_64.AppImage (no v), while the Windows/macOS/zip artifacts keep the v prefix. The PR's tag_no_v usage for the AppImage link matches reality.
  • "Research Links Escape Cleanup" — real bug, now fixed (pushed 6ce31b4). The release workflow's research-edition cleanup regex only stripped the old [**Platform**](url) line form. This PR's new per-arch macOS/Linux lines use a different form (**macOS**: [Intel](url) | [Apple Silicon](url)), which slipped past that regex and would have left broken standard-edition links in research release notes. Updated the regex to match both forms and drop the now-empty Classic/Tauri sub-headings.

The macOS-15-intel CI failure was an unrelated transient ENOTFOUND during artifact upload (GitHub Actions network flake, not a code issue) — the new push retriggered a fresh run.

Comment thread scripts/build_changelog.py
@ErikBjare
ErikBjare merged commit 36862c6 into ActivityWatch:master Sep 18, 2026
21 checks passed
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.

2 participants