Esempio n. 1
0
def verify_release_pre_requisites(version):
    if version == "":
        print_error("Wrong version format")
        sys.exit(1)

    release_notes = read_release_notes(release_note_file_path)
    if release_notes is None or release_notes == "":
        print_error("Release notes is not consistent with version '%s'" %
                    version)
        sys.exit(1)
def bintray_upload(new_release_version):
    bintray_user = "******"
    bintray_api_key = "BINTRAY_API_KEY"

    if not bintray_user in os.environ:
        print_error("Env variable '%s' is not defined" % bintray_user)
        return False

    if not bintray_api_key in os.environ:
        print_error("Env variable '%s' is not defined" % bintray_api_key)
        return False

    return execute_gradle(tasks=['bintrayUpload'])
def publish_release_notes(branch_name, new_release_version,
                          release_note_file_path):
    repository_path = "REPOSITORY_PATH"
    repository_token = "REPOSITORY_TOKEN"

    if not repository_path in os.environ:
        print_error("Env variable '%s' is not defined" % repository_path)
        return False

    if not repository_token in os.environ:
        print_error("Env variable '%s' is not defined" % repository_token)
        return False

    tag_branch = get_tag_branch(new_release_version)
    if tag_branch is None or tag_branch.strip(" ") != branch_name:
        print_error("Tag '%s' not exist" % new_release_version)
        return False

    release_notes = read_release_notes(release_note_file_path)
    body = {
        'tag_name': new_release_version,
        'target_commitish': branch_name,
        'name': 'Alpha Release',
        'body': release_notes,
        'draft': True,
        'prerelease': False
    }
    response = requests.post(url=os.environ[repository_path],
                             auth=('token', os.environ[repository_token]),
                             json=body)

    if response.status_code >= 300:
        print_error(response.text)
        return False

    return True
Esempio n. 4
0
        print_error("Release notes is not consistent with version '%s'" %
                    version)
        sys.exit(1)


if __name__ == '__main__':
    print('Starting release process')

    stages = {
        'run_tests': [run_tests],
        'bintray_upload': [bintray_upload],
        'send_release_notes': [send_release_notes]
    }

    if len(sys.argv) != 2:
        print_error("Wrong number of arguments")
        sys.exit(1)

    print('Changing to clappr dir')
    from_release_to_clappr_dir()

    stage = sys.argv[1]
    version = get_gradle_version(release_version_regex)
    verify_release_pre_requisites(version)

    execute_stage(version, stages, stage)

    print('Changing back to release dir')
    from_clappr_to_release_dir()

    print_success()
Esempio n. 5
0
def verify_snapshot_pre_requisites(version):
    if version == "":
        print_error("Wrong version format")
        sys.exit(1)
def execute_git(commands):
    for task in commands:
        if not execute_command(command='git', attributes=task):
            print_error("Can not execute git command!")
            return False
    return True