diff --git a/.github/workflows/test-launchers.yml b/.github/workflows/test-launchers.yml deleted file mode 100644 index cce861d06f35..000000000000 --- a/.github/workflows/test-launchers.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: Test CLI Launchers on all the platforms -on: - pull_request: - workflow_dispatch: - -env: - DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} - -jobs: - linux-x86_64: - name: Deploy and Test on Linux x64 architecture - runs-on: ubuntu-latest - if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || - (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) - steps: - - uses: actions/checkout@v5 - - name: Set up JDK 17 - uses: actions/setup-java@v5 - with: - java-version: '17' - distribution: 'temurin' - cache: 'sbt' - - uses: sbt/setup-sbt@v1 - - name: Build and test launcher command - run: ./project/scripts/native-integration/bashTests - env: - LAUNCHER_EXPECTED_PROJECT: "dist-linux-x86_64" - - linux-aarch64: - name: Deploy and Test on Linux ARM64 architecture - runs-on: ubuntu-24.04-arm - steps: - - uses: actions/checkout@v5 - - name: Set up JDK 17 - uses: actions/setup-java@v5 - with: - java-version: '17' - distribution: 'temurin' - cache: 'sbt' - - uses: sbt/setup-sbt@v1 - - name: Build and test launcher command - run: ./project/scripts/native-integration/bashTests - env: - LAUNCHER_EXPECTED_PROJECT: "dist-linux-aarch64" - - mac-x86_64: - name: Deploy and Test on Mac x64 architecture - runs-on: macos-13 - if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || - (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) - steps: - - uses: actions/checkout@v5 - - name: Set up JDK 17 - uses: actions/setup-java@v5 - with: - java-version: '17' - distribution: 'temurin' - cache: 'sbt' - - uses: sbt/setup-sbt@v1 - - name: Build and test launcher command - run: ./project/scripts/native-integration/bashTests - env: - LAUNCHER_EXPECTED_PROJECT: "dist-mac-x86_64" - - mac-aarch64: - name: Deploy and Test on Mac ARM64 architecture - runs-on: macos-latest - if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || - (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) - steps: - - uses: actions/checkout@v5 - - name: Set up JDK 17 - uses: actions/setup-java@v5 - with: - java-version: '17' - distribution: 'temurin' - cache: 'sbt' - - uses: sbt/setup-sbt@v1 - - name: Build and test launcher command - run: ./project/scripts/native-integration/bashTests - env: - LAUNCHER_EXPECTED_PROJECT: "dist-mac-aarch64" - - win-x86_64: - name: Deploy and Test on Windows x64 architecture - runs-on: windows-latest - if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || - (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) - steps: - - uses: actions/checkout@v5 - - name: Set up JDK 17 - uses: actions/setup-java@v5 - with: - java-version: '17' - distribution: 'temurin' - cache: 'sbt' - - uses: sbt/setup-sbt@v1 - - name: Build the launcher command - run: sbt "dist-win-x86_64/Universal/stage" - - name: Run the launcher command tests - run: './project/scripts/native-integration/winTests.bat' - shell: cmd diff --git a/project/Build.scala b/project/Build.scala index 2031f9e8d7ef..86141690f12f 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -287,8 +287,8 @@ object Build { }) .withBuildCache( buildCache - .withLocal(buildCache.local.withEnabled(false).withStoreEnabled(false)) - .withRemote(buildCache.remote.withEnabled(false).withStoreEnabled(false)) + .withLocal(buildCache.local.withEnabled(true).withStoreEnabled(true)) + .withRemote(buildCache.remote.withEnabled(true).withStoreEnabled(isInsideCI)) .withRequireClean(!isInsideCI) ) .withTestRetry( @@ -1478,6 +1478,9 @@ object Build { scalaCompilerBridgeBinaryJar := { Some((`scala3-sbt-bridge-nonbootstrapped` / Compile / packageBin).value) }, + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) /* Configuration of the org.scala-lang:scala3-staging:*.**.**-bootstrapped project */ @@ -1536,6 +1539,9 @@ object Build { scalaCompilerBridgeBinaryJar := { Some((`scala3-sbt-bridge-nonbootstrapped` / Compile / packageBin).value) }, + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) /* Configuration of the org.scala-lang:scala3-tasty-inspector:*.**.**-bootstrapped project */ @@ -1594,6 +1600,9 @@ object Build { scalaCompilerBridgeBinaryJar := { Some((`scala3-sbt-bridge-nonbootstrapped` / Compile / packageBin).value) }, + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) // ============================================================================================== @@ -1771,6 +1780,9 @@ object Build { mimaForwardIssueFilters := MiMaFilters.Scala3Library.ForwardsBreakingChanges, mimaBackwardIssueFilters := MiMaFilters.Scala3Library.BackwardsBreakingChanges, customMimaReportBinaryIssues("MiMaFilters.Scala3Library"), + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) /* Configuration of the org.scala-lang:scala3-library_3:*.**.**-bootstrapped project */ @@ -1812,6 +1824,9 @@ object Build { publish / skip := false, // Project specific target folder. sbt doesn't like having two projects using the same target folder target := target.value / "scala3-library-bootstrapped", + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) /* Configuration of the org.scala-js:scalajs-scalalib_2.13:*.**.**-bootstrapped project */ @@ -1925,6 +1940,9 @@ object Build { } }).transform(node).head }, + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) /* Configuration of the org.scala-lang:scala3-library_sjs1_3:*.**.**-bootstrapped project */ @@ -1966,6 +1984,9 @@ object Build { publish / skip := false, // Project specific target folder. sbt doesn't like having two projects using the same target folder target := target.value / "scala3-library", + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) // ============================================================================================== @@ -2104,6 +2125,9 @@ object Build { mimaForwardIssueFilters := MiMaFilters.TastyCore.ForwardsBreakingChanges, mimaBackwardIssueFilters := MiMaFilters.TastyCore.BackwardsBreakingChanges, customMimaReportBinaryIssues("MiMaFilters.TastyCore"), + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) // ============================================================================================== @@ -2453,6 +2477,9 @@ object Build { s"-Ddotty.tools.dotc.semanticdb.test=${(ThisBuild / baseDirectory).value/"tests"/"semanticdb"}", ) }, + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) // ============================================================================================== @@ -2534,6 +2561,9 @@ object Build { scalaCompilerBridgeBinaryJar := { Some((`scala3-sbt-bridge-nonbootstrapped` / Compile / packageBin).value) }, + // Force recomplilation when bootstrapped compiler changes + Compile / extraDevelocityCacheInputFiles ++= + (`scala3-compiler-nonbootstrapped` / Compile / fullClasspathAsJars).value.map(_.data.toPath) ) def dottyLibrary(implicit mode: Mode): Project = mode match {