Skip to content

GitHub workflow to compile and overview of repository defaults compliance throughout the GitHub org

License

Notifications You must be signed in to change notification settings

catenax-ng/gh-org-checks

Repository files navigation

gh-org-checks

What is the service

The service will check on each and every repository daily (see ticket), the available checks are:

  • releaseCheck: check if either of two condition are met

    • if a changelog.md file exist
    • if a GitHub release exist and if so, weather it use semantic versioning
  • OSSCheck: Check if all necessary files are present for repository to be open source ready. Currently, this is applicable to repositories under organization "Catena-X", see documentation here.

  • SecurityActionCheck: Check if list of GitHub action suggested by security team are present

  • TRG 1 Check: Check of the repository is compliance with eclipse release guideline (o.e. TRG) One

  • TRG 2 Check: Check of the repository is compliance with TRG Two

How to run the service

The service will run checks across GitHub repositories from a given GitHub organization

set the following environment variables:

  • GITHUB_ACCESS_TOKEN

Contain the github access token, which has admin permission to the targeted GitHub organization

  • GITHUB_ORG_NAME

Contain the name of github org, if unset, default to "catenax-ng"

How to provide more checks

You can always extend and add new tests, please be aware that you should

  • Implement interface GithubTester and testProperty, implement the function PerformTest and GetTestName, the functions will be called from testrunner
  • If you want to check a file/folder exist in the repository, you can reuse contentTester as the base struct, use property contents to indicate the file/folder you want to check
  • Add your test to testsuite (i.e. to be run) at main on function initTestSuiteAndSchedule