knl/niv Updater Action

A GitHub action that detects updates to dependencies tracked by niv and creates pull requests to keep them up to date.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Maintainedlast commit Sep 22, 2025
License
BSD

Pinned Snippet

workflow.ymlSHA-pinned
uses: knl/niv-updater-action@5b63ba471a2acbde9fec87d8cfc123a4c0d5e210 # v15

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
pull_request_baseThe name of the branch to issue the pull requests against. Defaults to an empty string, which means to take the default branch for the repository.no""
sources_fileThe path in the repo to the sources.json file. This value will be passed to niv via `--sources-file` option. Defaults to `nix/sources.json`.nonix/sources.json
niv_versionThe niv version to be used. Defaults to `master`, meaning niv-updater-action will take the latest niv for each run. You may want to fix a particular version and avoid future breaks to your workflow.nomaster
keep_updatingIf PR already exists, keep it updated with new changes. The branch will be force updated, as this process keeps a single commit on a branch. Defaults to false to maintain the old behaviour.nofalse
branch_prefixThe prefix used for update branches, created by this action. The action does not sanitize the branch name. For a description of what a valid branch name is, please consult: https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html. Defaults to "update/".noupdate/
skip_versioned_revisionsIf `true`, will cause the action to skip updating any dependency that has a version in their revision. This is due to the way niv currently works, where it will always update to the latest HEAD of a branch. Thus, if one have a dependency where, for example, `rev=v1.0.0`, niv would normally update it to the latest head of the branch, making `rev` holding the appropriate SHA. This is something one would not normally expect. Thus, this option exists until niv fixes the behaviour. Defaults to `true`.notrue
skip_ssh_reposIf `true`, will cause the action to skip updating any dependency that is hosted by a repo accessible via ssh. Defaults to `false`.nofalse
whitelistA list of dependencies, comma separated, that will be checked for updates. Other dependencies tracked by niv will not be checked for updates. This list will be consulted before the blacklist. It defaults to the list of all dependencies tracked by niv.no""
blacklistA list of dependencies, comma separated, to skip from updating. This list will be consulted after evaluating the whitelist.no""
labelsA list of labels, *newline* separated, that will be applied to the generated PR. Defaults to an empty list.no""
show_mergesIf `true`, the changelog will contain merge commits listed. Otherwise, they will be skipped (however, the commits from the PRs/branches will shown). Defaults to `false`.nofalse
message_prefixThe text that will be put in front of the generated changelog. Defaults to empty.no""
message_suffixThe text that will be put in after the generated changelog. Defaults to empty.no""
title_prefixThe text that will be put in front of the generated commit title. Defaults to empty.no""
github_changelog_no_backreferencesIf `true`, the changelog will transform all issue links to links via a redirector, to prevent GitHub from backreferencing the created PR in these issues. Defaults to `true`.notrue
debug_outputIf `true`, `set -x` will be turned on for the updater script, outputing every step the action takes. This will show up in the action log, and could be useful for trying to reproduce issues locally. Defaults to `false`.nofalse

no outputs