RepoAuditor 0.2.56__tar.gz → 0.2.58__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {repoauditor-0.2.56 → repoauditor-0.2.58}/PKG-INFO +1 -1
- {repoauditor-0.2.56 → repoauditor-0.2.58}/pyproject.toml +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/CommunityStandardsQuery.py +19 -19
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Impl/ExistsRequirementImpl.py +8 -8
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Module.py +6 -6
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/CodeOfConduct.py +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/CodeOwners.py +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/Contributing.py +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/IssueTemplates.py +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/LicenseFile.py +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/PullRequestTemplates.py +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/ReadMe.py +1 -1
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Requirements/SecurityPolicy.py +1 -1
- repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandardsPlugin.py → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandardsPlugin.py +3 -3
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/__init__.py +1 -1
- {repoauditor-0.2.56/tests/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/tests/Plugins/CommunityStandards}/CommunityStandardsQuery_UnitTest.py +1 -1
- {repoauditor-0.2.56/tests/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/tests/Plugins/CommunityStandards}/ExistsRequirementImpl_UnitTest.py +7 -7
- {repoauditor-0.2.56/tests/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/tests/Plugins/CommunityStandards}/GitHubCommunityStandards_UnitTest.py +4 -4
- repoauditor-0.2.56/tests/Plugins/GitHubCommunityStandards_EndToEndTest.py → repoauditor-0.2.58/tests/Plugins/CommunityStandards_EndToEndTest.py +89 -89
- repoauditor-0.2.56/tests/Plugins/__snapshots__/GitHubCommunityStandards_EndToEndTest.ambr → repoauditor-0.2.58/tests/Plugins/__snapshots__/CommunityStandards_EndToEndTest.ambr +36 -36
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.copier-answers.yml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/CODEOWNERS +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/ISSUE_TEMPLATE/custom.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/actions/release_impl/action.yml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/pull_request_template.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/release_sources.yaml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/workflows/CICD.yml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/workflows/CICD_impl.yml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/workflows/EndToEnd.yml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.github/workflows/codeql.yml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.gitignore +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.pre-commit-config.yaml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/.python-version +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/CODE_OF_CONDUCT.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/CONTRIBUTING.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/DEVELOPMENT.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/GOVERNANCE.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/LICENSE +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/MAINTAINERS.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/README.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/SECURITY.md +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/default_config.yaml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/minisign_key.pub +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/AutoGitSemVer.yaml +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/CommandLineProcessor.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Display.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/EntryPoint.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/ExecuteModules.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Impl/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Module.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugin.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/Impl/__init__.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards/Requirements}/__init__.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub/DefaultBranchRequirements → repoauditor-0.2.58/src/RepoAuditor/Plugins/CommunityStandards}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowMainlineForcePushes.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements}/Impl/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub/RulesetRequirements → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/DefaultBranchRequirements/Protected.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub/DefaultBranchRequirements}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRulesetRequirementImpl.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub/StandardRequirements → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub/Impl}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/Module.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/RulesetQuery.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireStatusChecks.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHub → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub/RulesetRequirements}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/AutoMerge.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DefaultBranch.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DeleteHeadBranches.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DependabotSecurityUpdates.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Description.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/StandardEnableRequirementImpl.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/StandardValueRequirementImpl.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubBase → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/License.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/MergeCommit.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/MergeCommitMessage.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Private.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/RebaseMergeCommit.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SecretScanning.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SecretScanningPushProtection.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SquashCommitMerge.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SquashMergeCommitMessage.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportDiscussions.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportIssues.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportProjects.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportWikis.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/TemplateRepository.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/WebCommitSignoff.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub/StandardRequirements}/__init__.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHub}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHubBase/Module.py +0 -0
- {repoauditor-0.2.56/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.58/src/RepoAuditor/Plugins/GitHubBase}/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Plugins/__init__.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Query.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/Requirement.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/src/RepoAuditor/py.typed +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/CommandLineProcessor_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/EntryPoint_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/ExecuteModules_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Module_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugin_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubEnterprise_EndToEndTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicBranchProtectionQuery_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/EnsureStatusChecks_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireCodeOwnerReview_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireUpToDateBranches_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ClassicValueRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/DefaultBranchQueryRequirements/Protected_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/EnableRulesetRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/RulesetRequirements_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/RulsesetQuery_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/DependabotSecurityUpdates_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/Description_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/License_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/MergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/Private_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanningPushProtection_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanning_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQueryRequirements/SquashMergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHubModule/fixtures.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/GitHub_EndToEndTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/__snapshots__/GitHubEnterprise_EndToEndTest.ambr +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/conftest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Plugins/utilities.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Query_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/Requirement_UnitTest.py +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
- {repoauditor-0.2.56 → repoauditor-0.2.58}/uv.lock +0 -0
|
@@ -40,7 +40,7 @@ repo_auditor = "RepoAuditor:EntryPoint.app"
|
|
|
40
40
|
|
|
41
41
|
[project.entry-points.RepoAuditor]
|
|
42
42
|
GitHubPlugin = "RepoAuditor.Plugins.GitHubPlugin"
|
|
43
|
-
|
|
43
|
+
CommunityStandardsPlugin = "RepoAuditor.Plugins.CommunityStandardsPlugin"
|
|
44
44
|
|
|
45
45
|
[build-system]
|
|
46
46
|
requires = ["hatchling"]
|
|
@@ -12,19 +12,19 @@ from urllib.parse import urlparse
|
|
|
12
12
|
|
|
13
13
|
from dbrownell_Common.Types import override # type: ignore[import-untyped]
|
|
14
14
|
|
|
15
|
-
from RepoAuditor.Plugins.
|
|
16
|
-
from RepoAuditor.Plugins.
|
|
17
|
-
from RepoAuditor.Plugins.
|
|
18
|
-
from RepoAuditor.Plugins.
|
|
19
|
-
from RepoAuditor.Plugins.
|
|
20
|
-
from RepoAuditor.Plugins.
|
|
21
|
-
from RepoAuditor.Plugins.
|
|
22
|
-
from RepoAuditor.Plugins.
|
|
15
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.CodeOfConduct import CodeOfConduct
|
|
16
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.CodeOwners import CodeOwners
|
|
17
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.Contributing import Contributing
|
|
18
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.IssueTemplates import IssueTemplates
|
|
19
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.LicenseFile import LicenseFile
|
|
20
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.PullRequestTemplates import PullRequestTemplate
|
|
21
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.ReadMe import ReadMe
|
|
22
|
+
from RepoAuditor.Plugins.CommunityStandards.Requirements.SecurityPolicy import SecurityPolicy
|
|
23
23
|
from RepoAuditor.Query import ExecutionStyle, Query
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
class CommunityStandardsQuery(Query):
|
|
27
|
-
"""Query with requirements that check for
|
|
27
|
+
"""Query with requirements that check for repository Community Standards files."""
|
|
28
28
|
|
|
29
29
|
def __init__(self) -> None:
|
|
30
30
|
super().__init__(
|
|
@@ -50,29 +50,29 @@ class CommunityStandardsQuery(Query):
|
|
|
50
50
|
) -> Optional[dict[str, Any]]:
|
|
51
51
|
"""Get the repo data."""
|
|
52
52
|
|
|
53
|
-
# Clone the
|
|
53
|
+
# Clone the git repository to a temp directory
|
|
54
54
|
branch = module_data.get("branch", "main")
|
|
55
55
|
temp_repo_dir = TemporaryDirectory()
|
|
56
|
-
|
|
56
|
+
url = module_data["url"]
|
|
57
57
|
|
|
58
|
-
# Add PAT to
|
|
59
|
-
|
|
60
|
-
if
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
# Add PAT to git URL, if present
|
|
59
|
+
pat = module_data.get("pat")
|
|
60
|
+
if pat:
|
|
61
|
+
parsed_url = urlparse(url)
|
|
62
|
+
url = f"https://{pat}@{parsed_url.netloc}{parsed_url.path}"
|
|
63
63
|
|
|
64
64
|
# Import git.Repo here so that it is only imported
|
|
65
|
-
# if the
|
|
65
|
+
# if the CommunityStandards plugin is requested.
|
|
66
66
|
from git import Repo
|
|
67
67
|
|
|
68
68
|
try:
|
|
69
|
-
Repo.clone_from(
|
|
69
|
+
Repo.clone_from(url, temp_repo_dir.name, branch=branch)
|
|
70
70
|
except Exception as e:
|
|
71
71
|
error_msg = f"""
|
|
72
72
|
An error occurred while attempting to clone the target repository.
|
|
73
73
|
If you are auditing a private repository, {
|
|
74
74
|
"please ensure your PAT has access to the repository."
|
|
75
|
-
if
|
|
75
|
+
if pat
|
|
76
76
|
else "please provide a PAT with access to the repository."
|
|
77
77
|
}
|
|
78
78
|
Error: {e}
|
|
@@ -25,7 +25,7 @@ class ExistsRequirementImpl(Requirement):
|
|
|
25
25
|
def __init__(
|
|
26
26
|
self,
|
|
27
27
|
name: str,
|
|
28
|
-
|
|
28
|
+
filename: str,
|
|
29
29
|
possible_locations: Sequence[str],
|
|
30
30
|
resolution: str,
|
|
31
31
|
rationale: str,
|
|
@@ -37,8 +37,8 @@ class ExistsRequirementImpl(Requirement):
|
|
|
37
37
|
|
|
38
38
|
Args:
|
|
39
39
|
name (str): The name of the requirement. Used for unique identification.
|
|
40
|
-
|
|
41
|
-
possible_locations (Sequence[str]): List of potential paths in the repo to check if `
|
|
40
|
+
filename (str): The name of the file in the git repository being checked for.
|
|
41
|
+
possible_locations (Sequence[str]): List of potential paths in the repo to check if `filename` exists.
|
|
42
42
|
resolution (str): Message on how to resolve the requirement in case of an error.
|
|
43
43
|
rationale (str): Rationale message on why this requirement is needed.
|
|
44
44
|
dynamic_arg_name (str, optional): Name of the runtime argument (e.g. from command line) to this requirement.Defaults to "unrequired", which if enabled causes the requirement to be skipped.
|
|
@@ -47,7 +47,7 @@ class ExistsRequirementImpl(Requirement):
|
|
|
47
47
|
"""
|
|
48
48
|
super().__init__(
|
|
49
49
|
name,
|
|
50
|
-
f"Validates that {
|
|
50
|
+
f"Validates that {filename} file exists.",
|
|
51
51
|
ExecutionStyle.Parallel,
|
|
52
52
|
resolution,
|
|
53
53
|
rationale,
|
|
@@ -55,7 +55,7 @@ class ExistsRequirementImpl(Requirement):
|
|
|
55
55
|
)
|
|
56
56
|
|
|
57
57
|
self.dynamic_arg_name = dynamic_arg_name
|
|
58
|
-
self.
|
|
58
|
+
self.filename = filename
|
|
59
59
|
|
|
60
60
|
self.possible_locations = possible_locations
|
|
61
61
|
|
|
@@ -68,7 +68,7 @@ class ExistsRequirementImpl(Requirement):
|
|
|
68
68
|
bool,
|
|
69
69
|
typer.Option(
|
|
70
70
|
False,
|
|
71
|
-
help=f"Disable requirement that the file {self.
|
|
71
|
+
help=f"Disable requirement that the file {self.filename} exists.",
|
|
72
72
|
),
|
|
73
73
|
),
|
|
74
74
|
}
|
|
@@ -97,12 +97,12 @@ class ExistsRequirementImpl(Requirement):
|
|
|
97
97
|
|
|
98
98
|
return Requirement.EvaluateImplResult(
|
|
99
99
|
EvaluateResult.Success,
|
|
100
|
-
f"{self.
|
|
100
|
+
f"{self.filename} found in repository",
|
|
101
101
|
)
|
|
102
102
|
|
|
103
103
|
return Requirement.EvaluateImplResult(
|
|
104
104
|
EvaluateResult.Error,
|
|
105
|
-
f"No {self.
|
|
105
|
+
f"No {self.filename} file found.",
|
|
106
106
|
provide_resolution=True,
|
|
107
107
|
provide_rationale=True,
|
|
108
108
|
)
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
# | Distributed under the MIT License.
|
|
5
5
|
# |
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
|
-
"""Contains the
|
|
7
|
+
"""Contains the CommunityStandardsModule object."""
|
|
8
8
|
|
|
9
9
|
from RepoAuditor.Module import ExecutionStyle
|
|
10
|
+
from RepoAuditor.Plugins.CommunityStandards.CommunityStandardsQuery import CommunityStandardsQuery
|
|
10
11
|
from RepoAuditor.Plugins.GitHubBase.Module import GitHubBaseModule
|
|
11
|
-
from RepoAuditor.Plugins.GitHubCommunityStandards.CommunityStandardsQuery import CommunityStandardsQuery
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
class
|
|
15
|
-
"""Module that validates
|
|
14
|
+
class CommunityStandardsModule(GitHubBaseModule):
|
|
15
|
+
"""Module that validates existence of repository files for Community Standards."""
|
|
16
16
|
|
|
17
17
|
def __init__(self) -> None:
|
|
18
18
|
super().__init__(
|
|
19
|
-
"
|
|
20
|
-
"Validates
|
|
19
|
+
"CommunityStandards",
|
|
20
|
+
"Validates existence of repository files for Community Standards.",
|
|
21
21
|
ExecutionStyle.Parallel,
|
|
22
22
|
[
|
|
23
23
|
CommunityStandardsQuery(),
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import textwrap
|
|
10
10
|
|
|
11
|
-
from RepoAuditor.Plugins.
|
|
11
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class CodeOfConduct(ExistsRequirementImpl):
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import textwrap
|
|
10
10
|
|
|
11
|
-
from RepoAuditor.Plugins.
|
|
11
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class CodeOwners(ExistsRequirementImpl):
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import textwrap
|
|
10
10
|
|
|
11
|
-
from RepoAuditor.Plugins.
|
|
11
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class Contributing(ExistsRequirementImpl):
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Contains the IssueTemplates requirement."""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.
|
|
9
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class IssueTemplates(ExistsRequirementImpl):
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Contains the PullRequestTemplate requirement."""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.
|
|
9
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class PullRequestTemplate(ExistsRequirementImpl):
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import textwrap
|
|
10
10
|
|
|
11
|
-
from RepoAuditor.Plugins.
|
|
11
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class ReadMe(ExistsRequirementImpl):
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import textwrap
|
|
10
10
|
|
|
11
|
-
from RepoAuditor.Plugins.
|
|
11
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class SecurityPolicy(ExistsRequirementImpl):
|
|
@@ -10,11 +10,11 @@ import pluggy
|
|
|
10
10
|
|
|
11
11
|
from RepoAuditor import APP_NAME
|
|
12
12
|
from RepoAuditor.Module import Module
|
|
13
|
-
from RepoAuditor.Plugins.
|
|
13
|
+
from RepoAuditor.Plugins.CommunityStandards.Module import CommunityStandardsModule
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
# ----------------------------------------------------------------------
|
|
17
17
|
@pluggy.HookimplMarker(APP_NAME)
|
|
18
18
|
def GetModule() -> Module:
|
|
19
|
-
"""Return
|
|
20
|
-
return
|
|
19
|
+
"""Return Community Standards Module."""
|
|
20
|
+
return CommunityStandardsModule()
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import pytest
|
|
10
10
|
from git import Repo
|
|
11
11
|
|
|
12
|
-
from RepoAuditor.Plugins.
|
|
12
|
+
from RepoAuditor.Plugins.CommunityStandards.CommunityStandardsQuery import (
|
|
13
13
|
CommunityStandardsQuery,
|
|
14
14
|
TemporaryDirectory,
|
|
15
15
|
)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
from tempfile import TemporaryDirectory
|
|
11
11
|
|
|
12
|
-
from RepoAuditor.Plugins.
|
|
12
|
+
from RepoAuditor.Plugins.CommunityStandards.Impl.ExistsRequirementImpl import ExistsRequirementImpl
|
|
13
13
|
from RepoAuditor.Requirement import EvaluateResult
|
|
14
14
|
|
|
15
15
|
|
|
@@ -23,20 +23,20 @@ class TestExistsRequirementImpl:
|
|
|
23
23
|
"""Test the requirement implementation constructor."""
|
|
24
24
|
requirement = ExistsRequirementImpl(
|
|
25
25
|
name="Exists Some Value",
|
|
26
|
-
|
|
26
|
+
filename="README.md",
|
|
27
27
|
possible_locations=[
|
|
28
28
|
"README.md",
|
|
29
29
|
],
|
|
30
30
|
resolution="Get test to pass",
|
|
31
31
|
rationale="For testing",
|
|
32
32
|
)
|
|
33
|
-
assert requirement.
|
|
33
|
+
assert requirement.filename == "README.md"
|
|
34
34
|
|
|
35
35
|
def test_Disabled(self):
|
|
36
36
|
"""Test disabled requirement."""
|
|
37
37
|
requirement = ExistsRequirementImpl(
|
|
38
38
|
name="Exists Some Value",
|
|
39
|
-
|
|
39
|
+
filename="README.md",
|
|
40
40
|
possible_locations=[
|
|
41
41
|
"README.md",
|
|
42
42
|
],
|
|
@@ -53,7 +53,7 @@ class TestExistsRequirementImpl:
|
|
|
53
53
|
"""Test for when file is not found."""
|
|
54
54
|
requirement = ExistsRequirementImpl(
|
|
55
55
|
name="Exists Some Value",
|
|
56
|
-
|
|
56
|
+
filename="README.md",
|
|
57
57
|
possible_locations=[
|
|
58
58
|
"MEREAD.md",
|
|
59
59
|
],
|
|
@@ -71,7 +71,7 @@ class TestExistsRequirementImpl:
|
|
|
71
71
|
"""Test for when file is found as is."""
|
|
72
72
|
requirement = ExistsRequirementImpl(
|
|
73
73
|
name="Exists Some Value",
|
|
74
|
-
|
|
74
|
+
filename="README.md",
|
|
75
75
|
possible_locations=[
|
|
76
76
|
"README.md",
|
|
77
77
|
],
|
|
@@ -93,7 +93,7 @@ class TestExistsRequirementImpl:
|
|
|
93
93
|
"""Test if provided path is directory."""
|
|
94
94
|
requirement = ExistsRequirementImpl(
|
|
95
95
|
name="Exists Some Value",
|
|
96
|
-
|
|
96
|
+
filename="README.md",
|
|
97
97
|
possible_locations=[
|
|
98
98
|
"docs",
|
|
99
99
|
],
|
|
@@ -12,7 +12,7 @@ from pathlib import Path
|
|
|
12
12
|
import pluggy
|
|
13
13
|
|
|
14
14
|
from RepoAuditor import APP_NAME
|
|
15
|
-
from RepoAuditor.Plugins.
|
|
15
|
+
from RepoAuditor.Plugins.CommunityStandardsPlugin import GetModule
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# ----------------------------------------------------------------------
|
|
@@ -28,7 +28,7 @@ def test_get_module_returns_object():
|
|
|
28
28
|
module = GetModule()
|
|
29
29
|
assert module is not None
|
|
30
30
|
assert hasattr(module, "name")
|
|
31
|
-
assert module.name == "
|
|
31
|
+
assert module.name == "CommunityStandards"
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
# ----------------------------------------------------------------------
|
|
@@ -55,7 +55,7 @@ def test_plugin_registration():
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
# ----------------------------------------------------------------------
|
|
58
|
-
class
|
|
58
|
+
class TestCommunityStandardsModule:
|
|
59
59
|
"""Unit tests for the GitHubCustomizaton module."""
|
|
60
60
|
|
|
61
61
|
def test_Construct(self):
|
|
@@ -63,7 +63,7 @@ class TestGitHubCommunityStandardsModule:
|
|
|
63
63
|
module = GetModule()
|
|
64
64
|
|
|
65
65
|
assert module is not None
|
|
66
|
-
assert module.name == "
|
|
66
|
+
assert module.name == "CommunityStandards"
|
|
67
67
|
# Comment out checks that would fail with minimal implementation
|
|
68
68
|
# assert module.execution_style.name == "Parallel"
|
|
69
69
|
# assert len(module.queries) == 1
|