Skip to content

fix: pin Linux packaging sources to LF so AUR digests match on Windows - #3

Merged
roethlar merged 2 commits into
mainfrom
fix/aur-digest-line-endings
Sep 30, 2026
Merged

roethlar merged 2 commits into
mainfrom
fix/aur-digest-line-endings

Conversation

@roethlar

Copy link
Copy Markdown
Owner

Problem

Test · Windows has failed on every completed CI run on main since f5cf464 (2026-08-08). Two tests fail, both in tests/test_package_managers.py:

  • AurGeneratorTests.test_pkgbuild_and_srcinfo_match_goldens
  • AurGeneratorTests.test_generate_aur_package_writes_tree

The AppImage and installer builds were not affected.

Cause

The AUR generator hashes packaging/linux/am-configurator.desktop and am_configurator/data/60-am-neon-80.rules as working-tree bytes. The repo had no .gitattributes, so the Windows runner checked those files out with CRLF and the digests in the rendered PKGBUILD no longer matched the goldens.

Change

  • Add .gitattributes pinning *.desktop, *.rules, *.sh, and packaging/linux/AppRun to LF.
  • Drop the assertion in tests/test_packaging.py that .gitattributes must not exist. It was listed as a removed path only because its single rule was the FFmpeg manifest rule. The guard that fails when the retired token appears in .gitattributes is unchanged.
  • Record the repair in .agents/state.md.

Verification

  • Reproduced in a core.autocrlf=true clone of 4cf4d13: the same 2 tests fail with the same digests as CI. With .gitattributes added, all 21 tests in the module pass.
  • Token guard still bites: reintroducing the retired token into .gitattributes fails test_current_surfaces_have_no_retired_media_tool_reference.
  • Full local entry point on macOS: 769 Python tests, 193 web tests, compileall, all node --check steps, and uv build pass.
  • The Windows runner result is this PR's CI run.

🤖 Generated with Claude Code

roethlar and others added 2 commits September 29, 2026 10:27
The AUR generator hashes the desktop entry and udev rules as working-tree
bytes. With no .gitattributes, the Windows runner checked them out CRLF,
so the rendered PKGBUILD digests diverged from the goldens and
Test · Windows failed on every CI run since f5cf464.

Pin *.desktop, *.rules, *.sh, and packaging/linux/AppRun to LF.

The FFmpeg-removal guard listed .gitattributes as a removed path only
because its single rule was the FFmpeg manifest rule. Drop that existence
assertion; the token guard over .gitattributes is unchanged and still
fails when the retired token is reintroduced.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@roethlar roethlar closed this Sep 30, 2026
@roethlar
roethlar merged commit 72cf2e3 into main Sep 30, 2026
@roethlar
roethlar deleted the fix/aur-digest-line-endings branch September 30, 2026 19:41
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