Participants:
Objective:
Define a standard set of expected files and their location, and if relevant, the specified content, for all Hyperledger Incubating and Active projects. The TODO Group has defined a repo linter tool that can check for expected content. We might want to emulate some subset of their expected content.
Proposals:
- RECOMMENDATION: adopt repolinter with a policy that omits checking the NOTICES and CoC email. Fix the rule for Azure pipelines and omit the SUPPORT file check and PR/Issues templates. Everything else in the default policy should be required.
As an example, here is the lint of the hyperledger/abric repo:
% npx repolinter ../hyperledger/fabric
npx: installed 60 in 8.361s
Target directory: /Users/cbf/dev/hyperledger/fabric
Ruleset: ../../../.npm/_npx/28096/lib/node_modules/repolinter/rulesets/default.json
Linguist Axiom: Linguist not found in path, only running language-independent rules
Target directory: /Users/cbf/dev/hyperledger/fabric
✖ notice-file-exists: not found: (NOTICE*) The NOTICE file is described in section 4.4 of the Apache License version 2.0. Its presence is not mandated by the license itself, but by ASF policy.
✔ license-file-exists: found (LICENSE)
✔ readme-file-exists: found (README.md)
✔ contributing-file-exists: found (CONTRIBUTING.md)
✔ code-of-conduct-file-exists: found (CODE_OF_CONDUCT.md)
✔ changelog-file-exists: found (CHANGELOG.md)
✔ security-file-exists: found (SECURITY.md)
✖ support-file-exists: not found: ({docs/,.github/,}SUPPORT*)
✔ readme-references-license: File README.md contains license
✔ binaries-not-present: Excluded file type doesn't exist (**/*.exe,**/*.dll,!node_modules/**)
✔ test-directory-exists: found (test-pyramid.png)
✖ integrates-with-ci: not found: (.gitlab-ci.yml, .travis.yml, appveyor.yml, .appveyor.yml, circle.yml, .circleci/config.yml, Jenkinsfile, .drone.yml, .github/workflows/*, azure-pipelines.yml)
✖ code-of-conduct-file-contains-email: File CODE_OF_CONDUCT.md doesn't contain email address
✖ github-issue-template-exists: not found: (ISSUE_TEMPLATE*, .github/ISSUE_TEMPLATE*)
✔ github-pull-request-template-exists: found (.github/PULL_REQUEST_TEMPLATE.md)
✔ license-detectable-by-licensee: Licensee identified the license for project: Apache-2.0
Discussion:
Please see the discussion in the TSC pending topic page.