Skip to content

Commit

Permalink
Make The Check Artifact Build Process Optional (#103)
Browse files Browse the repository at this point in the history
* make check build process optional.

* fix errors.

* scalafix.
  • Loading branch information
khajavi committed Jan 22, 2023
1 parent c1007cc commit e5a79b1
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 17 deletions.
16 changes: 13 additions & 3 deletions zio-sbt-website/src/main/scala/zio/sbt/WebsitePlugin.scala
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import sbt.Keys.*
import sbt.{Def, *}

import zio.sbt.WebsiteUtils.{readFile, removeYamlHeader}
import zio.sbt.githubactions.Condition
import zio.sbt.githubactions.{Condition, Step}

object WebsitePlugin extends sbt.AutoPlugin {

Expand Down Expand Up @@ -64,6 +64,8 @@ object WebsitePlugin extends sbt.AutoPlugin {
val sbtBuildOptions: SettingKey[List[String]] = settingKey[List[String]]("SBT build options")
val updateReadmeCondition: SettingKey[Option[Condition]] =
settingKey[Option[Condition]]("Condition to update readme")
val checkArtifactBuildProcessWorkflowStep: SettingKey[Option[Step]] =
settingKey[Option[Step]]("Workflow step for checking artifact build process")

val ProjectStage = zio.sbt.WebsiteUtils.ProjectStage
type ProjectStage = zio.sbt.WebsiteUtils.ProjectStage
Expand Down Expand Up @@ -129,7 +131,14 @@ object WebsitePlugin extends sbt.AutoPlugin {
docsVersioning := DocsVersioning.SemanticVersioning,
sbtBuildOptions := List.empty[String],
updateReadmeCondition := None,
ciWorkflowName := "CI"
ciWorkflowName := "CI",
checkArtifactBuildProcessWorkflowStep :=
Some(
Step.SingleStep(
name = "Check artifacts build process",
run = Some(s"sbt ${sbtBuildOptions.value.mkString(" ")} +publishLocal")
)
)
)

private def exit(exitCode: Int, errorMessage: String = "") = if (exitCode != 0) sys.error(errorMessage: String)
Expand Down Expand Up @@ -349,7 +358,8 @@ object WebsitePlugin extends sbt.AutoPlugin {
docsPublishBranch = docsPublishBranch.value,
sbtBuildOptions = sbtBuildOptions.value,
versioning = docsVersioning.value,
updateReadmeCondition = updateReadmeCondition.value
updateReadmeCondition = updateReadmeCondition.value,
checkArtifactBuildProcess = checkArtifactBuildProcessWorkflowStep.value
)

val template =
Expand Down
35 changes: 21 additions & 14 deletions zio-sbt-website/src/main/scala/zio/sbt/WebsiteUtils.scala
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,8 @@ object WebsiteUtils {
docsPublishBranch: String,
sbtBuildOptions: List[String] = List.empty,
versioning: DocsVersioning = SemanticVersioning,
updateReadmeCondition: Option[Condition] = None
updateReadmeCondition: Option[Condition] = None,
checkArtifactBuildProcess: Option[Step] = None
): String = {
object Actions {
val checkout: ActionRef = ActionRef("actions/checkout@v3.3.0")
Expand Down Expand Up @@ -222,11 +223,6 @@ object WebsiteUtils {
run = Some(s"sbt docs/clean; sbt ${sbtBuildOptions.mkString(" ")} docs/buildWebsite")
)

val CheckArtifactsBuildProcess: Step.SingleStep = Step.SingleStep(
name = "Check artifacts build process",
run = Some(s"sbt ${sbtBuildOptions.mkString(" ")} +publishLocal")
)

val CheckGithubWorkflow: Step.SingleStep = Step.SingleStep(
name = "Check if the site workflow is up to date",
run = Some(s"sbt ${sbtBuildOptions.mkString(" ")} docs/checkGithubWorkflow")
Expand Down Expand Up @@ -275,14 +271,25 @@ object WebsiteUtils {
),
steps = Seq(
Step.StepSequence(
Seq(
Checkout,
SetupJava,
CheckReadme,
CheckGithubWorkflow,
CheckArtifactsBuildProcess,
CheckWebsiteBuildProcess
)
checkArtifactBuildProcess match {
case Some(artifactBuildProcess) =>
Seq(
Checkout,
SetupJava,
CheckReadme,
CheckGithubWorkflow,
artifactBuildProcess,
CheckWebsiteBuildProcess
)
case None =>
Seq(
Checkout,
SetupJava,
CheckReadme,
CheckGithubWorkflow,
CheckWebsiteBuildProcess
)
}
)
)
),
Expand Down

0 comments on commit e5a79b1

Please sign in to comment.