RepoAuditor 0.2.52__tar.gz → 0.2.53__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.52 → repoauditor-0.2.53}/.github/workflows/EndToEnd.yml +1 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/PKG-INFO +1 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl/ExistsRequirementImpl.py +17 -4
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/CodeOfConduct.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/CodeOwners.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/Contributing.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/IssueTemplates.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/LicenseFile.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/PullRequestTemplates.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/ReadMe.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/SecurityPolicy.py +0 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/__init__.py +1 -1
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubCommunityStandards/ExistsRequirementImpl_UnitTest.py +4 -9
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubCommunityStandards_EndToEndTest.py +123 -13
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/__snapshots__/GitHubCommunityStandards_EndToEndTest.ambr +90 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/utilities.py +13 -2
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.copier-answers.yml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/CODEOWNERS +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/ISSUE_TEMPLATE/custom.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/actions/release_impl/action.yml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/pull_request_template.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/release_sources.yaml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/workflows/CICD.yml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/workflows/CICD_impl.yml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.github/workflows/codeql.yml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.gitignore +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.pre-commit-config.yaml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/.python-version +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/CODE_OF_CONDUCT.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/CONTRIBUTING.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/DEVELOPMENT.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/GOVERNANCE.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/LICENSE +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/MAINTAINERS.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/README.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/SECURITY.md +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/default_config.yaml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/minisign_key.pub +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/pyproject.toml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/AutoGitSemVer.yaml +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/CommandLineProcessor.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Display.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/EntryPoint.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/ExecuteModules.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Impl/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Module.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugin.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowMainlineForcePushes.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/Protected.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRulesetRequirementImpl.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/Module.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/RulesetQuery.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireStatusChecks.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/AutoMerge.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DefaultBranch.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DeleteHeadBranches.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DependabotSecurityUpdates.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Description.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardEnableRequirementImpl.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardValueRequirementImpl.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/License.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommit.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommitMessage.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Private.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/RebaseMergeCommit.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanning.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanningPushProtection.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashCommitMerge.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashMergeCommitMessage.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportDiscussions.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportIssues.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportProjects.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportWikis.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/TemplateRepository.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/WebCommitSignoff.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHub/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubBase/Module.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubBase/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/CommunityStandardsQuery.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Module.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandards/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubCommunityStandardsPlugin.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Plugins/__init__.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Query.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/Requirement.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/src/RepoAuditor/py.typed +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/CommandLineProcessor_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/EntryPoint_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/ExecuteModules_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Module_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugin_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubCommunityStandards/CommunityStandardsQuery_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubCommunityStandards/GitHubCommunityStandards_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubEnterprise_EndToEndTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicBranchProtectionQuery_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/EnsureStatusChecks_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireCodeOwnerReview_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireUpToDateBranches_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ClassicValueRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/DefaultBranchQueryRequirements/Protected_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/EnableRulesetRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/RulesetRequirements_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/RulsesetQuery_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/DependabotSecurityUpdates_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/Description_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/License_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/MergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/Private_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanningPushProtection_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanning_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQueryRequirements/SquashMergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubModule/fixtures.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHub_EndToEndTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/__snapshots__/GitHubEnterprise_EndToEndTest.ambr +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/conftest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Query_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Requirement_UnitTest.py +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
- {repoauditor-0.2.52 → repoauditor-0.2.53}/uv.lock +0 -0
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
# Create PAT file for Enterprise GitHub server, in this case github.gatech.edu.
|
|
42
42
|
- name: Create github_gatech_pat.txt
|
|
43
43
|
run: |
|
|
44
|
-
echo ${{ secrets.
|
|
44
|
+
echo ${{ secrets.TESTING_GITHUB_GATECH_PAT }} > tests/Plugins/github_gatech_pat.txt
|
|
45
45
|
|
|
46
46
|
- name: Environment Variables
|
|
47
47
|
shell: bash
|
|
@@ -19,20 +19,32 @@ from RepoAuditor.Requirement import EvaluateResult, ExecutionStyle, Requirement
|
|
|
19
19
|
|
|
20
20
|
# ----------------------------------------------------------------------
|
|
21
21
|
class ExistsRequirementImpl(Requirement):
|
|
22
|
-
"""
|
|
22
|
+
"""Requirement which implements check if a file exists."""
|
|
23
23
|
|
|
24
24
|
# ----------------------------------------------------------------------
|
|
25
25
|
def __init__(
|
|
26
26
|
self,
|
|
27
27
|
name: str,
|
|
28
|
-
dynamic_arg_name: str,
|
|
29
28
|
github_file: str,
|
|
30
29
|
possible_locations: Sequence[str],
|
|
31
30
|
resolution: str,
|
|
32
31
|
rationale: str,
|
|
33
32
|
*,
|
|
33
|
+
dynamic_arg_name: str = "unrequired",
|
|
34
34
|
requires_explicit_include: bool = False,
|
|
35
35
|
) -> None:
|
|
36
|
+
"""Construct.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
name (str): The name of the requirement. Used for unique identification.
|
|
40
|
+
github_file (str): The name of the file in the GitHub repository being checked for.
|
|
41
|
+
possible_locations (Sequence[str]): List of potential paths in the repo to check if `github_file` exists.
|
|
42
|
+
resolution (str): Message on how to resolve the requirement in case of an error.
|
|
43
|
+
rationale (str): Rationale message on why this requirement is needed.
|
|
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.
|
|
45
|
+
requires_explicit_include (bool, optional): Flag checking if this requirement needs to be explicitly included in the invocation. Defaults to False.
|
|
46
|
+
|
|
47
|
+
"""
|
|
36
48
|
super().__init__(
|
|
37
49
|
name,
|
|
38
50
|
f"Validates that {github_file} file exists.",
|
|
@@ -56,7 +68,7 @@ class ExistsRequirementImpl(Requirement):
|
|
|
56
68
|
bool,
|
|
57
69
|
typer.Option(
|
|
58
70
|
False,
|
|
59
|
-
help=f"
|
|
71
|
+
help=f"Disable requirement that the file {self.github_file} exists.",
|
|
60
72
|
),
|
|
61
73
|
),
|
|
62
74
|
}
|
|
@@ -68,7 +80,8 @@ class ExistsRequirementImpl(Requirement):
|
|
|
68
80
|
query_data: dict[str, Any],
|
|
69
81
|
requirement_args: dict[str, Any],
|
|
70
82
|
) -> Requirement.EvaluateImplResult:
|
|
71
|
-
if
|
|
83
|
+
# Check if `dynamic_arg_name` is `not unrequired`.
|
|
84
|
+
if not requirement_args[self.dynamic_arg_name]:
|
|
72
85
|
for location in self.possible_locations:
|
|
73
86
|
# Get full file path in temporary repo directory and check if it exists
|
|
74
87
|
# This checks both upper case and lower case variants
|
|
@@ -23,7 +23,6 @@ class TestExistsRequirementImpl:
|
|
|
23
23
|
"""Test the requirement implementation constructor."""
|
|
24
24
|
requirement = ExistsRequirementImpl(
|
|
25
25
|
name="Exists Some Value",
|
|
26
|
-
dynamic_arg_name="exists",
|
|
27
26
|
github_file="README.md",
|
|
28
27
|
possible_locations=[
|
|
29
28
|
"README.md",
|
|
@@ -37,7 +36,6 @@ class TestExistsRequirementImpl:
|
|
|
37
36
|
"""Test disabled requirement."""
|
|
38
37
|
requirement = ExistsRequirementImpl(
|
|
39
38
|
name="Exists Some Value",
|
|
40
|
-
dynamic_arg_name="exists",
|
|
41
39
|
github_file="README.md",
|
|
42
40
|
possible_locations=[
|
|
43
41
|
"README.md",
|
|
@@ -47,7 +45,7 @@ class TestExistsRequirementImpl:
|
|
|
47
45
|
)
|
|
48
46
|
|
|
49
47
|
query_data = {}
|
|
50
|
-
requirement_args = {"
|
|
48
|
+
requirement_args = {"unrequired": True}
|
|
51
49
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
52
50
|
assert result.result == EvaluateResult.DoesNotApply
|
|
53
51
|
|
|
@@ -55,7 +53,6 @@ class TestExistsRequirementImpl:
|
|
|
55
53
|
"""Test for when file is not found."""
|
|
56
54
|
requirement = ExistsRequirementImpl(
|
|
57
55
|
name="Exists Some Value",
|
|
58
|
-
dynamic_arg_name="exists",
|
|
59
56
|
github_file="README.md",
|
|
60
57
|
possible_locations=[
|
|
61
58
|
"MEREAD.md",
|
|
@@ -65,7 +62,7 @@ class TestExistsRequirementImpl:
|
|
|
65
62
|
)
|
|
66
63
|
|
|
67
64
|
query_data = {"repo_dir": MockDirectory()}
|
|
68
|
-
requirement_args = {"
|
|
65
|
+
requirement_args = {"unrequired": False}
|
|
69
66
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
70
67
|
assert result.result == EvaluateResult.Error
|
|
71
68
|
assert "No README.md file found" in result.context
|
|
@@ -74,7 +71,6 @@ class TestExistsRequirementImpl:
|
|
|
74
71
|
"""Test for when file is found as is."""
|
|
75
72
|
requirement = ExistsRequirementImpl(
|
|
76
73
|
name="Exists Some Value",
|
|
77
|
-
dynamic_arg_name="exists",
|
|
78
74
|
github_file="README.md",
|
|
79
75
|
possible_locations=[
|
|
80
76
|
"README.md",
|
|
@@ -88,7 +84,7 @@ class TestExistsRequirementImpl:
|
|
|
88
84
|
f.write("temp file in temp directory")
|
|
89
85
|
|
|
90
86
|
query_data = {"repo_dir": tempdir}
|
|
91
|
-
requirement_args = {"
|
|
87
|
+
requirement_args = {"unrequired": False}
|
|
92
88
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
93
89
|
assert result.result == EvaluateResult.Success
|
|
94
90
|
assert "README.md found in repository" in result.context
|
|
@@ -97,7 +93,6 @@ class TestExistsRequirementImpl:
|
|
|
97
93
|
"""Test if provided path is directory."""
|
|
98
94
|
requirement = ExistsRequirementImpl(
|
|
99
95
|
name="Exists Some Value",
|
|
100
|
-
dynamic_arg_name="exists",
|
|
101
96
|
github_file="README.md",
|
|
102
97
|
possible_locations=[
|
|
103
98
|
"docs",
|
|
@@ -115,7 +110,7 @@ class TestExistsRequirementImpl:
|
|
|
115
110
|
f.write("temp file in temp directory")
|
|
116
111
|
|
|
117
112
|
query_data = {"repo_dir": tempdir}
|
|
118
|
-
requirement_args = {"
|
|
113
|
+
requirement_args = {"unrequired": False}
|
|
119
114
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
120
115
|
assert result.result == EvaluateResult.Success
|
|
121
116
|
assert "File found in docs directory of the repository" in result.context
|
{repoauditor-0.2.52 → repoauditor-0.2.53}/tests/Plugins/GitHubCommunityStandards_EndToEndTest.py
RENAMED
|
@@ -61,7 +61,16 @@ class TestCommunityStandards:
|
|
|
61
61
|
"""Test if a CODE_OF_CONDUCT file exists in the repository."""
|
|
62
62
|
result = CliRunner().invoke(
|
|
63
63
|
app,
|
|
64
|
-
pat_args
|
|
64
|
+
pat_args
|
|
65
|
+
+ [
|
|
66
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
67
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
68
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
69
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
70
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
71
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
72
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
73
|
+
],
|
|
65
74
|
)
|
|
66
75
|
|
|
67
76
|
assert result.exit_code == 0, result.output
|
|
@@ -76,7 +85,16 @@ class TestCommunityStandards:
|
|
|
76
85
|
"""Test if a CODE_OF_CONDUCT file does not exist in the repository."""
|
|
77
86
|
result = CliRunner().invoke(
|
|
78
87
|
app,
|
|
79
|
-
pat_args
|
|
88
|
+
pat_args
|
|
89
|
+
+ [
|
|
90
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
91
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
92
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
93
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
94
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
95
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
96
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
97
|
+
],
|
|
80
98
|
)
|
|
81
99
|
|
|
82
100
|
assert result.exit_code == -1, result.output
|
|
@@ -86,7 +104,16 @@ class TestCommunityStandards:
|
|
|
86
104
|
"""Test if a CODEOWNERS file exists in the repository."""
|
|
87
105
|
result = CliRunner().invoke(
|
|
88
106
|
app,
|
|
89
|
-
pat_args
|
|
107
|
+
pat_args
|
|
108
|
+
+ [
|
|
109
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
110
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
111
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
112
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
113
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
114
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
115
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
116
|
+
],
|
|
90
117
|
)
|
|
91
118
|
|
|
92
119
|
assert result.exit_code == 0, result.output
|
|
@@ -101,7 +128,16 @@ class TestCommunityStandards:
|
|
|
101
128
|
"""Test if a CODEOWNERS file does not exist in the repository."""
|
|
102
129
|
result = CliRunner().invoke(
|
|
103
130
|
app,
|
|
104
|
-
pat_args
|
|
131
|
+
pat_args
|
|
132
|
+
+ [
|
|
133
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
134
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
135
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
136
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
137
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
138
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
139
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
140
|
+
],
|
|
105
141
|
)
|
|
106
142
|
|
|
107
143
|
assert result.exit_code == -1, result.output
|
|
@@ -111,7 +147,16 @@ class TestCommunityStandards:
|
|
|
111
147
|
"""Test if a CONTRIBUTING.md file exists in the repository."""
|
|
112
148
|
result = CliRunner().invoke(
|
|
113
149
|
app,
|
|
114
|
-
pat_args
|
|
150
|
+
pat_args
|
|
151
|
+
+ [
|
|
152
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
153
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
154
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
155
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
156
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
157
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
158
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
159
|
+
],
|
|
115
160
|
)
|
|
116
161
|
|
|
117
162
|
assert result.exit_code == 0, result.output
|
|
@@ -126,7 +171,16 @@ class TestCommunityStandards:
|
|
|
126
171
|
"""Test if a CONTRIBUTING file does not exist in the repository."""
|
|
127
172
|
result = CliRunner().invoke(
|
|
128
173
|
app,
|
|
129
|
-
pat_args
|
|
174
|
+
pat_args
|
|
175
|
+
+ [
|
|
176
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
177
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
178
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
179
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
180
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
181
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
182
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
183
|
+
],
|
|
130
184
|
)
|
|
131
185
|
|
|
132
186
|
assert result.exit_code == -1, result.output
|
|
@@ -134,8 +188,19 @@ class TestCommunityStandards:
|
|
|
134
188
|
|
|
135
189
|
def test_IssueTemplate(self, pat_args, snapshot):
|
|
136
190
|
"""Test if an Issue template file (e.g. ISSUE_TEMPLATE.md) exists in the repository."""
|
|
137
|
-
result = CliRunner().invoke(
|
|
138
|
-
|
|
191
|
+
result = CliRunner().invoke(
|
|
192
|
+
app,
|
|
193
|
+
pat_args
|
|
194
|
+
+ [
|
|
195
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
196
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
197
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
198
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
199
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
200
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
201
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
202
|
+
],
|
|
203
|
+
)
|
|
139
204
|
assert result.exit_code == 0, result.output
|
|
140
205
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
141
206
|
|
|
@@ -148,7 +213,16 @@ class TestCommunityStandards:
|
|
|
148
213
|
"""Test if no Issue template file exists in the repository."""
|
|
149
214
|
result = CliRunner().invoke(
|
|
150
215
|
app,
|
|
151
|
-
pat_args
|
|
216
|
+
pat_args
|
|
217
|
+
+ [
|
|
218
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
219
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
220
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
221
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
222
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
223
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
224
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
225
|
+
],
|
|
152
226
|
)
|
|
153
227
|
|
|
154
228
|
assert result.exit_code == -1, result.output
|
|
@@ -161,7 +235,16 @@ class TestCommunityStandards:
|
|
|
161
235
|
"""
|
|
162
236
|
result = CliRunner().invoke(
|
|
163
237
|
app,
|
|
164
|
-
pat_args
|
|
238
|
+
pat_args
|
|
239
|
+
+ [
|
|
240
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
241
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
242
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
243
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
244
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
245
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
246
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
247
|
+
],
|
|
165
248
|
)
|
|
166
249
|
|
|
167
250
|
assert result.exit_code == 0, result.output
|
|
@@ -176,7 +259,16 @@ class TestCommunityStandards:
|
|
|
176
259
|
"""Test if no Pull Request template file exists in the repository."""
|
|
177
260
|
result = CliRunner().invoke(
|
|
178
261
|
app,
|
|
179
|
-
pat_args
|
|
262
|
+
pat_args
|
|
263
|
+
+ [
|
|
264
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
265
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
266
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
267
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
268
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
269
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
270
|
+
"--GitHubCommunityStandards-SecurityPolicy-unrequired",
|
|
271
|
+
],
|
|
180
272
|
)
|
|
181
273
|
|
|
182
274
|
assert result.exit_code == -1, result.output
|
|
@@ -186,7 +278,16 @@ class TestCommunityStandards:
|
|
|
186
278
|
"""Test if a Security policy file (e.g. SECURITY.md) exists in the repository."""
|
|
187
279
|
result = CliRunner().invoke(
|
|
188
280
|
app,
|
|
189
|
-
pat_args
|
|
281
|
+
pat_args
|
|
282
|
+
+ [
|
|
283
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
284
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
285
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
286
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
287
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
288
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
289
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
290
|
+
],
|
|
190
291
|
)
|
|
191
292
|
|
|
192
293
|
assert result.exit_code == 0, result.output
|
|
@@ -201,7 +302,16 @@ class TestCommunityStandards:
|
|
|
201
302
|
"""Test if no Security policy file exists in the repository."""
|
|
202
303
|
result = CliRunner().invoke(
|
|
203
304
|
app,
|
|
204
|
-
pat_args
|
|
305
|
+
pat_args
|
|
306
|
+
+ [
|
|
307
|
+
"--GitHubCommunityStandards-CodeOfConduct-unrequired",
|
|
308
|
+
"--GitHubCommunityStandards-CodeOwners-unrequired",
|
|
309
|
+
"--GitHubCommunityStandards-Contributing-unrequired",
|
|
310
|
+
"--GitHubCommunityStandards-IssueTemplates-unrequired",
|
|
311
|
+
"--GitHubCommunityStandards-LicenseFile-unrequired",
|
|
312
|
+
"--GitHubCommunityStandards-PullRequestTemplate-unrequired",
|
|
313
|
+
"--GitHubCommunityStandards-ReadMe-unrequired",
|
|
314
|
+
],
|
|
205
315
|
)
|
|
206
316
|
|
|
207
317
|
assert result.exit_code == -1, result.output
|
|
@@ -1,4 +1,33 @@
|
|
|
1
1
|
# serializer version: 1
|
|
2
|
+
# name: TestCommunityStandards.test_CodeOfConduct
|
|
3
|
+
'''
|
|
4
|
+
Processing 1 module...
|
|
5
|
+
Processing 'GitHubCommunityStandards' (1 of 1)...
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
DONE! ([32;1m0[0m, <scrubbed duration>)
|
|
11
|
+
DONE! ([32;1m0[0m, <scrubbed duration>)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
╭──────────────────────────────────────────────────────────────────────────── GitHubCommunityStandards ────────────────────────────────────────────────────────────────────────────╮
|
|
15
|
+
│ │
|
|
16
|
+
│ Validates GitHub repository files for Community Standards. │
|
|
17
|
+
│ │
|
|
18
|
+
│ Successful: 1 (12.50%) │
|
|
19
|
+
│ Warnings: 0 (0.00%) │
|
|
20
|
+
│ Errors: 0 (0.00%) │
|
|
21
|
+
│ Skipped: 7 (87.50%) │
|
|
22
|
+
│ │
|
|
23
|
+
│ │
|
|
24
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
25
|
+
|
|
26
|
+
Results: DONE! ([32;1m0[0m, <scrubbed duration>)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
'''
|
|
30
|
+
# ---
|
|
2
31
|
# name: TestCommunityStandards.test_CodeOwners
|
|
3
32
|
'''
|
|
4
33
|
Processing 1 module...
|
|
@@ -84,6 +113,67 @@
|
|
|
84
113
|
Results: DONE! ([32;1m0[0m, <scrubbed duration>)
|
|
85
114
|
|
|
86
115
|
|
|
116
|
+
'''
|
|
117
|
+
# ---
|
|
118
|
+
# name: TestCommunityStandards.test_NoCodeOfConduct
|
|
119
|
+
'''
|
|
120
|
+
Processing 1 module...
|
|
121
|
+
Processing 'GitHubCommunityStandards' (1 of 1)...
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
127
|
+
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
╭──────────────────────────────────────────────────────────────────────────── GitHubCommunityStandards ────────────────────────────────────────────────────────────────────────────╮
|
|
131
|
+
│ │
|
|
132
|
+
│ Validates GitHub repository files for Community Standards. │
|
|
133
|
+
│ │
|
|
134
|
+
│ Successful: 0 (0.00%) │
|
|
135
|
+
│ Warnings: 0 (0.00%) │
|
|
136
|
+
│ Errors: 1 (12.50%) │
|
|
137
|
+
│ Skipped: 7 (87.50%) │
|
|
138
|
+
│ │
|
|
139
|
+
│ [31m╭─[0m[31m [Error] CodeOfConduct [0m[31m─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
140
|
+
│ [31m│[0m [31m│[0m │
|
|
141
|
+
│ [31m│[0m Validates that CODE_OF_CONDUCT file exists. [31m│[0m │
|
|
142
|
+
│ [31m│[0m [31m│[0m │
|
|
143
|
+
│ [31m│[0m ERROR: No CODE_OF_CONDUCT file found. [31m│[0m │
|
|
144
|
+
│ [31m│[0m [31m│[0m │
|
|
145
|
+
│ [31m│[0m Resolution [31m│[0m │
|
|
146
|
+
│ [31m│[0m ---------- [31m│[0m │
|
|
147
|
+
│ [31m│[0m 1) Create a CODE_OF_CONDUCT file in one of these locations: [31m│[0m │
|
|
148
|
+
│ [31m│[0m - .github/CODE_OF_CONDUCT [31m│[0m │
|
|
149
|
+
│ [31m│[0m - docs/CODE_OF_CONDUCT [31m│[0m │
|
|
150
|
+
│ [31m│[0m - CODE_OF_CONDUCT [31m│[0m │
|
|
151
|
+
│ [31m│[0m [31m│[0m │
|
|
152
|
+
│ [31m│[0m Example CODE_OF_CONDUCT file format: [31m│[0m │
|
|
153
|
+
│ [31m│[0m ``` [31m│[0m │
|
|
154
|
+
│ [31m│[0m # Contributor Code of Conduct [31m│[0m │
|
|
155
|
+
│ [31m│[0m ## Principles [31m│[0m │
|
|
156
|
+
│ [31m│[0m ## Community Guidelines [31m│[0m │
|
|
157
|
+
│ [31m│[0m ``` [31m│[0m │
|
|
158
|
+
│ [31m│[0m [31m│[0m │
|
|
159
|
+
│ [31m│[0m Rationale [31m│[0m │
|
|
160
|
+
│ [31m│[0m --------- [31m│[0m │
|
|
161
|
+
│ [31m│[0m A CODE_OF_CONDUCT defines expectations for behavior for your [31m│[0m │
|
|
162
|
+
│ [31m│[0m project's participants. [31m│[0m │
|
|
163
|
+
│ [31m│[0m [31m│[0m │
|
|
164
|
+
│ [31m│[0m Benefits: [31m│[0m │
|
|
165
|
+
│ [31m│[0m - Define community standards [31m│[0m │
|
|
166
|
+
│ [31m│[0m - Signal a welcoming and inclusive project [31m│[0m │
|
|
167
|
+
│ [31m│[0m - Outline procedures for handling abuse [31m│[0m │
|
|
168
|
+
│ [31m│[0m - Help create a positive social atmosphere for your community [31m│[0m │
|
|
169
|
+
│ [31m│[0m [31m│[0m │
|
|
170
|
+
│ [31m╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯[0m │
|
|
171
|
+
│ │
|
|
172
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
173
|
+
|
|
174
|
+
Results: DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
175
|
+
|
|
176
|
+
|
|
87
177
|
'''
|
|
88
178
|
# ---
|
|
89
179
|
# name: TestCommunityStandards.test_NoCodeOwners
|
|
@@ -60,8 +60,19 @@ def GetGithubUrl(remote_name: str = "origin") -> str:
|
|
|
60
60
|
"""Get the Github username, repository and URL from the current git repository."""
|
|
61
61
|
repo = Repo(__file__, search_parent_directories=True)
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
try:
|
|
64
|
+
# Get the URL for the remote specified by `remote_name`.
|
|
65
|
+
repo_url = getattr(repo.remotes, remote_name).url
|
|
66
|
+
except AttributeError as exc:
|
|
67
|
+
# The `remote_name` does not exist, so we use a default.
|
|
68
|
+
# Specifically for main repo CI.
|
|
69
|
+
if remote_name == "origin":
|
|
70
|
+
repo_url = "git@github.com:gt-sse-center/RepoAuditor.git"
|
|
71
|
+
elif remote_name == "enterprise":
|
|
72
|
+
repo_url = "git@github.gatech.edu:sse-center/RepoAuditor.git"
|
|
73
|
+
else:
|
|
74
|
+
# Invalid remote name so we throw exception
|
|
75
|
+
raise exc
|
|
65
76
|
|
|
66
77
|
if repo_url.startswith("git@"):
|
|
67
78
|
# If the URL starts with 'git@', it is an SSH URL.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|