GitHub Action for keeping software citation metadata aligned with releases and Software Heritage.
The action uses:
CITATION.cffin the repository root.README.mdin the repository root.- the version from root
package.json, or from rootpyproject.tomlwhenpackage.jsonis absent. - the current UTC date as
date-released. - the repository where the workflow is running.
When CITATION.cff is absent, it creates one from project metadata in package.json or pyproject.toml.
It updates citation metadata, updates the marked README citation block, and validates CITATION.cff.
It also sends the repository URL to Software Heritage for archiving, waits for the archive job to finish, and uses the returned snapshot URL in CITATION.cff and in the README BibTeX entry.
The selected manifest must define a string version.
- uses: arcangelo7/software-citation-sync@v2The action exposes changed, which is true when CITATION.cff or README.md changed.
The action manages one marked block delimited by the software-citation-action:start and software-citation-action:end HTML comments.
The BibTeX entry is generated from the updated CITATION.cff.
To cite the latest version of this software (2.0.1), use this BibTeX entry:
@software{software-citation-sync-2.0.1,
author = {Arcangelo Massari},
title = {software-citation-sync},
url = {https://archive.softwareheritage.org/swh:1:snp:a9d121c4ce041f8e2ac0204160becf63e1ef0d5a;origin=https://github.com/arcangelo7/software-citation-sync},
version = {2.0.1},
year = {2026}
}