Skip to content

Commit 4cf3abe

Browse files
Add ruleset (#186)
* Disallow merge commits and rebase merges * Add ruleset
1 parent 5cfb81f commit 4cf3abe

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

bin/bootstrap

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,45 @@ repo_options = {
112112
:homepage => "https://exercism.org/tracks/%s" % slug,
113113
:has_projects => false,
114114
:has_wiki => false,
115+
:allow_merge_commit => false,
116+
:allow_rebase_merge => false
115117
}
116118
repo = client.edit_repository("exercism/%s" % slug, repo_options)
117119

118120
client.put('/repos/exercism/%s/topics' % slug, {names: ["exercism-track"], accept: 'application/vnd.github.mercy-preview+json'})
119121

122+
ruleset_options = {
123+
name: "Default branch",
124+
target: "branch",
125+
enforcement: "active",
126+
conditions: {
127+
ref_name: {
128+
include: ["~DEFAULT_BRANCH"],
129+
exclude:[]
130+
}
131+
},
132+
rules: [
133+
{
134+
type: "pull_request",
135+
parameters: {
136+
dismiss_stale_reviews_on_push: false,
137+
require_code_owner_review: true,
138+
require_last_push_approval: false,
139+
required_approving_review_count: 0,
140+
required_review_thread_resolution: false
141+
}
142+
}
143+
],
144+
bypass_actors: [
145+
{
146+
actor_id: 1,
147+
actor_type: "OrganizationAdmin",
148+
bypass_mode: "always"
149+
}
150+
]
151+
}
152+
client.post('/repos/exercism/%s/rulesets' % slug, ruleset_options)
153+
120154
team_options = {
121155
:name => slug,
122156
:description => "Maintainers of the Exercism %s track" % language,

0 commit comments

Comments
 (0)