No description
  • Shell 83.3%
  • Ruby 16.7%
Find a file
Steve Juma 3b39dac1e4
All checks were successful
Validate Homebrew Tap / validate-linux-formula (push) Successful in 2s
Update workflow
2026-05-27 22:39:30 +01:00
.forgejo/workflows Update workflow 2026-05-27 22:39:30 +01:00
Casks handle unsigned macOS app installs 2026-05-27 22:39:30 +01:00
Formula Update workflow 2026-05-27 22:39:30 +01:00
scripts Update workflow 2026-05-27 22:39:30 +01:00
.gitignore scaffold homebrew tap 2026-05-27 16:17:40 +01:00
README.md Update workflow 2026-05-27 22:39:30 +01:00

Lapis Notes Homebrew Tap

Homebrew tap for installing Lapis Notes from Forgejo releases.

The repository can be scaffolded before the first public desktop release exists, but Casks/lapis-notes.rb and Formula/lapis-notes.rb must not be published with placeholder versions or SHA256 values.

Install

brew tap lapis-notes/tap https://code.ju.ma/lapis-notes/homebrew-tap.git
brew install --cask lapis-notes/tap/lapis-notes

On Linux, install the formula:

brew tap lapis-notes/tap https://code.ju.ma/lapis-notes/homebrew-tap.git
brew install lapis-notes/tap/lapis-notes

Upgrade

brew update
brew upgrade --cask lapis-notes

On Linux:

brew update
brew upgrade lapis-notes

Uninstall

brew uninstall --cask lapis-notes

On Linux:

brew uninstall lapis-notes

Remove app data as well after the zap paths have been verified for the Electron app:

brew uninstall --zap --cask lapis-notes

Maintainer Release Process

  1. From the main repo, run the local release command or the Forgejo manual desktop release workflow to verify the repo, create the tag/release, and upload release assets.

    FORGEJO_TOKEN=<token> pnpm desktop:release:local -- --version <version-without-v> --targets all
    

    On the current Ubuntu-only Forgejo runner, the workflow can build Linux assets only. Use the local command on macOS when you need macOS DMGs and ZIPs as part of the same release.

  2. Run the manual Homebrew publication workflow in the main repo, or update the tap locally with:

    ./scripts/update-cask.sh <version-without-v>
    ./scripts/update-formula.sh <version-without-v>
    
  3. Verify the generated diff and, before publish, confirm the app bundle name and the correct macOS data paths for any future zap stanza.

  4. Run the validation script against the local checkout or the published Forgejo URL:

    ./scripts/validate-tap.sh
    ./scripts/validate-tap.sh --source https://code.ju.ma/lapis-notes/homebrew-tap.git
    
  5. Test locally by hand if you want to open the installed app and verify the unsigned build is unquarantined:

    brew untap lapis-notes/tap || true
    brew tap lapis-notes/tap https://code.ju.ma/lapis-notes/homebrew-tap.git
    brew install --cask lapis-notes/tap/lapis-notes
    xattr -p com.apple.quarantine "/Applications/Lapis Notes.app"
    open -a "Lapis Notes"
    brew uninstall --cask lapis-notes
    brew audit --cask --new lapis-notes/tap/lapis-notes
    brew livecheck --cask lapis-notes/tap/lapis-notes
    

    The xattr -p command should fail once the cask postflight hook has removed com.apple.quarantine.

  6. Commit and push:

    git add .forgejo/workflows/validate.yml Casks/lapis-notes.rb Formula/lapis-notes.rb README.md scripts/update-cask.sh scripts/update-formula.sh scripts/validate-tap.sh
    git commit -m "lapis-notes: update to <version>"
    git push origin main
    

Validation

Run the bundled validation script after Casks/lapis-notes.rb and/or Formula/lapis-notes.rb have real version and checksum values:

./scripts/validate-tap.sh

Useful options:

  • --source <path-or-url> validates the tap from a local checkout or the published Forgejo remote.
  • --skip-install skips both cask and formula installation.
  • --skip-cask skips macOS cask validation.
  • --skip-cask-install skips macOS cask installation but keeps cask audit/livecheck on macOS.
  • --skip-formula skips Linux formula validation.
  • --skip-formula-install skips Linux formula install/test but keeps formula audit.
  • --skip-livecheck avoids failing on transient Forgejo HTML changes.
  • --skip-open skips launching the installed app.

The repository also includes .forgejo/workflows/validate.yml for Ubuntu-based Linux formula validation. It exits cleanly while the formula still contains placeholder release metadata. macOS cask install validation remains local/manual until a macOS Forgejo runner is available.

While builds are unsigned, the cask removes com.apple.quarantine from the installed app bundle in postflight so launch does not depend on a manual Finder override.

Notes

  • The tap uses the explicit Forgejo git URL because brew tap owner/repo assumes GitHub.

  • The update scripts assume hyphenated release asset names:

    • Lapis-Notes-<version>-mac-arm64.dmg
    • Lapis-Notes-<version>-mac-x64.dmg
    • Lapis-Notes-<version>-linux-x64.tar.gz
  • Do not push a public cask or formula with placeholder version or checksum values.