8000 ci: packaging workflows run on the self-hosted runner by adeelahmad · Pull Request #47 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

ci: packaging workflows run on the self-hosted runner - #47

Merged
adeelahmad merged 1 commit into
mainfrom
claude/self-hosted-runner-3c1oos
Oct 2, 2026
Merged

adeelahmad merged 1 commit into
mainfrom
claude/self-hosted-runner-3c1oos

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Description

Before: the Cloudron, QNAP and Synology workflows still used ubuntu-latest, so they failed now that the Actions minutes are gone. On the Mac runner, QNAP's clean-up step would have waited for a sudo password, and its docker system prune -af would have deleted every Docker image on the Mac.

After: all three use runs-on: self-hosted, like the rest of CI since #27.

  • QNAP
    • The disk clean-up step runs only on GitHub's runners.
    • Each job removes only the images it built.
    • The release-asset size check uses wc -c instead of GNU stat -c.
    • QNAP_ARM_RUNNER can still name another runner for the ARM build.
  • Cloudron
    • The image is always built for linux/amd64, with QEMU on an Apple silicon runner. Without this, a Mac would push an arm64 image.
    • GitHub's layer cache is used only on GitHub's runners.
  • Synology
    • build.sh falls back to md5 -r where md5sum is missing (macOS).
    • It sets COPYFILE_DISABLE=1 so macOS tar adds no ._ files.
    • QEMU is set up for both architectures.
    • Jobs remove their labelled images afterwards.

Motivation and Context

Follow-up to #27: GitHub-hosted minutes are used up, and everything now runs on the Mac runner. The Mac needs Docker running for these jobs.

Steps to reproduce (if appropriate):

Checks run locally: actionlint and the repository's pre-commit hooks on the changed files, shellcheck and sh -n on build.sh, and the checksum line on Linux. The md5 -r fallback hasn't been run: it is macOS-only and this environment is Linux. The workflows themselves only run on a release or by hand, so they are not exercised by this PR.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires documentation updates.
  • I have updated the documentation accordingly.
  • My change requires dependencies updates.
  • I have updated the dependencies accordingly.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JifG4FUAcs7EFGrcotkEDz


Generated by Claude Code

Cloudron, QNAP and Synology build on runs-on: self-hosted like the other workflows.
- QNAP's disk clean-up (sudo, docker system prune) runs on GitHub's runners only: on a Mac it would wait for a
  password and delete its owner's images. Each packaging job now removes only the images it built.
- The Cloudron image is built for linux/amd64 whatever the runner's architecture, and uses GitHub's layer cache
  only on GitHub's runners.
- Synology's build.sh computes the checksum with md5 where md5sum is missing (macOS) and leaves macOS
  resource-fork files out of the package; QEMU is set up for both architectures.
- QNAP's release-asset size check uses wc -c instead of GNU stat.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JifG4FUAcs7EFGrcotkEDz
@adeelahmad
adeelahmad merged commit b5fa679 into main Oct 2, 2026
@adeelahmad adeelahmad mentioned this pull request Oct 2, 2026
2 of 8 tasks
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

0