chore: Update releaser to handle multiple static and generated gems (#2145)

This commit is contained in:
Daniel Azuma authored and GitHub committed 2021-01-01 15:54:02 -08:00
1 parent be13e0c381
commit bd10c4b2f0
7 files changed
+284 -36

No files matched your search

+25 -36
View File
@@ -5,6 +5,10 @@ namespace :kokoro do
load_env_vars
end
task :dry_run do
ENV["DRY_RUN"] = "true"
end
task :presubmit do
Rake::Task["kokoro:run_tests"].invoke
end
@@ -26,8 +30,27 @@ namespace :kokoro do
end
task :release do
Rake::Task["kokoro:publish_gem"].invoke
Rake::Task["kokoro:publish_docs"].invoke
require_relative "rakelib/releaser.rb"
load_env_vars if ENV["KOKORO_GFILE_DIR"]
package = ENV["PACKAGE"]
raise "PACKAGE missing" unless package
dry_run = ENV["DRY_RUN"]
if package == "ALL_GENERATED"
Dir.glob("generated/google-apis-*") do |gem_dir|
gem_name = File.basename(gem_dir)
releaser = Releaser.new(gem_name, gem_dir, dry_run: dry_run)
if releaser.needs_gem_publish?
releaser.publish_gem
releaser.publish_docs
end
end
else
releaser = Releaser.new(package, package, dry_run: dry_run)
releaser.publish_gem if releaser.needs_gem_publish?
releaser.publish_docs
end
end
task :run_tests do
@@ -42,40 +65,6 @@ namespace :kokoro do
end
end
end
task :publish_gem do
require "gems"
load_env_vars if ENV["KOKORO_GFILE_DIR"]
api_token = ENV["RUBYGEMS_API_TOKEN"]
if api_token
::Gems.configure do |config|
config.key = api_token
end
end
cd "google-api-client" do
Bundler.with_clean_env do
rm_rf "pkg"
sh "bundle update"
sh "bundle exec rake build"
built_gem_path = Dir.glob("pkg/google-api-client-*.gem").last
response = ::Gems.push File.new built_gem_path
puts response
raise "Failed to release gem" unless response.include? "Successfully registered gem:"
end
end
end
desc "Publish docs for the latest git tag"
task :publish_docs do
require_relative "rakelib/devsite/devsite_builder.rb"
cd "google-api-client" do
DevsiteBuilder.new.publish ENV["DOCS_BUILD_TAG"]
end
end
end
def load_env_vars