Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion magefiles/magefile.go
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,8 @@ func (ci CI) TestE2E() error {

// Eventually we'll introduce mage rules for all repositories, so this condition won't be needed anymore
if pr.RepoName == "e2e-tests" || pr.RepoName == "integration-service" ||
pr.RepoName == "release-service" || pr.RepoName == "image-controller" {
pr.RepoName == "release-service" || pr.RepoName == "image-controller" ||
pr.RepoName == "build-service" {
return engine.MageEngine.RunRulesOfCategory("ci", rctx)
}

Expand Down
1 change: 1 addition & 0 deletions magefiles/rulesengine/engine/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ var MageEngine = rulesengine.RuleEngine{
"release-service": repos.ReleaseServiceCICatalog,
"integration-service": repos.IntegrationServiceCICatalog,
"image-controller": repos.ImageControllerCICatalog,
"build-service": repos.BuildServiceCICatalog,
// TODO: to be implemented in a follow-up PR
//"infra-deployments": repos.InfraDeploymentsCIChainCatalog,
},
Expand Down
54 changes: 54 additions & 0 deletions magefiles/rulesengine/repos/build_service.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package repos

import (
"fmt"
"os"

"github.com/konflux-ci/e2e-tests/magefiles/rulesengine"
"k8s.io/klog"
)

var BuildServiceCICatalog = rulesengine.RuleCatalog{BuildServiceCIRule}

var BuildServiceCIRule = rulesengine.Rule{Name: "build-service repo CI Workflow Rule",
Description: "Execute the full workflow for e2e-tests repo in CI",
Condition: rulesengine.All{
&BuildServiceRepoSetDefaultSettingsRule,
rulesengine.Any{&InfraDeploymentsPRPairingRule, rulesengine.None{&InfraDeploymentsPRPairingRule}},
&PreflightInstallGinkgoRule,
&BootstrapClusterWithSprayProxyRuleChain,
},
Actions: []rulesengine.Action{rulesengine.ActionFunc(ExecuteTestAction)},
}

var BuildServiceRepoSetDefaultSettingsRule = rulesengine.Rule{Name: "General Required Settings for build-service repository jobs",
Description: "Set SprayProxy settings to true for build-service jobs before bootstrap",
Condition: rulesengine.Any{
IsBuildServiceRepoPR,
},
Actions: []rulesengine.Action{rulesengine.ActionFunc(func(rctx *rulesengine.RuleCtx) error {
rctx.RequiresSprayProxyRegistering = true
klog.Info("require sprayproxy registering is set to TRUE")

rctx.LabelFilter = "build-service"
klog.Info("setting 'build-service' test label")

if rctx.DryRun {
klog.Info("setting up env vars for deploying component image")
return nil
}
rctx.ComponentEnvVarPrefix = "IMAGE_CONTROLLER"
Comment thread
flacatus marked this conversation as resolved.
Outdated
// TODO keep only "KONFLUX_CI" option once we migrate off openshift-ci
if os.Getenv("KONFLUX_CI") == "true" {
rctx.ComponentImageTag = fmt.Sprintf("on-pr-%s", rctx.PrCommitSha)
} else {
rctx.ComponentImageTag = "redhat-appstudio-build-service-image"
}
return SetEnvVarsForComponentImageDeployment(rctx)
})},
}

var IsBuildServiceRepoPR = rulesengine.ConditionFunc(func(rctx *rulesengine.RuleCtx) (bool, error) {
klog.Info("checking if repository is build-service")
return rctx.RepoName == "build-service", nil
})