This is a collection of small GitHub actions available to be combined and used as steps in the different workflows run by JOSS at GitHub.
This action compiles a given paper.md markdown file and can generate PDF, JATS, Crossref XML, preprint and cff files. Under the hood it uses the openjournals/inara Docker image to generate the output files.
This action looks for a paper.md
file in the specified repository and uses it to compile a Open Journals paper, generating PDF, Crossref XML, JATS and CFF outputs using the publishing artifacts action.
This action looks for a paper.md file in the specified repository and uses it to generate (using the publishing artifacts action) a simple LaTeX file suitable to send to preprint archives.
flowchart TD
PAPER(fa:fa-file-contract paper-action)
PREPRINT(fa:fa-file preprint-action)
ARTIFACTS(fa:fa-stream publishing-artifacts-action)
Inara[(Inara)]
ARTIFACTS --> |compiles files using| Inara
PAPER --> |Makes pdf, jats, crossref-xml, preprint, cff files available using| ARTIFACTS
PREPRINT --> |Makes preprint file available using| ARTIFACTS
This action creates a topic branch for a paper in the corresponding Open Journal's papers repository and adds the paper files (pdf/jats/crossref xml) to it.
This action opens a pull request for an accepted paper and optionally merges it
This action creates a topic branch in the corresponding Open Journal's papers repository and updates the published paper files (pdf/jats/crossref xml).
flowchart TD
UPLOAD(fa:fa-code-branch upload-files-action)
PR(fa:fa-code-merge deposit-pull-request-action)
UPDATE(fa:fa-file-edit update-files-action)
PapersRepo{{fa:fa-github JOSS Papers repository}}
UPLOAD --> |New branch with metadata/image files| PapersRepo
PR --> |Opens a pull request| PapersRepo
UPDATE --> |Updates existing paper's metadata/image files| PapersRepo
This action checks the validity of the bibliographic references of a paper submitted to Open Journals for review.
This action runs several checks on the software repository submitted for review to Open Journals:
- A repo information summary: This check performs an analysis of the source code and post back to the issue a list of authors, contributions and file types information.
- Detect languages: This will detect the languages used in the repository and label the issue with the top three used languages.
- Detect license: This will look for an Open Source License in the target repo and post the result as a comment in the issue.
The action also looks for a paper.md
file in the specified repository and post back information on:
- Wordcount: This will count the number of words in the paper file.
- Detect statement of need: This check will look for an
Statement of need
section in the paper content.
This action validates Open Journals' JATS and Crossref XML files. If an error happens it sends back a message to the review issue.
flowchart TD
VALIDATE(fa:fa-file-check validate-xml-files-action)
xml-validator[(The OJXV gem)]
VALIDATE --> |Validates JATS/XML metadata files using| xml-validator
This action deposits an accepted paper with Open Journals
This action deposits an accepted paper with Crossref
flowchart TD
DEPOSIT-CROSSREF(fa:fa-cloud-upload deposit-with-crossref-action)
DEPOSIT-OJ(fa:fa-file-upload deposit-with-openjournals-action)
Openjournals[(TheOJ gem)]
Crossref[(crossref.org API)]
DEPOSIT-OJ --> |Deposit the paper to openjournals using| Openjournals
DEPOSIT-CROSSREF --> |Deposit the crossref.xml file with| Crossref
This action posts a comment in the review issue with information on how to cite a paper and the contents of a CITATION.cff file.
flowchart TD
CITATION-INFO(fa:fa-file-code citation-file-action)
Review{{fa:fa-github Review Issue}}
CITATION-INFO --> |post the CITATION.cff file to| Review
This action creates a tweet and/or a toot announcing the acceptance of a paper.
flowchart TD
ACCEPTANCE-TWEET(fa:fa-bullhorn acceptance-tweet-action)
SocialMedia[(Twitter/Mastodor APIs)]
ACCEPTANCE-TWEET --> |post to social media using| SocialMedia
This action creates a retraction notice for a published paper. If run in draft
mode, it will create an artifact (using the publishing artifacts action) with the compiled retraction notice files: PDF, JATS and Crossref outputs. If run in final
mode it will also merge the files into the papers repository and deposit the retraction paper with Open Journals and Crossref.