Skip to content

pantsbuild/binaries

Folders and files

NameName
Last commit message
Last commit date
Nov 13, 2021
Nov 9, 2015
Nov 12, 2021
Mar 1, 2018
Oct 20, 2015
May 4, 2016
Oct 10, 2017
Oct 11, 2017
Mar 1, 2018
Aug 10, 2015
Oct 6, 2015
Dec 4, 2015
Jan 14, 2016
Aug 20, 2015
Apr 13, 2016
Apr 25, 2016
Jul 23, 2016
Feb 18, 2016
Sep 8, 2016
Dec 21, 2016
Dec 21, 2016
Feb 19, 2017
Aug 8, 2017
Aug 29, 2016
Aug 8, 2017
Aug 8, 2017
Aug 8, 2017
Feb 19, 2017
Aug 25, 2015
Sep 11, 2015
Sep 29, 2016
Sep 29, 2016
Apr 30, 2017
Jul 21, 2017
Sep 29, 2016
Jan 3, 2017
Feb 1, 2017
Jul 21, 2017
Nov 4, 2017
Sep 29, 2016
Dec 3, 2015
Aug 11, 2015
Nov 22, 2016
Sep 29, 2017
Jul 22, 2015
Nov 6, 2015
Jul 19, 2017
Jan 24, 2015
Jan 24, 2015
Sep 29, 2016
Sep 29, 2016
Sep 29, 2016
Jan 4, 2018
Nov 7, 2017
Jul 17, 2018
Mar 6, 2019
Jul 17, 2018
Jan 5, 2018
Nov 6, 2018

Repository files navigation

binaries

A home for scripts that build pants static binaries.

Supported Platforms

As of Spring 2018, binaries are no longer being published for i386 nor macOS versions prior to 10.8. Binaries for Linux x86_64 and macOS 10.8+ are generally published.

workflow

The general workflow for publishing new binaries is:

  1. Create a script that will build the binary tool as reproducibly as possible, and place the script in a relevant directory under build-support. For example, for thrift 0.10.0 for mac, you'd create the script at build-support/bin/thrift/mac/10.13/0.10.0/build.sh. The script should place the built binary in the current directory upon success so that the reviewer doesn't have to find and move it after running the build script.
  2. Symlink the script directory into all other relevant versions for both platforms (see supported platforms). Currently this only needs to be done for OSX. If 10.13 is the current OSX version, from within e.g. build-support/bin/thrift/mac, run ln -s 10.13 10.12, and so forth (e.g. ln -s 10.13 10.11) for all supported previous OSX versions.
  3. Get the script and links reviewed. During review, the reviewer should confirm that the script successfully produces a binary on their machine(s).
  4. The script should then be merged without the produced binaries.
  5. After merging, the reviewer should (re-)execute the script (if necessary), confirm that binaries have been created in all relevant symlinked directories, and then run:
    ./sync-s3.sh
    

...to upload the produced binaries to s3.

building

linux

Requires docker.

  1. Change directories to the root of this repository, and run:
docker run -v "$(pwd):/pantsbuild-binaries" -w '/pantsbuild-binaries' --rm -it pantsbuild/centos7:latest /bin/bash

...to pop yourself in a controlled image back at this repo's root.

  1. Change into the directory containing the build-*.sh script corresponding to the binary you wish to build.
  2. Run the build-*.sh script -- the binary should be location in the script's directory upon success.

osx

We have no controlled build environment solution like we do for linux, so you'll need to get your hands on an OSX machine. With that in hand:

  1. Change into the directory containing the build-*.sh script corresponding to the binary you wish to build.
  2. Run the build-*.sh script -- the binary should be location in the script's directory upon success.

About

A temporary home for pants static binaries and scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published