A GitHub workflow that monitors the build status of packages you maintain in nixpkgs by checking r.ryantm logs.
r-ryantm is a bot that runs automated update scripts for nixpkgs. When successful, it creates PRs and tags maintainers. However, when updates fail, they fail silently (as far as I know) - leaving maintainers potentially unaware of available upstream updates.
This project:
- Identifies all packages maintained by a specific maintainer handle
- Note: only top-level packages are checked by default, i.e. pkgs., not pkgs... Setting the
EXTRA_PACKAGE_SETS
repository variable will enable checking specific namespaces as needed.
- Note: only top-level packages are checked by default, i.e. pkgs., not pkgs... Setting the
- Checks the r-ryantm logs for each package
- Creates GitHub issues when:
- Build failures are detected
- Log pages are missing (possibly indicating a missing or misconfigured update script)
- Fork this repository or copy the files to your own account
- Configure the following repository variables (Settings -> Secrets and variables -> Actions -> Variables -> New repository variable):
MAINTAINER_HANDLE
: Your Nixpkgs maintainer handle (required)IGNORE_PKGS
: Comma-separated list of packages to ignore (optional)EXTRA_PACKAGE_SETS
: Comma-separated list of additional package sets to search in (optional)
Example:
MAINTAINER_HANDLE: vinnymeller
IGNORE_PKGS: ltex-ls,jetbrains-mono
EXTRA_PACKAGE_SETS: haskellPackages,nodePackages,python312Packages
- The workflow runs daily at 8:00 UTC by default, or you can trigger it manually
The workflow:
- Clones the latest nixpkgs repository
- Uses
find_maintained.nix
to identify packages you maintain - For each package:
- Checks r-ryantm logs for build failures
- Skips packages listed in IGNORE_PKGS
- Creates GitHub issues for failures or missing logs
This helps you stay informed about packages that need attention without having to manually monitor each one.