コード例 #1
0
ファイル: test_helpers.py プロジェクト: bigkevmcd/capomastro
    def test_get_default_archive(self):
        """
        Return the archive with the default flag set to True.
        """
        self.assertIsNone(get_default_archive())

        default = ArchiveFactory.create(name="default", default=True)
        self.assertEqual(default, get_default_archive())
コード例 #2
0
    def test_get_default_archive(self):
        """
        Return the archive with the default flag set to True.
        """
        self.assertIsNone(get_default_archive())

        default = ArchiveFactory.create(name="default", default=True)
        self.assertEqual(default, get_default_archive())
コード例 #3
0
ファイル: tasks.py プロジェクト: devton/capomastro
def generate_checksums(build_pk):
    """
    This task should ask the archive transport to generate checksum files
    for each project build the specified build has caused.
    """
    build = Build.objects.get(pk=build_pk)
    archive = get_default_archive()
    transport = archive.get_transport()
    archived_artifacts = archive.get_archived_artifacts_for_build(build)
    transport.start()
    for artifact in archived_artifacts:
        if artifact.projectbuild_dependency:
            logging.info("Generating checksums for %s" % artifact)
            transport.generate_checksums(artifact)
    transport.end()
コード例 #4
0
ファイル: views.py プロジェクト: slimjim777/capomastro
    def get_context_data(self, **kwargs):
        """
        Supplement the projectbuilds with the project:
        """
        context = super(
            ProjectBuildDetailView, self).get_context_data(**kwargs)
        context["project"] = self._get_project_from_url()
        context["projectbuild"] = self._get_build_from_url()
        context["dependencies"] = self._get_build_dependencies(
            context["projectbuild"])

        archive = get_default_archive()
        if archive:
            context["archived_items"] = archive.items.filter(
                projectbuild_dependency__projectbuild=context["projectbuild"])
        return context
コード例 #5
0
ファイル: views.py プロジェクト: caiobegotti/capomastro
    def get_context_data(self, **kwargs):
        """
        Supplement the projectbuilds with the project:
        """
        context = super(
            ProjectBuildDetailView, self).get_context_data(**kwargs)
        context["project"] = self._get_project_from_url()
        context["projectbuild"] = self._get_build_from_url()
        context["dependencies"] = self._get_build_dependencies(
            context["projectbuild"])

        archive = get_default_archive()
        if archive:
            context["archived_items"] = archive.items.filter(
                projectbuild_dependency__projectbuild=context["projectbuild"])
        return context
コード例 #6
0
ファイル: tasks.py プロジェクト: caiobegotti/capomastro
def generate_checksums(build_pk):
    """
    This task should ask the archive transport to generate checksum files
    for each project build the specified build has caused.
    """
    build = Build.objects.get(pk=build_pk)
    archive = get_default_archive()
    if not archive:
        logging.info("No default archiver - no checksum to generate")
        return build_pk
    transport = archive.get_transport()
    archived_artifacts = archive.get_archived_artifacts_for_build(build)
    transport.start()
    for artifact in archived_artifacts:
        if artifact.projectbuild_dependency:
            logging.info("Generating checksums for %s" % artifact)
            transport.generate_checksums(artifact)
    transport.end()
    return build_pk
コード例 #7
0
ファイル: tasks.py プロジェクト: devton/capomastro
def process_build_artifacts(build_pk):
    """
    This task should be triggered after we've imported the artifacts from
    Jenkins for a build.
    """
    build = Build.objects.get(pk=build_pk)
    logging.info(
        "Processing build artifacts from build %s %d", build, build.number)
    archive = get_default_archive()
    if archive:
        items = archive.add_build(build)
        logging.info("Archiving %s", items)
        for artifact, files in items.items():
            first, rest = files[0], files[1:]
            chain(
                archive_artifact_from_jenkins.si(first.pk),
                *[link_artifact_in_archive.si(first.pk, item.pk) for item in
                  rest]).apply()
    else:
        logging.info("No default archiver - build not automatically archived.")
    return build_pk
コード例 #8
0
ファイル: tasks.py プロジェクト: caiobegotti/capomastro
def process_build_artifacts(build_pk):
    """
    This task should be triggered after we've imported the artifacts from
    Jenkins for a build.
    """
    build = Build.objects.get(pk=build_pk)
    logging.info("Processing build artifacts from build %s %d", build,
                 build.number)
    archive = get_default_archive()
    if archive:
        items = archive.add_build(build)
        logging.info("Archiving %s", items)
        for artifact, files in items.items():
            first, rest = files[0], files[1:]
            chain(
                archive_artifact_from_jenkins.si(first.pk), *[
                    link_artifact_in_archive.si(first.pk, item.pk)
                    for item in rest
                ]).apply()
    else:
        logging.info("No default archiver - build not automatically archived.")
    return build_pk
コード例 #9
0
ファイル: tasks.py プロジェクト: notnownikki/capomastro
def process_build_artifacts(build_pk):
    """
    This task should be triggered after we've imported the artifacts from
    Jenkins for a build.
    """
    build = Build.objects.get(pk=build_pk)
    logger.info("Processing build artifacts from build %s" % build)
    if build.build_id:
        dependency = ProjectBuildDependency.objects.filter(
            dependency__job=build.job,
            projectbuild__build_key=build.build_id).first()
        # TODO: Handle generic dependency builds.
        if dependency:
            projectbuild = dependency.projectbuild
            archive = get_default_archive()
            if archive:
                items = archive.archive_projectbuild(projectbuild)
                for item in items:
                    archive_artifact_from_jenkins.delay(item.artifact.pk, archive.pk)
            else:
                logger.info("No default archiver - projectbuild not automatically archived.")
    return build_pk