Skip to content

Commit 53eec40

Browse files
committed
[build] better syntax and logging for release tasks
1 parent b9fda18 commit 53eec40

File tree

1 file changed

+54
-49
lines changed

1 file changed

+54
-49
lines changed

Rakefile

Lines changed: 54 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -471,12 +471,15 @@ namespace :node do
471471
end
472472

473473
desc 'Release Node npm package'
474-
task :release do |_task, arguments|
475-
args = arguments.to_a.compact
476-
nightly = args.delete('nightly')
477-
Rake::Task['node:version'].invoke('nightly') if nightly
474+
task :release, [:nightly] do |_task, arguments|
475+
nightly = arguments[:nightly]
476+
if nightly
477+
puts "Updating Node version to nightly..."
478+
Rake::Task['node:version'].invoke('nightly') if nightly
479+
end
478480

479-
Bazel.execute('run', ['--config=release'], '//javascript/node/selenium-webdriver:selenium-webdriver.publish')
481+
puts "Running Node package release..."
482+
Bazel.execute('run', ['--config=release'], '//javascript/node/selenium-webdriver:selenium-webdriver.publish')
480483
end
481484

482485
desc 'Release Node npm package'
@@ -535,12 +538,15 @@ namespace :py do
535538
end
536539

537540
desc 'Release Python wheel and sdist to pypi'
538-
task :release do |_task, arguments|
539-
args = arguments.to_a.compact
540-
nightly = args.delete('nightly')
541-
Rake::Task['py:version'].invoke('nightly') if nightly
541+
task :release, [:nightly] do |_task, arguments|
542+
nightly = arguments[:nightly]
543+
if nightly
544+
puts "Updating Python version to nightly..."
545+
Rake::Task['py:version'].invoke('nightly')
546+
end
542547

543548
command = nightly ? '//py:selenium-release-nightly' : '//py:selenium-release'
549+
puts "Running Python release command: #{command}"
544550
Bazel.execute('run', ['--config=release'], command)
545551
end
546552

@@ -707,14 +713,17 @@ namespace :rb do
707713
end
708714

709715
desc 'Push Ruby gems to rubygems'
710-
task :release do |_task, arguments|
711-
args = arguments.to_a.compact
712-
nightly = args.delete('nightly')
716+
task :release, [:nightly] do |_task, arguments|
717+
nightly = arguments[:nightly]
713718

714719
if nightly
720+
puts "Bumping Ruby nightly version..."
715721
Bazel.execute('run', [], '//rb:selenium-webdriver-bump-nightly-version')
722+
723+
puts "Releasing nightly WebDriver gem..."
716724
Bazel.execute('run', ['--config=release'], '//rb:selenium-webdriver-release-nightly')
717725
else
726+
puts "Releasing Ruby gems..."
718727
Bazel.execute('run', ['--config=release'], '//rb:selenium-webdriver-release')
719728
Bazel.execute('run', ['--config=release'], '//rb:selenium-devtools-release')
720729
end
@@ -785,17 +794,21 @@ namespace :dotnet do
785794
end
786795

787796
desc 'Upload nupkg files to Nuget'
788-
task :release do |_task, arguments|
789-
args = arguments.to_a.compact
790-
nightly = args.delete('nightly')
791-
Rake::Task['dotnet:version'].invoke('nightly') if nightly
797+
task :release, [:nightly] do |_task, arguments|
798+
nightly = arguments[:nightly]
799+
if nightly
800+
puts "Updating .NET version to nightly..."
801+
Rake::Task['dotnet:version'].invoke('nightly')
802+
end
803+
804+
puts "Packaging .NET release artifacts..."
792805
Rake::Task['dotnet:package'].invoke('--config=release')
793806

794807
api_key = ENV.fetch('NUGET_API_KEY', nil)
795808
push_destination = 'https://api.nuget.org/v3/index.json'
809+
796810
if nightly
797-
# Nightly builds are pushed to GitHub NuGet repository
798-
# This commands will run in GitHub Actions
811+
puts "Setting up NuGet GitHub source for nightly release..."
799812
api_key = ENV.fetch('GITHUB_TOKEN', nil)
800813
github_push_url = 'https://nuget.pkg.github.com/seleniumhq/index.json'
801814
push_destination = 'github'
@@ -804,6 +817,7 @@ namespace :dotnet do
804817
sh "dotnet nuget add source #{flags.join(' ')}"
805818
end
806819

820+
puts "Pushing packages to NuGet"
807821
["./bazel-bin/dotnet/src/webdriver/Selenium.WebDriver.#{dotnet_version}.nupkg",
808822
"./bazel-bin/dotnet/src/support/Selenium.Support.#{dotnet_version}.nupkg"].each do |asset|
809823
sh "dotnet nuget push #{asset} --api-key #{api_key} --source #{push_destination}"
@@ -899,9 +913,8 @@ namespace :java do
899913
end
900914

901915
desc 'Deploy all jars to Maven'
902-
task :release do |_task, arguments|
903-
args = arguments.to_a.compact
904-
nightly = args.delete('nightly')
916+
task :release, [:nightly] do |_task, arguments|
917+
nightly = arguments[:nightly]
905918

906919
ENV['MAVEN_USER'] ||= ENV.fetch('SEL_M2_USER', nil)
907920
ENV['MAVEN_PASSWORD'] ||= ENV.fetch('SEL_M2_PASS', nil)
@@ -911,10 +924,16 @@ namespace :java do
911924
ENV['MAVEN_REPO'] = "https://oss.sonatype.org/#{repo}"
912925
ENV['GPG_SIGN'] = (!nightly).to_s
913926

914-
Rake::Task['java:version'].invoke if nightly
927+
if nightly
928+
puts "Updating Java version to nightly..."
929+
Rake::Task['java:version'].invoke('nightly')
930+
end
931+
932+
puts "Packaging Java artifacts..."
915933
Rake::Task['java:package'].invoke('--config=release')
916934
Rake::Task['java:build'].invoke('--config=release')
917-
# Because we want to `run` things, we can't use the `release` config
935+
936+
puts "Releasing Java artifacts to Maven repository at '#{ENV['MAVEN_REPO']}'"
918937
java_release_targets.each { |target| Bazel.execute('run', ['--config=release'], target) }
919938
end
920939

@@ -1068,34 +1087,20 @@ namespace :all do
10681087
end
10691088

10701089
desc 'Release all artifacts for all language bindings'
1071-
task :release do |_task, arguments|
1090+
task :release, [:nightly] do |_task, arguments|
10721091
Rake::Task['clean'].invoke
10731092

1074-
args = arguments.to_a.compact.empty? ? ['--stamp'] : arguments.to_a.compact
1075-
Rake::Task['java:release'].invoke(*args)
1076-
Rake::Task['py:release'].invoke(*args)
1077-
Rake::Task['rb:release'].invoke(*args)
1078-
Rake::Task['dotnet:release'].invoke(*args)
1079-
Rake::Task['node:release'].invoke(*args)
1080-
1081-
# TODO: Update this so it happens in each language, but does not commit
1082-
Rake::Task['all:version'].invoke('nightly')
1083-
1084-
puts 'Committing nightly version updates'
1085-
commit!('update versions to nightly', ['dotnet/selenium-dotnet-version.bzl',
1086-
'java/version.bzl',
1087-
'javascript/node/selenium-webdriver/BUILD.bazel',
1088-
'javascript/node/selenium-webdriver/package.json',
1089-
'py/docs/source/conf.py',
1090-
'py/selenium/webdriver/__init__.py',
1091-
'py/selenium/__init__.py',
1092-
'py/BUILD.bazel',
1093-
'rb/lib/selenium/webdriver/version.rb',
1094-
'rb/Gemfile.lock'])
1095-
1096-
print 'Do you want to push the committed changes? (Y/n): '
1097-
response = $stdin.gets.chomp.downcase
1098-
@git.push if %w[y yes].include?(response)
1093+
nightly = arguments[:nightly]
1094+
Rake::Task['java:release'].invoke(nightly)
1095+
Rake::Task['py:release'].invoke(nightly)
1096+
Rake::Task['rb:release'].invoke(nightly)
1097+
Rake::Task['dotnet:release'].invoke(nightly)
1098+
Rake::Task['node:release'].invoke(nightly)
1099+
1100+
unless nightly
1101+
puts 'bump all versions to nightly'
1102+
Rake::Task['all:version'].invoke('nightly')
1103+
end
10991104
end
11001105

11011106
task :lint do

0 commit comments

Comments
 (0)