def main()

in appengine/integration_tests/deploy_check.py [0:0]


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--directory', '-d', type=str,
                        help='Directory of app to be run',
                        required=True)
    parser.add_argument('--language', '-l', type=str,
                        help='Language of the app deployed',
                        required=False)
    parser.add_argument('--verbose', '-v', help='Debug logging',
                        action='store_true', required=False)
    parser.add_argument('--skip-builders', action='store_true',
                        help='Skip runtime builder flow', default=False)
    parser.add_argument('--skip-xrt', action='store_true',
                        help='Skip XRT flow', default=False)
    args = parser.parse_args()

    if args.verbose:
        logging.getLogger().setLevel(logging.DEBUG)

    # retrieve previous config value to reset after
    cmd = ['gcloud', 'config', 'list', '--format=json']
    output = json.loads(subprocess.check_output(cmd))
    prev_builder_value = None
    if 'app' in output:
        prev_builder_value = output.get('app').get('use_runtime_builders')

    if args.skip_xrt:
        logging.info('Skipping xrt flow.')
    else:
        # disable app/use_runtime_builders to hit the XRT flow
        _set_runtime_builder_flag(False)
        _deploy_and_test(args.directory, args.language, True)

    if args.skip_builders:
        logging.info('Skipping builder flow.')
    else:
        # set app/use_runtime_builders to explicitly enter builder flow
        _set_runtime_builder_flag(True)
        _deploy_and_test(args.directory, args.language, False)

    _set_runtime_builder_flag(prev_builder_value)