action

GH action to check dependency licence issues using ort

https://github.com/tortellini-tools/action

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords from Contributors

fuzzy-matching fuzzy-search mass-spectrometry metabolomics similarity-measures
Last synced: 7 months ago · JSON representation ·

Repository

GH action to check dependency licence issues using ort

Basic Info
Statistics
  • Stars: 3
  • Watchers: 5
  • Forks: 6
  • Open Issues: 38
  • Releases: 3
Created almost 5 years ago · Last pushed about 4 years ago
Metadata Files
Readme Contributing License Code of conduct Citation Zenodo

README.dev.md

Developer documentation

This action is written in Typescript and makes use of the Github @actions packages

The underlining design can be found in DESIGN.md.

Requirements

This tool relies on the availability of Node.js and Docker.

Please verify that you have Node.js and the related package manager npm, and docker available on your system. Make sure that the version of Node.js is at least 12.

bash $ node --version v14.17.0 $ npm --version 6.14.13 $ docker --version Docker version 20.10.6, build 370c289

Node.js and npm can be downloaded in one package from nodejs.org. And here are instructions for upgrading Node.js.

Install the dependencies

bash $ npm install

Build

Build the typescript and package it for distribution

bash $ npm run build && npm run package

Run unit test

The tests are stored in the directory __tests__ and are written using jestjs.

Run the tests :heavycheckmark:

```bash $ npm test

PASS ./index.test.js ✓ throws invalid number (3ms) ✓ wait 500 ms (504ms) ✓ test runs (95ms)

... ```

To get information about the test coverage, run the tests with coverage npm test -- --coverage and examine the file coverage/lcov-report/index.html

Linting

The code in the src directory can be linted with:

bash npm run lint

Formatting

Some of the linting error can be fixed with formatting:

bash npm run format

Run the analysis

On the current repository

The tool will analyze the license dependencies in current Github repository and store reports of the analyses in the .tortellini/out/ directory.

shell export INPUT_REPOSITORIES= export INPUT_CURATIONS='' export INPUT_CLASSIFICATIONS=https://github.com/NLeSC/tortellini-on-rsd/raw/main/config/license-classifications.yml export INPUT_RULES=https://github.com/NLeSC/tortellini-on-rsd/raw/main/config/rules.kts npm install npm run build npm run package node dist/index.js

On other repositories

You can also analyze other repositories on Github by storing their addresses in a file and running node on the file, e.g.:

shell echo 'https://github.com/tortellini-tools/action' > urls.txt echo 'https://github.com/fair-software/howfairis' >> urls.txt

The analysis expects a few environment variables. Here are their names and suggested values:

export INPUT_REPOSITORIES=urls.txt export INPUT_CURATIONS='' export INPUT_CLASSIFICATIONS=https://github.com/NLeSC/tortellini-on-rsd/raw/main/config/license-classifications.yml export INPUT_RULES=https://github.com/NLeSC/tortellini-on-rsd/raw/main/config/rules.kts sudo rm -r .tortellini mkdir .tortellini node dist/index.js

The analyses will be stored in the directories .tortellini/out/<owner>/<repository>/ .

How to create a release

  1. Update the citation metadata in CITATION.cff. Afterwards, follow the instructions from the cffconvert workfow to sync the information in .zenodo.json with that in CITATION.cff
  2. Actions are run from GitHub repos so we need to generate the Javascript files in the dist folder and push the results:

    bash $ cd $(mktemp --directory --tmpdir tortellini-prep-release.XXXXXX) $ git clone https://github.com/tortellini-tools/action . $ npm install $ npm run all $ git add dist $ git commit --message "prod dependencies" $ git push origin main

  3. Next, check if the workflows of the lastest commit on the main branch are green on the action page.

  4. Create a release on the Github page via Create a new release.

  5. On the new release page, for Tag version use v and the next version number, for example v3. See the versioning documentation for more information.

  6. Make sure that usage workflows are using the new version tag and the examples in README.md are updated.

Your action is now published! :rocket:

Check if the new version has been published on the Github Marketplace.

You can now validate the action by going to this workflow and this workflow and then clicking on the button Run workflow.

Citation (CITATION.cff)

# YAML 1.2
---
abstract: "GitHub action to check whether any licensing issues exist for given software."
authors: 
  -
    affiliation: "Netherlands eScience Center"
    family-names: Verhoeven
    given-names: Stefan
    orcid: "https://orcid.org/0000-0002-5821-2060"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Diblen
    given-names: Faruk
    orcid: "https://orcid.org/0000-0002-0989-929X"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Spaaks
    given-names: "Jurriaan H."
    orcid: "https://orcid.org/0000-0002-7064-4069"
  -
    affiliation: "Netherlands eScience Center"
    family-names: "Tjong Kim Sang"
    given-names: Erik
    orcid: "https://orcid.org/0000-0002-8431-081X"
cff-version: "1.1.0"
date-released: 2021-06-15
keywords: 
  - "software license"
  - ort
  - "oss review toolkit"
  - legal
license: "Apache-2.0"
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/tortellini-tools/action"
title: tortellini
version: v3
...

GitHub Events

Total
Last Year

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 392
  • Total Committers: 4
  • Avg Commits per committer: 98.0
  • Development Distribution Score (DDS): 0.602
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jurriaan H. Spaaks j****s@e****l 156
Faruk D f****n@e****l 124
Stefan Verhoeven s****n@g****m 85
Erik Tjong Kim Sang e****t@x****l 27
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 108
  • Total pull requests: 61
  • Average time to close issues: 12 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 2.44
  • Average comments per pull request: 0.69
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sverhoeven (44)
  • jspaaks (8)
  • fdiblen (6)
  • eriktks (3)
  • LourensVeen (2)
Pull Request Authors
  • dependabot[bot] (10)
  • fdiblen (9)
  • sverhoeven (8)
  • jspaaks (8)
  • eriktks (2)
Top Labels
Issue Labels
evaluation (13) dependencies (1) question (1)
Pull Request Labels
dependencies (10)

Dependencies

package-lock.json npm
  • 619 dependencies
package.json npm
  • @types/atob ^2.1.2 development
  • @types/jest ^26.0.15 development
  • @types/node ^15.12.2 development
  • @types/node-fetch ^2.5.10 development
  • @types/pako ^1.0.1 development
  • @typescript-eslint/parser ^4.8.1 development
  • @vercel/ncc ^0.28.5 development
  • eslint ^7.17.0 development
  • eslint-plugin-github ^4.1.1 development
  • eslint-plugin-jest ^24.1.3 development
  • jest ^26.6.3 development
  • jest-circus ^26.6.3 development
  • js-yaml ^4.1.0 development
  • prettier 2.3.0 development
  • ts-jest ^26.4.4 development
  • typescript ^4.1.3 development
  • @actions/core ^1.3.0
  • @actions/exec ^1.0.4
  • @actions/io ^1.1.0
  • atob ^2.1.2
  • node-fetch ^2.6.1
  • node-html-parser ^3.3.5
  • pako ^2.0.3