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 needsection in the paper content.
This action creates OpenAI embeddings for a submitted paper and finds similar papers using cosine similarity.
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.