RepoAuditor 0.2.48__tar.gz → 0.2.50__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.48 → repoauditor-0.2.50}/PKG-INFO +1 -1
- {repoauditor-0.2.48 → repoauditor-0.2.50}/default_config.yaml +1 -2
- {repoauditor-0.2.48 → repoauditor-0.2.50}/pyproject.toml +0 -1
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub}/Impl/EnableRulesetRequirementImpl.py +1 -1
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/Module.py +2 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub}/RulesetQuery.py +3 -3
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets/Requirements → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub/RulesetRequirements}/RequirePullRequests.py +1 -1
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets/Requirements → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub/RulesetRequirements}/RequireSignedCommits.py +1 -1
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets/Requirements → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub/RulesetRequirements}/RequireStatusChecks.py +1 -1
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/CommunityStandardsQuery.py +2 -0
- repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/LicenseFile.py +49 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/__init__.py +1 -1
- {repoauditor-0.2.48/tests/Plugins/GitHubRulesets → repoauditor-0.2.50/tests/Plugins/GitHubModule}/EnableRulesetRequirementImpl_UnitTest.py +1 -1
- repoauditor-0.2.48/tests/Plugins/GitHubRulesets/GitHubRuleset_UnitTest.py → repoauditor-0.2.50/tests/Plugins/GitHubModule/RulesetRequirements_UnitTest.py +3 -3
- {repoauditor-0.2.48/tests/Plugins/GitHubRulesets → repoauditor-0.2.50/tests/Plugins/GitHubModule}/RulsesetQuery_UnitTest.py +1 -1
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHub_EndToEndTest.py +26 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/__snapshots__/GitHubCommunityStandards_EndToEndTest.ambr +20 -20
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +239 -107
- repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets/Module.py +0 -26
- repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets/__init__.py +0 -0
- repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesetsPlugin.py +0 -19
- repoauditor-0.2.48/src/RepoAuditor/Plugins/__init__.py +0 -0
- repoauditor-0.2.48/src/github_auditor/__init__.py +0 -0
- repoauditor-0.2.48/tests/Plugins/GitHubRuleset_EndToEndTest.py +0 -72
- repoauditor-0.2.48/tests/Plugins/__snapshots__/GitHubRuleset_EndToEndTest.ambr +0 -133
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.copier-answers.yml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/CODEOWNERS +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/ISSUE_TEMPLATE/custom.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/actions/release_impl/action.yml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/pull_request_template.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/release_sources.yaml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/workflows/CICD.yml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/workflows/CICD_impl.yml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/workflows/EndToEnd.yml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.github/workflows/codeql.yml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.gitignore +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.pre-commit-config.yaml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/.python-version +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/CODE_OF_CONDUCT.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/CONTRIBUTING.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/DEVELOPMENT.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/GOVERNANCE.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/LICENSE +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/MAINTAINERS.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/README.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/SECURITY.md +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/minisign_key.pub +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/AutoGitSemVer.yaml +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/CommandLineProcessor.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Display.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/EntryPoint.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/ExecuteModules.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Impl/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Module.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugin.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowMainlineForcePushes.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/Protected.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub/RulesetRequirements}/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/AutoMerge.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DefaultBranch.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DeleteHeadBranches.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DependabotSecurityUpdates.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Description.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardEnableRequirementImpl.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardValueRequirementImpl.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl}/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/License.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommit.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommitMessage.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Private.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/RebaseMergeCommit.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanning.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanningPushProtection.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashCommitMerge.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashMergeCommitMessage.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportDiscussions.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportIssues.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportProjects.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportWikis.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/TemplateRepository.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/WebCommitSignoff.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHub → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements}/__init__.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubBase → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHub}/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubBase/Module.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHubBase}/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl/ExistsRequirementImpl.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl}/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Module.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/CodeOfConduct.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/CodeOwners.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/Contributing.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/IssueTemplates.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/PullRequestTemplates.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/ReadMe.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/SecurityPolicy.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubCommunityStandards → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements}/__init__.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets/Impl → repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHubCommunityStandards}/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubCommunityStandardsPlugin.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
- {repoauditor-0.2.48/src/RepoAuditor/Plugins/GitHubRulesets/Requirements → repoauditor-0.2.50/src/RepoAuditor/Plugins}/__init__.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Query.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/Requirement.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/src/RepoAuditor/py.typed +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/CommandLineProcessor_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/EntryPoint_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/ExecuteModules_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Module_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugin_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubCommunityStandards/CommunityStandardsQuery_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubCommunityStandards/ExistsRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubCommunityStandards/GitHubCommunityStandards_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubCommunityStandards_EndToEndTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicBranchProtectionQuery_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/EnsureStatusChecks_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireCodeOwnerReview_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireUpToDateBranches_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ClassicValueRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/DefaultBranchQueryRequirements/Protected_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/DependabotSecurityUpdates_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/Description_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/License_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/MergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/Private_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanningPushProtection_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanning_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQueryRequirements/SquashMergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/GitHubModule/fixtures.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/conftest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Plugins/utilities.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Query_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/Requirement_UnitTest.py +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
- {repoauditor-0.2.48 → repoauditor-0.2.50}/uv.lock +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
includes: ["GitHub", "GitHubCommunityStandards"
|
|
1
|
+
includes: ["GitHub", "GitHubCommunityStandards"]
|
|
2
2
|
GitHub-url: "https://github.com/gt-sse-center/RepoAuditor"
|
|
3
3
|
GitHubCommunityStandards-url: "https://github.com/gt-sse-center/RepoAuditor"
|
|
4
|
-
GitHubRulesets-url: "https://github.com/gt-sse-center/RepoAuditor"
|
|
5
4
|
# GitHub-pat: "PAT"
|
|
@@ -41,7 +41,6 @@ repo_auditor = "RepoAuditor:EntryPoint.app"
|
|
|
41
41
|
[project.entry-points.RepoAuditor]
|
|
42
42
|
GitHubPlugin = "RepoAuditor.Plugins.GitHubPlugin"
|
|
43
43
|
GitHubCommunityStandardsPlugin = "RepoAuditor.Plugins.GitHubCommunityStandardsPlugin"
|
|
44
|
-
GitHubRulesetPlugin="RepoAuditor.Plugins.GitHubRulesetsPlugin"
|
|
45
44
|
|
|
46
45
|
[build-system]
|
|
47
46
|
requires = ["hatchling"]
|
|
@@ -33,7 +33,7 @@ class EnableRulesetRequirementImpl(EnableRequirementImpl):
|
|
|
33
33
|
subject: Optional[str] = None,
|
|
34
34
|
*,
|
|
35
35
|
requires_explicit_include: bool = False,
|
|
36
|
-
unset_set_terminology: tuple[str, str] = ("
|
|
36
|
+
unset_set_terminology: tuple[str, str] = ("disabled", "enabled"),
|
|
37
37
|
missing_value_is_warning: bool = True,
|
|
38
38
|
) -> None:
|
|
39
39
|
super().__init__(
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
from RepoAuditor.Module import ExecutionStyle
|
|
10
10
|
from RepoAuditor.Plugins.GitHub.ClassicBranchProtectionQuery import ClassicBranchProtectionQuery
|
|
11
11
|
from RepoAuditor.Plugins.GitHub.DefaultBranchQuery import DefaultBranchQuery
|
|
12
|
+
from RepoAuditor.Plugins.GitHub.RulesetQuery import RulesetQuery
|
|
12
13
|
from RepoAuditor.Plugins.GitHub.StandardQuery import StandardQuery
|
|
13
14
|
from RepoAuditor.Plugins.GitHubBase.Module import GitHubBaseModule
|
|
14
15
|
|
|
@@ -27,6 +28,7 @@ class GitHubModule(GitHubBaseModule):
|
|
|
27
28
|
StandardQuery(),
|
|
28
29
|
DefaultBranchQuery(),
|
|
29
30
|
ClassicBranchProtectionQuery(),
|
|
31
|
+
RulesetQuery(),
|
|
30
32
|
],
|
|
31
33
|
requires_explicit_include=True,
|
|
32
34
|
)
|
|
@@ -11,9 +11,9 @@ from typing import Any, Optional
|
|
|
11
11
|
from dbrownell_Common.Types import override
|
|
12
12
|
|
|
13
13
|
from RepoAuditor.Impl.ParallelSequentialProcessor import ExecutionStyle
|
|
14
|
-
from RepoAuditor.Plugins.
|
|
15
|
-
from RepoAuditor.Plugins.
|
|
16
|
-
from RepoAuditor.Plugins.
|
|
14
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.RequirePullRequests import RequirePullRequests
|
|
15
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.RequireSignedCommits import RequireSignedCommits
|
|
16
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.RequireStatusChecks import RequireStatusChecks
|
|
17
17
|
from RepoAuditor.Query import Query
|
|
18
18
|
|
|
19
19
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Contains the RequirePullRequests object."""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.
|
|
9
|
+
from RepoAuditor.Plugins.GitHub.Impl.EnableRulesetRequirementImpl import EnableRulesetRequirementImpl
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class RequirePullRequests(EnableRulesetRequirementImpl):
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Contains the RequireSignedCommits object."""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.
|
|
9
|
+
from RepoAuditor.Plugins.GitHub.Impl.EnableRulesetRequirementImpl import EnableRulesetRequirementImpl
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class RequireSignedCommits(EnableRulesetRequirementImpl):
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Contains the RequireStatusChecks object."""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.
|
|
9
|
+
from RepoAuditor.Plugins.GitHub.Impl.EnableRulesetRequirementImpl import EnableRulesetRequirementImpl
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class RequireStatusChecks(EnableRulesetRequirementImpl):
|
|
@@ -15,6 +15,7 @@ from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.CodeOfConduct imp
|
|
|
15
15
|
from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.CodeOwners import CodeOwners
|
|
16
16
|
from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.Contributing import Contributing
|
|
17
17
|
from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.IssueTemplates import IssueTemplates
|
|
18
|
+
from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.LicenseFile import LicenseFile
|
|
18
19
|
from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.PullRequestTemplates import PullRequestTemplate
|
|
19
20
|
from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.ReadMe import ReadMe
|
|
20
21
|
from RepoAuditor.Plugins.GitHubCommunityStandards.Requirements.SecurityPolicy import SecurityPolicy
|
|
@@ -33,6 +34,7 @@ class CommunityStandardsQuery(Query):
|
|
|
33
34
|
CodeOwners(),
|
|
34
35
|
Contributing(),
|
|
35
36
|
IssueTemplates(),
|
|
37
|
+
LicenseFile(),
|
|
36
38
|
PullRequestTemplate(),
|
|
37
39
|
ReadMe(),
|
|
38
40
|
SecurityPolicy(),
|
repoauditor-0.2.50/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/LicenseFile.py
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# -------------------------------------------------------------------------------
|
|
2
|
+
# |
|
|
3
|
+
# | Copyright (c) 2024 Scientific Software Engineering Center at Georgia Tech
|
|
4
|
+
# | Distributed under the MIT License.
|
|
5
|
+
# |
|
|
6
|
+
# -------------------------------------------------------------------------------
|
|
7
|
+
"""Contains the LicenseFile requirement."""
|
|
8
|
+
|
|
9
|
+
import textwrap
|
|
10
|
+
|
|
11
|
+
from RepoAuditor.Plugins.GitHubCommunityStandards.Impl.ExistsRequirementImpl import (
|
|
12
|
+
ExistsRequirementImpl,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class LicenseFile(ExistsRequirementImpl):
|
|
17
|
+
"""Validates that a CODE_OF_CONDUCT file is configured."""
|
|
18
|
+
|
|
19
|
+
def __init__(self) -> None:
|
|
20
|
+
super().__init__(
|
|
21
|
+
"LicenseFile",
|
|
22
|
+
"exists",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
[
|
|
25
|
+
"LICENSE",
|
|
26
|
+
"LICENSE.md",
|
|
27
|
+
"LICENSE.txt",
|
|
28
|
+
"LICENSE.rst",
|
|
29
|
+
],
|
|
30
|
+
textwrap.dedent(
|
|
31
|
+
"""\
|
|
32
|
+
1) Create a LICENSE file in in the root directory.
|
|
33
|
+
|
|
34
|
+
2) It can have any of the following extensions:
|
|
35
|
+
- [blank] e.g. `LICENSE`
|
|
36
|
+
- LICENSE.md
|
|
37
|
+
- LICENSE.rst
|
|
38
|
+
- LICENSE.txt
|
|
39
|
+
"""
|
|
40
|
+
),
|
|
41
|
+
textwrap.dedent(
|
|
42
|
+
"""\
|
|
43
|
+
A software license tells others what they can and can't do with your source code.
|
|
44
|
+
|
|
45
|
+
https://choosealicense.com/ can help decide which license
|
|
46
|
+
best meets your repository's needs.
|
|
47
|
+
"""
|
|
48
|
+
),
|
|
49
|
+
)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Unit tests for the EnableRulesetRequirementImpl requirement implementation."""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.
|
|
9
|
+
from RepoAuditor.Plugins.GitHub.Impl.EnableRulesetRequirementImpl import EnableRulesetRequirementImpl
|
|
10
10
|
from RepoAuditor.Requirement import EvaluateResult
|
|
11
11
|
|
|
12
12
|
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
|
|
9
9
|
from typing import Any
|
|
10
10
|
|
|
11
|
-
from RepoAuditor.Plugins.
|
|
12
|
-
from RepoAuditor.Plugins.
|
|
11
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.RequirePullRequests import RequirePullRequests
|
|
12
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.RequireSignedCommits import (
|
|
13
13
|
RequireSignedCommits,
|
|
14
14
|
)
|
|
15
|
-
from RepoAuditor.Plugins.
|
|
15
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.RequireStatusChecks import RequireStatusChecks
|
|
16
16
|
from RepoAuditor.Requirement import EvaluateResult
|
|
17
17
|
|
|
18
18
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Unit tests for RulesetQuery.py"""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.
|
|
9
|
+
from RepoAuditor.Plugins.GitHub.RulesetQuery import RulesetQuery
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def get_mock_request(
|
|
@@ -368,6 +368,32 @@ class TestClassic:
|
|
|
368
368
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
369
369
|
|
|
370
370
|
|
|
371
|
+
# ----------------------------------------------------------------------
|
|
372
|
+
class TestRulesets:
|
|
373
|
+
"""End-to-end tests for rulesets in a GitHub repository."""
|
|
374
|
+
|
|
375
|
+
def test_RequireStatusChecks(self, pat_args, snapshot):
|
|
376
|
+
"""Test for Status Checks not required ruleset"""
|
|
377
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-RequireStatusChecks-enabled"])
|
|
378
|
+
|
|
379
|
+
assert result.exit_code == -1, result.output
|
|
380
|
+
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
381
|
+
|
|
382
|
+
def test_RequirePullRequests(self, pat_args, snapshot):
|
|
383
|
+
"""Test for Pull Requests required ruleset"""
|
|
384
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-RequirePullRequests-enabled"])
|
|
385
|
+
|
|
386
|
+
assert result.exit_code == -1, result.output
|
|
387
|
+
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
388
|
+
|
|
389
|
+
def test_RequireSignedCommits(self, pat_args, snapshot):
|
|
390
|
+
"""Test for Signed Commits required ruleset"""
|
|
391
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-RequireSignedCommits-enabled"])
|
|
392
|
+
|
|
393
|
+
assert result.exit_code == -1, result.output
|
|
394
|
+
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
395
|
+
|
|
396
|
+
|
|
371
397
|
# ----------------------------------------------------------------------
|
|
372
398
|
# ----------------------------------------------------------------------
|
|
373
399
|
# ----------------------------------------------------------------------
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
│ │
|
|
16
16
|
│ Validates GitHub repository files for Community Standards. │
|
|
17
17
|
│ │
|
|
18
|
-
│ Successful: 1 (
|
|
18
|
+
│ Successful: 1 (12.50%) │
|
|
19
19
|
│ Warnings: 0 (0.00%) │
|
|
20
20
|
│ Errors: 0 (0.00%) │
|
|
21
|
-
│ Skipped:
|
|
21
|
+
│ Skipped: 7 (87.50%) │
|
|
22
22
|
│ │
|
|
23
23
|
│ │
|
|
24
24
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
│ │
|
|
45
45
|
│ Validates GitHub repository files for Community Standards. │
|
|
46
46
|
│ │
|
|
47
|
-
│ Successful: 1 (
|
|
47
|
+
│ Successful: 1 (12.50%) │
|
|
48
48
|
│ Warnings: 0 (0.00%) │
|
|
49
49
|
│ Errors: 0 (0.00%) │
|
|
50
|
-
│ Skipped:
|
|
50
|
+
│ Skipped: 7 (87.50%) │
|
|
51
51
|
│ │
|
|
52
52
|
│ │
|
|
53
53
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
│ │
|
|
74
74
|
│ Validates GitHub repository files for Community Standards. │
|
|
75
75
|
│ │
|
|
76
|
-
│ Successful: 1 (
|
|
76
|
+
│ Successful: 1 (12.50%) │
|
|
77
77
|
│ Warnings: 0 (0.00%) │
|
|
78
78
|
│ Errors: 0 (0.00%) │
|
|
79
|
-
│ Skipped:
|
|
79
|
+
│ Skipped: 7 (87.50%) │
|
|
80
80
|
│ │
|
|
81
81
|
│ │
|
|
82
82
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
@@ -104,8 +104,8 @@
|
|
|
104
104
|
│ │
|
|
105
105
|
│ Successful: 0 (0.00%) │
|
|
106
106
|
│ Warnings: 0 (0.00%) │
|
|
107
|
-
│ Errors: 1 (
|
|
108
|
-
│ Skipped:
|
|
107
|
+
│ Errors: 1 (12.50%) │
|
|
108
|
+
│ Skipped: 7 (87.50%) │
|
|
109
109
|
│ │
|
|
110
110
|
│ [31m╭─[0m[31m [Error] CodeOwners [0m[31m────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
111
111
|
│ [31m│[0m [31m│[0m │
|
|
@@ -162,8 +162,8 @@
|
|
|
162
162
|
│ │
|
|
163
163
|
│ Successful: 0 (0.00%) │
|
|
164
164
|
│ Warnings: 0 (0.00%) │
|
|
165
|
-
│ Errors: 1 (
|
|
166
|
-
│ Skipped:
|
|
165
|
+
│ Errors: 1 (12.50%) │
|
|
166
|
+
│ Skipped: 7 (87.50%) │
|
|
167
167
|
│ │
|
|
168
168
|
│ [31m╭─[0m[31m [Error] Contributing [0m[31m──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
169
169
|
│ [31m│[0m [31m│[0m │
|
|
@@ -217,8 +217,8 @@
|
|
|
217
217
|
│ │
|
|
218
218
|
│ Successful: 0 (0.00%) │
|
|
219
219
|
│ Warnings: 0 (0.00%) │
|
|
220
|
-
│ Errors: 1 (
|
|
221
|
-
│ Skipped:
|
|
220
|
+
│ Errors: 1 (12.50%) │
|
|
221
|
+
│ Skipped: 7 (87.50%) │
|
|
222
222
|
│ │
|
|
223
223
|
│ [31m╭─[0m[31m [Error] IssueTemplates [0m[31m────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
224
224
|
│ [31m│[0m [31m│[0m │
|
|
@@ -261,8 +261,8 @@
|
|
|
261
261
|
│ │
|
|
262
262
|
│ Successful: 0 (0.00%) │
|
|
263
263
|
│ Warnings: 0 (0.00%) │
|
|
264
|
-
│ Errors: 1 (
|
|
265
|
-
│ Skipped:
|
|
264
|
+
│ Errors: 1 (12.50%) │
|
|
265
|
+
│ Skipped: 7 (87.50%) │
|
|
266
266
|
│ │
|
|
267
267
|
│ [31m╭─[0m[31m [Error] PullRequestTemplate [0m[31m───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
268
268
|
│ [31m│[0m [31m│[0m │
|
|
@@ -306,8 +306,8 @@
|
|
|
306
306
|
│ │
|
|
307
307
|
│ Successful: 0 (0.00%) │
|
|
308
308
|
│ Warnings: 0 (0.00%) │
|
|
309
|
-
│ Errors: 1 (
|
|
310
|
-
│ Skipped:
|
|
309
|
+
│ Errors: 1 (12.50%) │
|
|
310
|
+
│ Skipped: 7 (87.50%) │
|
|
311
311
|
│ │
|
|
312
312
|
│ [31m╭─[0m[31m [Error] SecurityPolicy [0m[31m────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
313
313
|
│ [31m│[0m [31m│[0m │
|
|
@@ -359,10 +359,10 @@
|
|
|
359
359
|
│ │
|
|
360
360
|
│ Validates GitHub repository files for Community Standards. │
|
|
361
361
|
│ │
|
|
362
|
-
│ Successful: 1 (
|
|
362
|
+
│ Successful: 1 (12.50%) │
|
|
363
363
|
│ Warnings: 0 (0.00%) │
|
|
364
364
|
│ Errors: 0 (0.00%) │
|
|
365
|
-
│ Skipped:
|
|
365
|
+
│ Skipped: 7 (87.50%) │
|
|
366
366
|
│ │
|
|
367
367
|
│ │
|
|
368
368
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
@@ -388,10 +388,10 @@
|
|
|
388
388
|
│ │
|
|
389
389
|
│ Validates GitHub repository files for Community Standards. │
|
|
390
390
|
│ │
|
|
391
|
-
│ Successful: 1 (
|
|
391
|
+
│ Successful: 1 (12.50%) │
|
|
392
392
|
│ Warnings: 0 (0.00%) │
|
|
393
393
|
│ Errors: 0 (0.00%) │
|
|
394
|
-
│ Skipped:
|
|
394
|
+
│ Skipped: 7 (87.50%) │
|
|
395
395
|
│ │
|
|
396
396
|
│ │
|
|
397
397
|
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|