Hi, How about creating a pull request to apache/arrow-dist with changes to use the latest apache/arrow? (A sample script exists at the end.)
If the pull request is created, we can test packaging with the latest apache/arrow on Travis CI. If we add the following configuration to .travis.yml in apache/arrow-dist, we can get a notification via e-mail on failure: --- notifications: email: recipients: - build-fail...@arrow.apache.org # or something # See https://docs.travis-ci.com/user/notifications/#Changing-notification-frequency # for details on_success: never # or change on_failure: always --- If the pull request is succeeded, we just close the pull request. (It should be automated.) Or we merge it into master and publish daily packages. --- #!/usr/bin/env ruby require "octokit" github_token = ENV["GITHUB_TOKEN"] if github_token.nil? $stderr.puts("Must specify GitHub access token by GITHUB_TOKEN environment variable") exit(false) end client = Octokit::Client.new(:access_token => github_token) now = Time.now branch = now.strftime("update-%Y-%m-%d") message = now.strftime("Update at %Y-%m-%d") def run(*command_line) IO.pipe do |input, output| expanded_command_line = command_line.join(" ") puts(expanded_command_line) response = nil begin read_thread = Thread.new do response = input.read end unless system(*command_line, :out => output) raise "failed to run: #{expanded_command_line}" end output.close ensure read_thread.join end response end end run("git", "fetch", "--all", "--prune") run("git", "checkout", "master") run("git", "rebase", "upstream/master") begin run("git", "checkout", "-b", branch) Dir.chdir("arrow") do current_version = run("git", "log", "-n1", "--format=%H", "HEAD").chomp run("git", "checkout", "master") run("git", "pull") new_version = run("git", "log", "-n1", "--format=%H", "HEAD").chomp exit(true) if current_version == new_version end Dir.chdir("cpp-linux") do run("rake", "version:update") end # And do something for other packages run("git", "commit", "-a", "-m", message) run("git", "push", "origin", branch) ensure run("git", "checkout", "master") run("git", "submodule", "update", "arrow") run("git", "branch", "-D", branch) end client.create_pull_request("apache/arrow-dist", "master", branch, message) --- Thanks, -- kou In <CAJPUwMB9CKD-N4RgHgLZFqO6sN5fCXXv26_OjVHHW1oKQqA=s...@mail.gmail.com> "Confronting Arrow packaging problems" on Fri, 23 Mar 2018 12:58:54 -0400, Wes McKinney <wesmck...@gmail.com> wrote: > hi folks, > > So, I want to bring light to the problems we are having delivering > binary artifacts after Arrow releases. > > We have some amount of packaging automation implemented in > https://github.com/apache/arrow-dist using Travis CI and Appveyor to > upload packages to Bintray, a packaging hosting service. > > Unfortunately, we discovered a bunch of problems with these packaging > scripts after the release vote closed on Monday, and now 4 days later, > we still have been unable to post binaries to > https://pypi.python.org/pypi/pyarrow > > This is no one's fault, but it highlights structural problems with our > development process: > > * Why does producing packages after a release require error-prone manual > labor? > > * Why are we only finding out about packaging problem after a release > vote closes? > > * Why is setting up nightly binary builds a brittle and bespoke process? > > I hope all agree that: > > * Packaging should not be a hardship or require a lot of manual labor > > * Packaging problems on the master branch should be made known within > ~24 hours, so they can be remedied immediately > > * It should be straightforward to produce binary artifacts for all > supported platforms and programming languages > > Eventually, we should include some binary artifacts in our release > votes, but we are pretty far away from suitable automation to make > this possible. > > I don't know any easy solutions, but Apache Arrow has grown widely > used enough that I think it's worth our taking the time to plan and > execute some solutions to these problems, which I expect to pay > dividends in our community's productivity over time. > > Thanks, > Wes