Skip to content

arcangelo7/software-citation-sync

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Software citation sync

Test Pyright Ruff Coverage REUSE status

GitHub Action for keeping software citation metadata aligned with releases and Software Heritage.

The action uses:

  • CITATION.cff in the repository root.
  • README.md in the repository root.
  • the version from root package.json, or from root pyproject.toml when package.json is 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.

GitHub action

- uses: arcangelo7/software-citation-sync@v2

The action exposes changed, which is true when CITATION.cff or README.md changed.

README block

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}
}

About

GitHub Action for keeping software citation metadata aligned with releases and Software Heritage.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages