Skip to content

Commit

Permalink
Development: Decouple LocalCI and LocalVC (#7787)
Browse files Browse the repository at this point in the history
  • Loading branch information
mateusmm01 authored Dec 17, 2023
1 parent e9d9e6a commit f9198cd
Show file tree
Hide file tree
Showing 8 changed files with 255 additions and 365 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
package de.tum.in.www1.artemis.service.connectors.localci;

import java.util.List;

import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

import de.tum.in.www1.artemis.domain.ProgrammingExercise;
import de.tum.in.www1.artemis.domain.enumeration.ProgrammingLanguage;
import de.tum.in.www1.artemis.domain.enumeration.ProjectType;
import de.tum.in.www1.artemis.domain.participation.ProgrammingExerciseParticipation;
import de.tum.in.www1.artemis.exception.LocalCIException;
import de.tum.in.www1.artemis.service.connectors.ci.ContinuousIntegrationTriggerService;
Expand All @@ -21,12 +17,8 @@ public class LocalCITriggerService implements ContinuousIntegrationTriggerServic

private final LocalCISharedBuildJobQueueService localCISharedBuildJobQueueService;

private final LocalCIProgrammingLanguageFeatureService localCIProgrammingLanguageFeatureService;

public LocalCITriggerService(LocalCISharedBuildJobQueueService localCISharedBuildJobQueueService,
LocalCIProgrammingLanguageFeatureService localCIProgrammingLanguageFeatureService) {
public LocalCITriggerService(LocalCISharedBuildJobQueueService localCISharedBuildJobQueueService) {
this.localCISharedBuildJobQueueService = localCISharedBuildJobQueueService;
this.localCIProgrammingLanguageFeatureService = localCIProgrammingLanguageFeatureService;
}

/**
Expand All @@ -49,22 +41,14 @@ public void triggerBuild(ProgrammingExerciseParticipation participation) throws
*/
@Override
public void triggerBuild(ProgrammingExerciseParticipation participation, String commitHash, boolean isPushToTestRepository) throws LocalCIException {

ProgrammingExercise programmingExercise = participation.getProgrammingExercise();
ProgrammingLanguage programmingLanguage = programmingExercise.getProgrammingLanguage();
ProjectType projectType = programmingExercise.getProjectType();
long courseId = programmingExercise.getCourseViaExerciseGroupOrCourseMember().getId();

List<ProjectType> supportedProjectTypes = localCIProgrammingLanguageFeatureService.getProgrammingLanguageFeatures(programmingLanguage).projectTypes();

if (projectType != null && !supportedProjectTypes.contains(programmingExercise.getProjectType())) {
throw new LocalCIException("The project type " + programmingExercise.getProjectType() + " is not supported by the local CI.");
}

// Exam exercises have a higher priority than normal exercises
int priority = programmingExercise.isExamExercise() ? 1 : 2;

localCISharedBuildJobQueueService.addBuildJob(participation.getBuildPlanId(), participation.getId(), commitHash, System.currentTimeMillis(), priority, courseId,
isPushToTestRepository);
}

}
Loading

0 comments on commit f9198cd

Please sign in to comment.