Skip to content

Commit

Permalink
prebuild repo for faster startup
Browse files Browse the repository at this point in the history
  • Loading branch information
paulpdaniels committed May 15, 2024
1 parent 34954f1 commit 58b682e
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 15 deletions.
18 changes: 11 additions & 7 deletions .github/workflows/compatibility.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,20 @@ jobs:
compatibility:
runs-on: ubuntu-latest
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v2
- name: Checkout current branch
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Java (temurin@17)
uses: graalvm/setup-graalvm@v1
- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: 'graalvm'
java-version: '17'
java-version: 17
distribution: 'adopt'
cache: 'sbt'
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Run assembly
run: sbt "apolloCompatibility/assembly"

- name: Compatibility Test
uses: apollographql/federation-subgraph-compatibility@v2
Expand Down
11 changes: 3 additions & 8 deletions apollo-compatibility/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
FROM sbtscala/scala-sbt:graalvm-ce-22.3.3-b1-java17_1.9.8_2.13.12 AS build

WORKDIR /build
WORKDIR /app
COPY build.sbt .
COPY project ./project
COPY core ./core
COPY federation ./federation
COPY adapters/quick ./adapters/quick
COPY macros ./macros
COPY apollo-compatibility/src ./apollo-compatibility/src
COPY apollo-compatibility/target/apollo-subgraph-compatibility.jar /app/artifact.jar
EXPOSE 4001
CMD sbt "apolloCompatibility/run"
CMD java $* -jar artifact.jar
13 changes: 13 additions & 0 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -592,6 +592,19 @@ lazy val apolloCompatibility =
crossScalaVersions := Seq(scala213),
libraryDependencySchemes += "org.scala-lang.modules" %% "scala-java8-compat" % "always"
)
.settings(
assembly / assemblyJarName := s"apollo-subgraph-compatibility.jar",
assembly / mainClass := Some("Main"),
assembly / assemblyOutputPath := {
(assembly / baseDirectory).value / "target" / (assembly / assemblyJarName).value
},
assembly / test := {},
assembly / assemblyMergeStrategy := {
case x if Assembly.isConfigFile(x) => MergeStrategy.concat
case PathList("META-INF", "MANIFEST.MF") => MergeStrategy.discard
case _ => MergeStrategy.first
}
)
.dependsOn(federation, core, quickAdapter)

lazy val reporting = project
Expand Down
1 change: 1 addition & 0 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ addSbtPlugin("com.thesamet" % "sbt-protoc" % "1.0.7")
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.12.0")
addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.5.2")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.3")
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.2.0")

addSbtPlugin("org.jetbrains.scala" % "sbt-ide-settings" % "1.1.2")

Expand Down

0 comments on commit 58b682e

Please sign in to comment.