diff --git a/otterdog/eclipse-openj9.jsonnet b/otterdog/eclipse-openj9.jsonnet new file mode 100644 index 0000000..03d4afd --- /dev/null +++ b/otterdog/eclipse-openj9.jsonnet @@ -0,0 +1,284 @@ +local orgs = import 'vendor/otterdog-defaults/otterdog-defaults.libsonnet'; + +orgs.newOrg('eclipse-openj9') { + settings+: { + description: "", + name: "Eclipse OpenJ9™", + security_managers+: [ + "technology-openj9-committers" + ], + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + }, + webhooks+: [ + orgs.newOrgWebhook('https://openj9-jenkins.osuosl.org/ghprbhook/') { + content_type: "json", + events+: [ + "issue_comment", + "pull_request", + "push" + ], + secret: "********", + }, + orgs.newOrgWebhook('https://openj9-jenkins.osuosl.org/generic-webhook-trigger/invoke') { + content_type: "json", + events+: [ + "push" + ], + secret: "********", + }, + ], + _repositories+:: [ + orgs.newRepo('build-openj9') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "master", + delete_branch_on_merge: false, + dependabot_security_updates_enabled: true, + description: "Openj9 Build", + private_vulnerability_reporting_enabled: true, + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + }, + orgs.newRepo('openj9') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "master", + delete_branch_on_merge: false, + dependabot_security_updates_enabled: true, + description: "Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.", + homepage: "", + private_vulnerability_reporting_enabled: true, + topics+: [ + "compiler", + "eclipse-openj9", + "garbage-collector", + "gc", + "hacktoberfest", + "interpreter", + "java", + "jit", + "jvm", + "runtime", + "virtual-machine" + ], + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + webhooks: [ + orgs.newRepoWebhook('https://ci.eclipse.org/openj9/ghprbhook/') { + events+: [ + "issue_comment", + "pull_request" + ], + }, + orgs.newRepoWebhook('https://notify.travis-ci.org') { + events+: [ + "create", + "delete", + "issue_comment", + "member", + "public", + "pull_request", + "push", + "repository" + ], + }, + ], + branch_protection_rules: [ + orgs.newBranchProtectionRule('v*-release') { + required_approving_review_count: null, + requires_pull_request: false, + requires_status_checks: false, + requires_strict_status_checks: true, + }, + orgs.newBranchProtectionRule('master') { + required_approving_review_count: null, + requires_pull_request: false, + requires_status_checks: false, + requires_strict_status_checks: true, + }, + orgs.newBranchProtectionRule('jitaas') { + required_approving_review_count: null, + requires_pull_request: false, + requires_status_checks: false, + requires_strict_status_checks: true, + }, + ], + }, + orgs.newRepo('openj9-docs') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "master", + delete_branch_on_merge: false, + dependabot_security_updates_enabled: true, + description: "Source repository for the Eclipse OpenJ9 user documentation, which should be viewed [online]https://www.eclipse.org/openj9/docs/", + gh_pages_build_type: "legacy", + gh_pages_source_branch: "gh-pages", + gh_pages_source_path: "/", + homepage: "", + private_vulnerability_reporting_enabled: true, + topics+: [ + "hacktoberfest" + ], + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + webhooks: [ + orgs.newRepoWebhook('https://ci.eclipse.org/openj9/ghprbhook/') { + events+: [ + "issue_comment", + "pull_request", + "push" + ], + }, + orgs.newRepoWebhook('https://ci.eclipse.org/openj9/generic-webhook-trigger/invoke') { + content_type: "json", + events+: [ + "push" + ], + }, + ], + environments: [ + orgs.newEnvironment('github-pages'), + ], + }, + orgs.newRepo('openj9-docs-staging') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "master", + delete_branch_on_merge: false, + dependabot_security_updates_enabled: true, + gh_pages_build_type: "legacy", + gh_pages_source_branch: "master", + gh_pages_source_path: "/", + private_vulnerability_reporting_enabled: true, + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + environments: [ + orgs.newEnvironment('github-pages'), + ], + }, + orgs.newRepo('openj9-jenkins') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "master", + delete_branch_on_merge: false, + description: "Jenkins specific code for OpenJ9", + private_vulnerability_reporting_enabled: true, + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + }, + orgs.newRepo('openj9-omr') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "openj9", + delete_branch_on_merge: false, + dependabot_security_updates_enabled: true, + description: "Eclipse OpenJ9's clone of the Eclipse OMR (https://github.com/eclipse/omr) project. PRs should be opened against the upstream OMR project whenever possible.", + homepage: "", + private_vulnerability_reporting_enabled: true, + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + webhooks: [ + orgs.newRepoWebhook('https://ci.eclipse.org/openj9/ghprbhook/') { + events+: [ + "issue_comment", + "pull_request" + ], + }, + ], + branch_protection_rules: [ + orgs.newBranchProtectionRule('v*-release') { + required_approving_review_count: null, + requires_pull_request: false, + requires_status_checks: false, + requires_strict_status_checks: true, + }, + orgs.newBranchProtectionRule('openj9') { + required_approving_review_count: null, + requires_pull_request: false, + requires_status_checks: false, + requires_strict_status_checks: true, + }, + orgs.newBranchProtectionRule('jitaas') { + required_approving_review_count: null, + requires_pull_request: false, + requires_status_checks: false, + requires_strict_status_checks: true, + }, + ], + }, + orgs.newRepo('openj9-utils') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "master", + delete_branch_on_merge: false, + dependabot_alerts_enabled: false, + private_vulnerability_reporting_enabled: true, + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + }, + orgs.newRepo('openj9-website') { + allow_merge_commit: true, + allow_update_branch: false, + default_branch: "master", + delete_branch_on_merge: false, + dependabot_security_updates_enabled: true, + description: "openj9-website", + private_vulnerability_reporting_enabled: true, + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + webhooks: [ + orgs.newRepoWebhook('https://ci.eclipse.org/openj9/ghprbhook/') { + events+: [ + "issue_comment", + "pull_request" + ], + }, + ], + environments: [ + orgs.newEnvironment('github-pages'), + ], + }, + orgs.newRepo('openj9-website-publish') { + allow_merge_commit: true, + allow_update_branch: false, + delete_branch_on_merge: false, + dependabot_alerts_enabled: false, + description: "openj9-website-publish", + gh_pages_build_type: "legacy", + gh_pages_source_branch: "staging", + gh_pages_source_path: "/", + private_vulnerability_reporting_enabled: true, + web_commit_signoff_required: false, + workflows+: { + default_workflow_permissions: "write", + }, + environments: [ + orgs.newEnvironment('github-pages') { + branch_policies+: [ + "staging" + ], + deployment_branch_policy: "selected", + }, + ], + }, + ], +}