Skip to content

RsMetaCheck

Actions

About

Detect metadata pitfalls in software repositories using SoMEF
0.3.6
Latest
Star (0)

Tags

 (1)

RsMetaCheck GitHub Action

A GitHub Action to detect metadata pitfalls in software repositories using SoMEF. This action wraps the RsMetaCheck Python tool.

Usage

Create a workflow file in your repository, for example .github/workflows/rsmetacheck.yml:

name: RsMetaCheck Validation

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]

jobs:
  analyze-metadata:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v6

      - name: Run RsMetaCheck
        uses: SoftwareUnderstanding/rsmetacheck-action@0.3.6
        # optional arguments
        with:
          pitfalls_output: "./pitfalls_outputs" 
          verbose: "false"
          branch: $GITHUB_REF # useful to run the analysis on the actual branch (default on main)
          # config: ".github/workflow/rsmetacheck.toml"
          # config_profile: "prerelease" # use to set a profile defined in config. Overides the active_profile defined in rsmetacheck.toml

Inputs

Input Description Required Default
input One or more: GitHub/GitLab URLs, JSON files containing repositories. No https://github.com/$GITHUB_REPOSITORY
skip_somef Skip SoMEF execution and analyze existing SoMEF output files directly. No false
pitfalls_output Directory to store pitfall JSON-LD files. No ./pitfalls_outputs
somef_output Directory to store SoMEF output files. No ./somef_outputs
analysis_output File path for summary results. No ./analysis_results.json
threshold SoMEF confidence threshold. Only used when running SoMEF. No 0.8
branch Branch of the repository to analyze. No
generate_codemeta Generate codemeta files for each repository. No false
verbose Include both detected AND undetected pitfalls in the output JSON-LD. No false
config Specify the location of the rsmetacheck.toml to define the configuration. RSMetaCheck automatically detects a .rsmetacheck.toml (or rsmetacheck.toml) file at the working directory. No rsmetacheck.toml
config_profile Specify the profile to use. SHould be defined in the config file No
github_token GitHub personal access token passed to SoMEF to raise API rate limits. Optional. Recommend passing via secrets (e.g. ${{ secrets.GITHUB_TOKEN }}). No

Outputs

Output Description
has_pitfalls 'true' if any pitfalls or warnings were detected
total_pitfalls Total number of pitfalls detected (P-codes)
total_warnings Total number of warnings detected (W-codes)
pitfalls_found JSON array of detected pitfall codes (e.g. '["P001","P003"]')
warnings_found JSON array of detected warning codes (e.g. '["W001","W002"]')

Visual Output

This action automatically reports results in the GitHub Actions UI:

  1. Step Summary — A rendered Markdown table appears at the bottom of the workflow run page, showing all detected pitfalls and warnings with descriptions, suggestions, and per-repository details.

  2. Annotations — Detected pitfalls appear as ::error:: annotations (red markers) and warnings as ::warning:: annotations (yellow markers) at the top of the workflow run page. When triggered by a pull request, these also appear inline on the diff view.

  3. Exit status — If any pitfalls or warnings are found, the action exits with code 1, causing the step to show as failed (red) in the workflow UI.

  4. JSON-LD reports — Per-repository JSON-LD files remain on disk in the pitfalls_output directory. Add actions/upload-artifact@v4 to your workflow to make them downloadable as build artifacts.

RsMetaCheck is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Detect metadata pitfalls in software repositories using SoMEF
0.3.6
Latest

Tags

 (1)

RsMetaCheck is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.