Esempio n. 1
0
    def __call__(self, args):
        from conda_smithy import ci_register

        owner = args.user or args.organization
        repo = os.path.basename(os.path.abspath(args.feedstock_directory))

        print("CI Summary for {}/{} (can take ~30s):".format(owner, repo))
        if args.travis:
            # Assume that the user has enabled travis-ci.com service
            # user-wide or org-wide for all repos
            # ci_register.add_project_to_travis(owner, repo)
            ci_register.travis_token_update_conda_forge_config(
                args.feedstock_directory, owner, repo)
            time.sleep(1)
            ci_register.travis_configure(owner, repo)
            # Assume that the user has enabled travis-ci.com service
            # user-wide or org-wide for all repos
            # ci_register.travis_cleanup(owner, repo)
        else:
            print("Travis registration disabled.")
        if args.circle:
            ci_register.add_project_to_circle(owner, repo)
            ci_register.add_token_to_circle(owner, repo)
        else:
            print("Circle registration disabled.")
        if args.azure:
            if azure_ci_utils.default_config.token is None:
                print(
                    "No azure token.  Create a token at https://dev.azure.com/conda-forge/_usersSettings/tokens and\n"
                    "put it in ~/.conda-smithy/azure.token")
            ci_register.add_project_to_azure(owner, repo)
        else:
            print("Azure registration disabled.")
        if args.appveyor:
            ci_register.add_project_to_appveyor(owner, repo)
            ci_register.appveyor_encrypt_binstar_token(
                args.feedstock_directory, owner, repo)
            ci_register.appveyor_configure(owner, repo)
        else:
            print("Appveyor registration disabled.")

        if args.drone:
            ci_register.add_project_to_drone(owner, repo)
            ci_register.add_token_to_drone(owner, repo)
        else:
            print("Drone registration disabled.")

        if args.webservice:
            ci_register.add_conda_forge_webservice_hooks(owner, repo)
        else:
            print("Heroku webservice registration disabled.")
        print(
            "\nCI services have been enabled. You may wish to regenerate the feedstock.\n"
            "Any changes will need commiting to the repo.")
Esempio n. 2
0
    def __call__(self, args):
        from conda_smithy import ci_register

        owner = args.user or args.organization
        meta = conda_build.api.render(
            args.feedstock_directory,
            permit_undefined_jinja=True,
            finalize=False,
            bypass_env_check=True,
            trim_skip=False,
        )[0][0]
        feedstock_name = get_feedstock_name_from_meta(meta)
        repo = "{}-feedstock".format(feedstock_name)

        if args.feedstock_config is None:
            args.feedstock_config = default_feedstock_config_path(
                args.feedstock_directory)

        print("CI Summary for {}/{} (can take ~30s):".format(owner, repo))

        if not args.anaconda_token:
            print("Warning: By not registering an Anaconda/Binstar token"
                  "your feedstock CI may not be able to upload packages"
                  "to anaconda.org by default. It is recommended to set"
                  "`upload_packages: False` per provider field in"
                  "conda-forge.yml to disable package uploads.")
        if args.travis:
            # Assume that the user has enabled travis-ci.com service
            # user-wide or org-wide for all repos
            # ci_register.add_project_to_travis(owner, repo)
            time.sleep(1)
            ci_register.travis_configure(owner, repo)
            if args.anaconda_token:
                ci_register.add_token_to_travis(owner, repo)
            # Assume that the user has enabled travis-ci.com service
            # user-wide or org-wide for all repos
            # ci_register.travis_cleanup(owner, repo)
        else:
            print("Travis registration disabled.")
        if args.circle:
            ci_register.add_project_to_circle(owner, repo)
            if args.anaconda_token:
                ci_register.add_token_to_circle(owner, repo)
        else:
            print("Circle registration disabled.")
        if args.azure:
            from conda_smithy import azure_ci_utils

            if azure_ci_utils.default_config.token is None:
                print(
                    "No azure token. Create a token at https://dev.azure.com/"
                    "conda-forge/_usersSettings/tokens and\n"
                    "put it in ~/.conda-smithy/azure.token")
            ci_register.add_project_to_azure(owner, repo)
        else:
            print("Azure registration disabled.")
        if args.appveyor:
            ci_register.add_project_to_appveyor(owner, repo)
            if args.anaconda_token:
                ci_register.appveyor_encrypt_binstar_token(
                    args.feedstock_config, owner, repo)
            ci_register.appveyor_configure(owner, repo)
        else:
            print("Appveyor registration disabled.")

        if args.drone:
            from conda_smithy.ci_register import drone_default_endpoint

            drone_endpoints = args.drone_endpoints
            if drone_endpoints is None:
                drone_endpoints = [drone_default_endpoint]
            for drone_endpoint in drone_endpoints:
                ci_register.add_project_to_drone(owner,
                                                 repo,
                                                 drone_endpoint=drone_endpoint)
                if args.anaconda_token:
                    ci_register.add_token_to_drone(
                        owner, repo, drone_endpoint=drone_endpoint)
        else:
            print("Drone registration disabled.")

        if args.webservice:
            ci_register.add_conda_forge_webservice_hooks(owner, repo)
        else:
            print("Heroku webservice registration disabled.")
        print(
            "\nCI services have been enabled. You may wish to regenerate the feedstock.\n"
            "Any changes will need commiting to the repo.")
Esempio n. 3
0
    def __call__(self, args):
        from conda_smithy import ci_register

        owner = args.user or args.organization
        meta = conda_build.api.render(
            args.feedstock_directory,
            permit_undefined_jinja=True,
            finalize=False,
            bypass_env_check=True,
            trim_skip=False,
        )[0][0]
        feedstock_name = get_feedstock_name_from_meta(meta)
        repo = "{}-feedstock".format(feedstock_name)

        print("CI Summary for {}/{} (can take ~30s):".format(owner, repo))
        if args.travis:
            # Assume that the user has enabled travis-ci.com service
            # user-wide or org-wide for all repos
            # ci_register.add_project_to_travis(owner, repo)
            time.sleep(1)
            ci_register.travis_configure(owner, repo)
            ci_register.add_token_to_travis(owner, repo)
            # Assume that the user has enabled travis-ci.com service
            # user-wide or org-wide for all repos
            # ci_register.travis_cleanup(owner, repo)
        else:
            print("Travis registration disabled.")
        if args.circle:
            ci_register.add_project_to_circle(owner, repo)
            ci_register.add_token_to_circle(owner, repo)
        else:
            print("Circle registration disabled.")
        if args.azure:
            from conda_smithy import azure_ci_utils

            if azure_ci_utils.default_config.token is None:
                print(
                    "No azure token. Create a token at https://dev.azure.com/"
                    "conda-forge/_usersSettings/tokens and\n"
                    "put it in ~/.conda-smithy/azure.token"
                )
            ci_register.add_project_to_azure(owner, repo)
        else:
            print("Azure registration disabled.")
        if args.appveyor:
            ci_register.add_project_to_appveyor(owner, repo)
            ci_register.appveyor_encrypt_binstar_token(
                args.feedstock_directory, owner, repo
            )
            ci_register.appveyor_configure(owner, repo)
        else:
            print("Appveyor registration disabled.")

        if args.drone:
            ci_register.add_project_to_drone(owner, repo)
            ci_register.add_token_to_drone(owner, repo)
        else:
            print("Drone registration disabled.")

        if args.webservice:
            ci_register.add_conda_forge_webservice_hooks(owner, repo)
        else:
            print("Heroku webservice registration disabled.")
        print(
            "\nCI services have been enabled. You may wish to regenerate the feedstock.\n"
            "Any changes will need commiting to the repo."
        )