Example #1
0
def publish(context):
    """Publishes the project"""
    commit_version_change(context)

    if context.github:
        # github token
        project_settings = project_config(context.module_name)
        if not project_settings['gh_token']:
            click.echo('You need a GitHub token for changes to create a release.')
            click.pause('Press [enter] to launch the GitHub "New personal access '
                        'token" page, to create a token for changes.')
            click.launch('https://github.com/settings/tokens/new')
            project_settings['gh_token'] = click.prompt('Enter your changes token')

            store_settings(context.module_name, project_settings)
        description = click.prompt('Describe this release')

        upload_url = create_github_release(context, project_settings['gh_token'], description)

        upload_release_distributions(
            context,
            project_settings['gh_token'],
            build_distributions(context),
            upload_url,
        )

        click.pause('Press [enter] to review and update your new release')
        click.launch('{0}/releases/tag/{1}'.format(context.repo_url, context.new_version))
    else:
        tag_and_push(context)
Example #2
0
def test_github_release():
    responses.add(
        responses.POST,
        'https://api.github.com/repos/michaeljoseph/test_app/releases',
        body=json.dumps(
            dict(id='release-id', upload_url='http://upload.url.com/')),
        status=201,
        content_type='application/json')
    upload_url = vcs.create_github_release(context, 'gh-token', 'Description')
    assert upload_url == 'http://upload.url.com/'
Example #3
0
def test_github_release():
    responses.add(
        responses.POST,
        'https://api.github.com/repos/michaeljoseph/test_app/releases',
        body=json.dumps(dict(
            id='release-id',
            upload_url='http://upload.url.com/'
        )),
        status=201,
        content_type='application/json'
    )
    upload_url = vcs.create_github_release(context, 'gh-token', 'Description')
    assert upload_url == 'http://upload.url.com/'
Example #4
0
def test_github_release():
    with CliRunner().isolated_filesystem():
        git('init')
        git('remote', 'add', 'origin',
            'https://github.com/michaeljoseph/test_app.git')

        responses.add(
            responses.POST,
            'https://api.github.com/repos/michaeljoseph/test_app/releases',
            body=json.dumps(
                dict(id='release-id', upload_url='http://upload.url.com/')),
            status=201,
            content_type='application/json',
        )
        upload_url = vcs.create_github_release(context, 'gh-token',
                                               'Description')
        assert upload_url == 'http://upload.url.com/'