diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2018-08-22 11:45:20 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2018-08-22 11:47:11 +0200 |
commit | a5fc1aa04dab639bd087bd5110a0a7af7f6daef8 (patch) | |
tree | 272f623fb3ecdb6bc92f31c080bb0b7f528f9f2b | |
parent | 17d644901bbd770578619545bbd8bc930fe6f2d9 (diff) | |
parent | 46f83453701fc6116d97de6a16986388ba63488f (diff) |
Merge #13765: contrib: add gitian build support for github pull request
46f83453701fc6116d97de6a16986388ba63488f contrib: Support github pull request gitian-build (Chun Kuan Lee)
Pull request description:
- Add `-p` or `--pull` to specify the version is github pull request number
- `./gitian-build.py -bpDn test 13765` should work. This is helpful for someone want to try cross compiling.
Tree-SHA512: b474b089127ffb2a67a42d99c1888bd5812a5ba725c8915a13a01cf93bde32b5b5011314e4193fa6b231caa5de2137e709ee5aa5bf889c4ac60a97aa83caac5c
-rwxr-xr-x | contrib/gitian-build.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/contrib/gitian-build.py b/contrib/gitian-build.py index 5b8db1e73d..0e53c3dfd5 100755 --- a/contrib/gitian-build.py +++ b/contrib/gitian-build.py @@ -135,6 +135,7 @@ def main(): parser = argparse.ArgumentParser(usage='%(prog)s [options] signer version') parser.add_argument('-c', '--commit', action='store_true', dest='commit', help='Indicate that the version argument is for a commit or branch') + parser.add_argument('-p', '--pull', action='store_true', dest='pull', help='Indicate that the version argument is the number of a github repository pull request') parser.add_argument('-u', '--url', dest='url', default='https://github.com/bitcoin/bitcoin', help='Specify the URL of the repository. Default is %(default)s') parser.add_argument('-v', '--verify', action='store_true', dest='verify', help='Verify the Gitian build') parser.add_argument('-b', '--build', action='store_true', dest='build', help='Do a Gitian build') @@ -196,13 +197,21 @@ def main(): exit(1) # Add leading 'v' for tags + if args.commit and args.pull: + raise Exception('Cannot have both commit and pull') args.commit = ('' if args.commit else 'v') + args.version - print(args.commit) if args.setup: setup() os.chdir('bitcoin') + if args.pull: + subprocess.check_call(['git', 'fetch', args.url, 'refs/pull/'+args.version+'/merge']) + os.chdir('../gitian-builder/inputs/bitcoin') + subprocess.check_call(['git', 'fetch', args.url, 'refs/pull/'+args.version+'/merge']) + args.commit = subprocess.check_output(['git', 'show', '-s', '--format=%H', 'FETCH_HEAD'], universal_newlines=True).strip() + args.version = 'pull-' + args.version + print(args.commit) subprocess.check_call(['git', 'fetch']) subprocess.check_call(['git', 'checkout', args.commit]) os.chdir(workdir) |