Skip to content

Include usability/volume fixes and add AUR release automation#6

Merged
OneNoted merged 9 commits intomainfrom
aur-packaging
Apr 16, 2026
Merged

Include usability/volume fixes and add AUR release automation#6
OneNoted merged 9 commits intomainfrom
aur-packaging

Conversation

@OneNoted
Copy link
Copy Markdown
Owner

@OneNoted OneNoted commented Apr 16, 2026

Summary

  • improve TUI usability and harden the Bluetooth volume reset behavior before the packaging changes
  • add a tagged-release workflow that builds a reusable Linux archive containing orators, oratorsctl, oratorsd, and the packaged user service unit
  • add orators-bin and orators-git AUR package sources, install messaging, maintainer docs, and AUR sync automation
  • address follow-up review feedback and CI portability issues in the AUR/release tooling

Why

We want Orators to be installable from the AUR with a stable -bin package driven by GitHub tagged releases and a -git package that tracks the latest GitHub branch state, while also carrying forward the outstanding usability and volume fixes that were still only local.

Commit order

  1. feat: improve tui usability
  2. fix: investigate volume reset to zero
  3. chore: add GitHub release bundling
  4. chore: add AUR package definitions
  5. chore: automate AUR publishing
  6. fix: address AUR review feedback
  7. fix: address CI and review follow-up
  8. fix: trigger aur-git sync on srcinfo changes
  9. fix: stage all AUR package files

Review and CI follow-up

  • orators-git no longer uses cargo build --frozen, so first-time AUR builds can fetch crates from the lockfile in a clean environment
  • scripts/release/build-release-archive.sh now passes the requested --target through to Cargo and stages binaries from the matching target directory
  • the release checksum file now records the archive basename instead of an absolute runner path, so published .sha256 files are portable to end-user machines
  • ./scripts/validate_packaging.sh now checks both target propagation and checksum portability, and it uses plain grep instead of requiring rg on the CI runner
  • .github/workflows/aur-git.yml now also triggers when scripts/aur/generate_srcinfo.sh changes, so .SRCINFO generation fixes propagate to the AUR automation without a manual workflow run
  • scripts/aur/publish_aur_package.sh now stages the full mirrored AUR repository state with git add -A, so future helper files, patch files, and deletions cannot drift out of sync with the rsynced package directory

User impact

  • users get the TUI usability improvements and the Bluetooth volume reset fix in the same branch
  • Arch users can install orators-bin from release artifacts or orators-git from source
  • packaged installs now prefer a shipped /usr/lib/systemd/user/oratorsd.service unit over writing a user unit by default
  • release publishing can update orators-bin automatically once the repository AUR SSH key secret is configured

Notes

  • both AUR variants currently depend on bluez-alsa-git, because that is the BlueALSA package currently available in the AUR
  • the AUR publisher bootstraps the first push to master if the AUR git repo does not exist yet

Validation

  • cargo test --workspace
  • cargo clippy --workspace --all-targets -- -D warnings
  • ./scripts/validate_packaging.sh

@OneNoted OneNoted marked this pull request as ready for review April 16, 2026 07:26
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a34ef949c7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packaging/aur/orators-git/PKGBUILD Outdated
Comment thread scripts/release/build-release-archive.sh Outdated
@OneNoted OneNoted changed the title Add GitHub releases and AUR packaging automation Include usability/volume fixes and add AUR release automation Apr 16, 2026
@OneNoted OneNoted marked this pull request as draft April 16, 2026 07:30
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4f38c27ab6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

install -Dm644 LICENSE "$stage_dir/$archive_root/LICENSE"

tar -C "$stage_dir" -czf "$archive_path" "$archive_root"
sha256sum "$archive_path" > "$checksum_path"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Write portable checksum entries

Computing the checksum with sha256sum "$archive_path" records the runner’s absolute path inside the published .sha256 file. That makes sha256sum -c fail for users who download the release assets, because the embedded path (for example under /home/runner/...) does not exist on their machine. Generate the checksum using the archive basename (or from within output_dir) so the checksum file can be verified locally.

Useful? React with 👍 / 👎.

@OneNoted OneNoted marked this pull request as ready for review April 16, 2026 07:47
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 20d7c2ef24

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/aur-git.yml
@OneNoted OneNoted marked this pull request as draft April 16, 2026 08:18
@OneNoted OneNoted marked this pull request as ready for review April 16, 2026 08:26
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3189475f28

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/aur/publish_aur_package.sh Outdated
"${repo_root}/scripts/aur/generate_srcinfo.sh" "$PWD/PKGBUILD" > .SRCINFO
git config user.name "$packager_name"
git config user.email "$packager_email"
git add PKGBUILD .SRCINFO *.install
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Stage all mirrored files before publishing AUR updates

rsync --delete mirrors the entire package directory into the temp repo, but the subsequent git add PKGBUILD .SRCINFO *.install only stages a narrow subset of paths. If packaging later adds/removes any other tracked artifact (for example patch files or helper sources referenced by source=()), those changes are left unstaged, so the pushed AUR repo can become stale and diverge from the mirrored content.

Useful? React with 👍 / 👎.

@OneNoted OneNoted merged commit fa12a6f into main Apr 16, 2026
1 check 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.

1 participant