From 76ba8bbdcbbc1747d7d69821984844a2c2d16da9 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Sun, 23 Jan 2022 19:04:18 +0000 Subject: [PATCH 1/2] Make tlSite a task --- .../scala/org/typelevel/sbt/TypelevelSitePlugin.scala | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala b/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala index c548df74..21ee0ee8 100644 --- a/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala +++ b/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala @@ -27,6 +27,7 @@ import org.typelevel.sbt.kernel.GitHelper import gha.GenerativePlugin, GenerativePlugin.autoImport._ import scala.io.Source import java.util.Base64 +import scala.annotation.nowarn object TypelevelSitePlugin extends AutoPlugin { @@ -39,10 +40,10 @@ object TypelevelSitePlugin extends AutoPlugin { "A sequence of workflow steps which publishes the site (default: peaceiris/actions-gh-pages)") lazy val tlSitePublishBranch = settingKey[Option[String]]( "The branch to publish the site from on every push. Set this to None if you only want to update the site on tag releases. (default: main)") + lazy val tlSite = taskKey[Unit]("Generate the site (default: runs mdoc then laika)") } import autoImport._ - import TypelevelKernelPlugin.mkCommand override def requires = MdocPlugin && LaikaPlugin && GenerativePlugin && NoPublishPlugin @@ -52,6 +53,12 @@ object TypelevelSitePlugin extends AutoPlugin { ) override def projectSettings = Seq( + tlSite := Def + .sequential( + mdoc.toTask(""), + laikaSite + ) + .value: @nowarn("cat=other-pure-statement"), Laika / sourceDirectories := Seq(mdocOut.value), laikaTheme := tlSiteHeliumConfig.value.build, mdocVariables ++= Map( @@ -140,7 +147,7 @@ object TypelevelSitePlugin extends AutoPlugin { steps = githubWorkflowJobSetup.value.toList ++ tlSiteGenerate.value ++ tlSitePublish.value ) - ) ++ addCommandAlias("tlSite", mkCommand(List("docs/mdoc", "docs/laikaSite"))) + ) private def getSvgLogo: String = { val src = Source.fromURL(getClass.getResource("/logo.svg")) From ee9f77587360a34bb5644e763efc3ebd12107ed7 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Sun, 23 Jan 2022 19:18:10 +0000 Subject: [PATCH 2/2] Make site workflow robust to docs project id --- .github/workflows/ci.yml | 2 +- .../main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f88d0af6..dd1881eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -179,7 +179,7 @@ jobs: key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} - name: Generate site - run: sbt '++${{ matrix.scala }}' tlSite + run: sbt '++${{ matrix.scala }}' docs/tlSite - name: Publish site if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' diff --git a/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala b/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala index 21ee0ee8..f0e2590d 100644 --- a/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala +++ b/site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala @@ -112,7 +112,10 @@ object TypelevelSitePlugin extends AutoPlugin { laika.parse.code.SyntaxHighlighting ), tlSiteGenerate := List( - WorkflowStep.Sbt(List("tlSite"), name = Some("Generate site")) + WorkflowStep.Sbt( + List(s"${thisProject.value.id}/${tlSite.key.toString}"), + name = Some("Generate site") + ) ), tlSitePublish := List( WorkflowStep.Use(