SecureSECO/FAIRSECO
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 (11.6%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: SecureSECO
- License: agpl-3.0
- Language: TypeScript
- Default Branch: main
- Size: 4.83 MB
Statistics
- Stars: 4
- Watchers: 4
- Forks: 2
- Open Issues: 0
- Releases: 4
Metadata Files
README.md
FAIRSECO
FAIRSECO provides a way to quickly analyse a variety of data and metrics of your software, and it allows you to explore the impact of your software on the academic world. To accomplish this, we gather lots of metadata, either directly from the GitHub repository or through external sources. The data is then analysed and compiled into a clear and concise overview.
The FAIRSECO github action will seperate the following categories: - Impact - Academic references - Citations - Academic fields - Code reuse - Methods matching those used in other projects (from SearchSECO) - Quality - FAIRness criteria (from fairtally) - Findable - Registered in a public repository - Accessible - Public repository - Interoperable - Using a quality checklist - Reusable - Citation file present - License file present - License information (from Tortellini) - Licenses of dependencies - License violations - Maintainability - Open/closed GitHub issues - Documentation - Presence of documentation directory - Presence of readme file - SBOM (from sbom-action) - Dependency tree
How to Run
In your GitHub repository, put the following workflow code in a .yml file in the .github/workflows directory:
```yaml name: RunFAIRSECO
on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch:
jobs: RunTortellini: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: tortellini-tools/action@v3 - uses: actions/upload-artifact@v3 with: name: tortellini-result path: .tortellini/out
RunSBOM: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: anchore/sbom-action@v0 with: artifact-name: SBOM.spdx
RunFAIRSECO: needs: [RunTortellini, RunSBOM] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/checkout@v3 with: repository: SecureSECO/FAIRSECO path: FAIRSECOAssets - uses: SecureSECO/FAIRSECO@v1.0.2 # this is the main action with: myToken: ${{ secrets.GITHUBTOKEN }} - uses: actions/upload-artifact@v3 with: name: FAIRSECO Result path: .FAIRSECO/ # commit and push the history file to the repo - name: Commit files run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git pull git add -f ./.fairsecohistory.json git commit --allow-empty -m "Update FAIRSECO history file" - name: Push changes uses: ad-m/github-push-action@master with: githubtoken: ${{ secrets.GITHUB_TOKEN }} branch: ${{ github.ref }} ```
The workflow creates an artifact in the .FAIRSECO directory that contains the following files:
- dashboard.html
- Dashboard where you can see the results in a clear overview
- citationgraph.html
- Graph view for citations in the dashboard
- report.yml
- Contains the data collected and processed by the action (yml)
- report.json
- Contains the data collected and processed by the action (json)
- program.log
- The log of the program
Impact History
The workflow also writes the .fairseco_history.json file to the repository. This file contains historical data used for the Impact History page in the dashboard.
To prevent the history file from becoming too large too quickly, a new run on the same day overwrites the data from the previous run on the same day. This means if someone decides to run the action 100 times on a single day, it will still result in a single entry in the history file.
Note: To make this work, the repo needs to give read and write permissions to workflows. This can be done as follows:
- Go to Settings
- On the left side, click on Actions->General
- Under Workflow Permissions, select Read and Write permissions
Instructions for Developers
All commands that are necessary when developing the program have an alias described in package.json.
To build the files in src, you can simply execute npm run build. This will compile all Typescript files into a single index.js in the dist folder.
This is the file that will be used when running the action.
To convert docstrings into actual documentation, you can run npm run builddocs, or simply typedoc. This will convert all docstrings and extra pages
defined in docs_src into a set of html files, and put them in the docs folder.
We use Jest for our unit and integration tests. You can run all tests by simply running npm run test. To run a single test file, you can run npm test -- filename.ts. Because the files in the __tests__ folder have no access to GitHub tokens, some modules will fail (like @action/artifact or octokit). To make sure the unit tests work, we mock these modules.
License
This project is licensed under the GNU Affero General Public License v3.0. See LICENSE for more info.
This program has been developed by students from the bachelor Computer Science at Utrecht University within the Software Project course. © Copyright Utrecht University (Department of Information and Computing Sciences)
Owner
- Name: SecureSECO
- Login: SecureSECO
- Kind: organization
- Email: slinger.jansen@uu.nl
- Location: Netherlands
- Website: www.secureseco.org
- Repositories: 12
- Profile: https://github.com/SecureSECO
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Aydin" given-names: "Alina" - family-names: "Hageman" given-names: "Bart" - family-names: "Lankhorst" given-names: "Bram" - family-names: "Hendriksen" given-names: "Jarno" - family-names: "Donkers" given-names: "Quinn" - family-names: "Schouten" given-names: "Rowin" - family-names: "Bolhuis" given-names: "Tjibbe" - family-names: "Bykova" given-names: "Valia" - name: "The FAIRSECO contributors" website: "https://github.com/QDUNI/FairSECO/graphs/contributors" title: "FAIRSECO" version: 1.0.0 date-released: 2023-02-01 url: "https://github.com/QDUNI/FairSECO"
GitHub Events
Total
Last Year
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Quinn Donkers | 5****I | 16 |
| github-actions[bot] | g****] | 12 |
| Bart Hageman | b****1@g****m | 11 |
| Deekshitha | 5****a | 11 |
| Jarno Hendriksen | j****n@g****m | 3 |
| rowins | b****n@g****m | 3 |
| Krishna :) | 3****n | 3 |
| Bart | b****t@p****n | 2 |
| Slinger Jansen | s****r@s****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 90
- Average time to close issues: N/A
- Average time to close pull requests: 1 day
- Total issue authors: 0
- Total pull request authors: 9
- Average comments per issue: 0
- Average comments per pull request: 0.12
- Merged pull requests: 70
- Bot issues: 0
- Bot pull requests: 0
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
Pull Request Authors
- JarnoHendriksen (19)
- BartHageman (13)
- QDUNI (9)
- Deekshitha-kumbla (7)
- rowins (5)
- BramLankhorst (3)
- Tjibbe75 (3)
- ra5put1n (2)
- Nyfadon (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 3
- Total versions: 4
github actions: SecureSECO/FAIRSECO
GitHub Action that assesses FAIRness in software
- License: agpl-3.0
-
Latest release: v1.0.2
published almost 3 years ago
Rankings
Dependencies
- actions/checkout v3 composite
- actions/setup-node v3.5.1 composite
- ad-m/github-push-action master composite
- actions/checkout v3 composite
- actions/setup-node v3.5.1 composite
- ad-m/github-push-action master composite
- ./ * composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- ad-m/github-push-action master composite
- anchore/sbom-action v0 composite
- tortellini-tools/action v3 composite
- actions/checkout v3 composite
- actions/setup-node v3.5.1 composite
- dist/index.js node16 javascript
- 607 dependencies
- @knodes/typedoc-plugin-pages ^0.23.1 development
- @types/ejs ^3.1.1 development
- @types/html-validator ^5.0.3 development
- @types/jest ^29.1.1 development
- @types/jest-json-schema ^6.1.1 development
- @types/node ^18.11.0 development
- @types/node-fetch ^2.6.2 development
- @typescript-eslint/eslint-plugin ^5.38.1 development
- eslint ^8.24.0 development
- eslint-config-prettier ^8.5.0 development
- eslint-config-standard-with-typescript ^23.0.0 development
- eslint-plugin-import ^2.26.0 development
- eslint-plugin-n ^15.3.0 development
- eslint-plugin-promise ^6.0.1 development
- jest ^29.1.2 development
- jest-json-schema ^6.1.0 development
- prettier ^2.7.1 development
- ts-jest ^29.0.3 development
- typedoc ^0.23.24 development
- typescript ^4.8.4 development
- @actions/artifact ^1.1.0
- @actions/core ^1.10.0
- @actions/exec ^1.1.1
- @actions/github ^5.1.1
- @vercel/ncc ^0.34.0
- ci ^2.2.0
- d3 ^7.7.0
- ejs ^3.1.8
- html-validator ^6.0.1
- node-fetch ^2.6.7
- path ^0.12.7
- yaml ^2.1.3
- SecureSECO/FAIRSECO v1.0.2 composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- ad-m/github-push-action master composite
- anchore/sbom-action v0 composite
- tortellini-tools/action v3 composite