diff --git a/Rakefile b/Rakefile index b1fbfeb4b4caa..0c3487ac0d045 100644 --- a/Rakefile +++ b/Rakefile @@ -581,9 +581,7 @@ namespace :py do desc 'Release Python wheel and sdist to pypi' task :release, [:args] do |_task, arguments| args = arguments[:args] || ['--stamp'] - Rake::Task['py:build'].invoke(args) - sh "python3 -m twine upload bazel-bin/py/selenium-#{python_version}-py3-none-any.whl" - sh "python3 -m twine upload bazel-bin/py/selenium-#{python_version}.tar.gz" + Bazel.execute('run', args, '//py:selenium-release') end desc 'generate and copy files required for local development' diff --git a/py/BUILD.bazel b/py/BUILD.bazel index 2bd966190e0b6..986fbc747149a 100644 --- a/py/BUILD.bazel +++ b/py/BUILD.bazel @@ -10,6 +10,22 @@ load("//py:defs.bzl", "generate_devtools", "py_test_suite") load("//py/private:browsers.bzl", "BROWSERS") load("//py/private:import.bzl", "py_import") +alias( + name = "twine", + actual = requirement("twine"), +) + +genrule( + name = "selenium-release", + srcs = [ + ":selenium-wheel", + ":selenium-sdist", + ], + outs = ["pypi_upload_complete.txt"], + cmd = "(twine upload $(location :selenium-wheel) $(location :selenium-sdist) && touch $@)", + tools = [":twine"], +) + compile_pip_requirements( # base name for generated targets, typically "requirements" name = "requirements",