-
Notifications
You must be signed in to change notification settings - Fork 23
/
update-initial-pipelines
executable file
·29 lines (25 loc) · 945 Bytes
/
update-initial-pipelines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env ruby
# frozen_string_literal: true
require "buildkit"
def buildkite_token
ENV.fetch("BUILDKITE_TOKEN") {
raise "BUILDKITE_TOKEN undefined!\nMake sure your BUILDKITE_TOKEN has `write_pipelines` scope too!"
}
end
# Make sure your BUILDKITE_TOKEN has `write_pipelines` scope
def update_pipeline(pipeline, slug = nil)
slug ||= pipeline
puts "Updating #{pipeline}..."
configuration = File.read("pipelines/#{slug}/initial.yml")
client = Buildkit.new(token: buildkite_token)
resp = client.update_pipeline("rails", pipeline, {
configuration: configuration
})
puts resp.steps.map { |step| step["name"] }.join("\n")
end
update_pipeline("rails", "rails-ci")
update_pipeline("rails-ci", "rails-ci")
update_pipeline("rails-nightly", "rails-ci-nightly")
update_pipeline("rails-ci-nightly", "rails-ci-nightly")
update_pipeline("buildkite-config", "buildkite-config")
update_pipeline("docs-preview", "docs-preview")