Skip to content
Snippets Groups Projects
build.py 933 B
Newer Older
  • Learn to ignore specific revisions
  • Jason R Laura's avatar
    Jason R Laura committed
    #!/usr/bin/env python
    
    import sys
    import os
    import sh
    
    from argparse import ArgumentParser
    
    
    # Initialize
    try:
    
    Jason R Laura's avatar
    Jason R Laura committed
        token = os.environ['BINSTAR_KEY']
    
    Jason R Laura's avatar
    Jason R Laura committed
    except KeyError:
        sys.exit("Must set $BINSTAR_KEY")
    binstar = sh.Command('binstar').bake(t=token)
    conda = sh.Command('conda')
    
    
    def build_and_publish(path, channel):
        binfile = conda.build("--output", path).strip()
        conda.build(path)
        binstar.upload(binfile, force=True, channel=channel)
    
    
    def main():
        parser = ArgumentParser()
        parser.add_argument('-p', '--project', required=True)
        parser.add_argument('-c', '--channel', required=False, default='main')
        parser.add_argument('-s', '--site', required=False, default=None)
    
        parser.add_argument('-b', '--build_dir', required=False, default='conda')
    
    Jason R Laura's avatar
    Jason R Laura committed
        args = parser.parse_args()
    
        
        build_and_publish(args.build_dir, channel=args.channel)
    
    Jason R Laura's avatar
    Jason R Laura committed
        return 0
    
    
    if __name__ == '__main__':
        sys.exit(main())