def METHOD_NAME():
    """
    Create a new deployment and return deploy ID
    """
    client = session.client("codedeploy")
    other_deploys = None
    while other_deploys is not False:
        active_deployments = client.list_deployments(
            includeOnlyStatuses=["Created", "Queued", "InProgress"],
            applicationName="WDIVCodeDeploy",
            deploymentGroupName="WDIVDefaultDeploymentGroup",
        )["deployments"]
        other_deploys = bool(active_deployments)
        if other_deploys:
            WAIT_SECONDS = 60
            print(
                f"Another deploy ({active_deployments}) is blocking this one, waiting {WAIT_SECONDS} seconds"
            )
            time.sleep(WAIT_SECONDS)
    deployment = client.METHOD_NAME(
        applicationName="WDIVCodeDeploy",
        deploymentGroupName="WDIVDefaultDeploymentGroup",
        ignoreApplicationStopFailures=True,
        deploymentConfigName=get_deployment_config_name(client),
        revision={
            "revisionType": "GitHub",
            "gitHubLocation": {
                "repository": "DemocracyClub/UK-Polling-Stations",
                "commitId": os.environ.get("COMMIT_SHA"),
            },
        },
        # When bootstrapping deployment group uncomment this line for the first deploy:
        # ignoreApplicationStopFailures=True,
    )
    return deployment["deploymentId"]