Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
176 changes: 41 additions & 135 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,99 +51,6 @@ env:
# text on stderr and so can break tests which check the output of a program).

jobs:
test:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
- ${{ github.workspace }}/../../cache/general:/root/.cache
if: "github.event_name == 'schedule' && github.repository == 'scala/scala3'
|| github.event_name == 'push'
|| github.event_name == 'merge_group'
|| (
github.event_name == 'pull_request'
&& !contains(github.event.pull_request.body, '[skip ci]')
&& !contains(github.event.pull_request.body, '[skip test]')
)
|| (
github.event_name == 'workflow_dispatch'
&& github.repository == 'scala/scala3'
)"

steps:
- name: Set JDK 17 as default
run: echo "/usr/lib/jvm/java-17-openjdk-amd64/bin" >> $GITHUB_PATH

- name: Reset existing repo
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true

- name: Checkout cleanup script
uses: actions/checkout@v5

- name: Cleanup
run: .github/workflows/cleanup.sh

- name: Git Checkout
uses: actions/checkout@v5

- name: Add SBT proxy repositories
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true

- name: Cmd Tests
run: |
./project/scripts/buildScalaBinary
./project/scripts/sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/publishLocal ;scala3-compiler-bootstrapped/scala3CompilerCoursierTest:test"
./project/scripts/cmdTests
./project/scripts/bootstrappedOnlyCmdTests

test_windows_fast:
runs-on: [self-hosted, Windows]
if: "(
github.event_name == 'push'
&& github.ref != 'refs/heads/main'
)
|| github.event_name == 'merge_group'
|| (
github.event_name == 'pull_request'
&& !contains(github.event.pull_request.body, '[skip ci]')
&& !contains(github.event.pull_request.body, '[skip test_windows_fast]')
)"

steps:
- name: Reset existing repo
shell: cmd
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true

- name: Git Checkout
uses: actions/checkout@v5

- name: Test
run: sbt ";scala3-bootstrapped/compile"
shell: cmd

- name: build binary
run: sbt "dist-win-x86_64/Universal/stage" & bash -version
shell: cmd

- name: cygwin tests
run: '"C:\Program Files\cygwin64\bin\bash" ./project/scripts/winCmdTests'
shell: cmd

- name: msys tests
run: '"C:\Program Files\Git\bin\bash" ./project/scripts/winCmdTests'
shell: cmd

- name: win tests
run: './project/scripts/winCmdTests.bat'
shell: cmd

test_windows_full:
runs-on: [self-hosted, Windows]
if: "github.event_name == 'schedule' && github.repository == 'scala/scala3'
Expand Down Expand Up @@ -179,7 +86,6 @@ jobs:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
- ${{ github.workspace }}/../../cache/general:/root/.cache
needs: [test, build-sdk-package, build-msi-package]
if: "github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/')"

env:
Expand Down Expand Up @@ -317,44 +223,44 @@ jobs:
- name: Publish Release (org.scala-js)
run: ./project/scripts/sbtPublish "clean; scala-library-sjs/publishSigned ;sonaUpload"

build-msi-package:
uses: ./.github/workflows/build-msi.yml
if :
(github.event_name == 'pull_request' && contains(github.event.pull_request.body, '[test_msi]')) ||
(github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/'))

test-msi-package:
uses: ./.github/workflows/test-msi.yml
needs: [build-msi-package]
with:
# Ensure that version starts with prefix 3.
# In the future it can be adapted to compare with git tag or version set in the project/Build.scala
version: "3."
java-version: 17

build-sdk-package:
uses: ./.github/workflows/build-sdk.yml
if:
(github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]')) ||
(github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3') ||
(github.event_name == 'schedule' && github.repository == 'scala/scala3') ||
github.event_name == 'push' ||
github.event_name == 'merge_group'
with:
java-version: 17

build-chocolatey-package:
uses: ./.github/workflows/build-chocolatey.yml
needs: [ build-sdk-package ]
with:
version: 3.6.0-SNAPSHOT # Fake version, used only for choco tests
url : https://api.github.com/repos/scala/scala3/actions/artifacts/${{ needs.build-sdk-package.outputs.win-x86_64-id }}/zip
digest : ${{ needs.build-sdk-package.outputs.win-x86_64-digest }}

test-chocolatey-package:
uses: ./.github/workflows/test-chocolatey.yml
with:
version : 3.6.0-SNAPSHOT # Fake version, used only for choco tests
java-version: 17
if: github.event_name == 'pull_request' && contains(github.event.pull_request.body, '[test_chocolatey]')
needs: [ build-chocolatey-package ]
#build-msi-package:
# uses: ./.github/workflows/build-msi.yml
# if :
# (github.event_name == 'pull_request' && contains(github.event.pull_request.body, '[test_msi]')) ||
# (github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/'))

#test-msi-package:
# uses: ./.github/workflows/test-msi.yml
# needs: [build-msi-package]
# with:
# # Ensure that version starts with prefix 3.
# # In the future it can be adapted to compare with git tag or version set in the project/Build.scala
# version: "3."
# java-version: 17

#build-sdk-package:
# uses: ./.github/workflows/build-sdk.yml
# if:
# (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]')) ||
# (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3') ||
# (github.event_name == 'schedule' && github.repository == 'scala/scala3') ||
# github.event_name == 'push' ||
# github.event_name == 'merge_group'
# with:
# java-version: 17

#build-chocolatey-package:
# uses: ./.github/workflows/build-chocolatey.yml
# needs: [ build-sdk-package ]
# with:
# version: 3.6.0-SNAPSHOT # Fake version, used only for choco tests
# url : https://api.github.com/repos/scala/scala3/actions/artifacts/${{ needs.build-sdk-package.outputs.win-x86_64-id }}/zip
# digest : ${{ needs.build-sdk-package.outputs.win-x86_64-digest }}

#test-chocolatey-package:
# uses: ./.github/workflows/test-chocolatey.yml
# with:
# version : 3.6.0-SNAPSHOT # Fake version, used only for choco tests
# java-version: 17
# if: github.event_name == 'pull_request' && contains(github.event.pull_request.body, '[test_chocolatey]')
# needs: [ build-chocolatey-package ]
10 changes: 5 additions & 5 deletions .github/workflows/scaladoc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ jobs:
- name: Compile and test scala3doc-js
run: ./project/scripts/sbt scaladoc-js-main/test

- name: Compile and test
run: |
./project/scripts/sbt scaladoc/test
./project/scripts/sbt dist/Universal/stage
./project/scripts/cmdScaladocTests
#- name: Compile and test
# run: |
# ./project/scripts/sbt scaladoc/test
# ./project/scripts/sbt dist/Universal/stage
# ./project/scripts/cmdScaladocTests

- name: Locally publish self
run: ./project/scripts/sbt scaladoc/publishLocal
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-launchers.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Test CLI Launchers on all the platforms
on:
pull_request:
#pull_request:
workflow_dispatch:

env:
Expand Down
46 changes: 20 additions & 26 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,52 +1,46 @@
val scala3 = Build.scala3
// Aggregate projects
val `scala3-nonbootstrapped` = Build.`scala3-nonbootstrapped`
val `scala3-bootstrapped` = Build.`scala3-bootstrapped`
val `scala3-bootstrapped-new` = Build.`scala3-bootstrapped-new`

val `scala3-interfaces` = Build.`scala3-interfaces`
val `scala3-compiler` = Build.`scala3-compiler`

// Compiler projects
val `scala3-compiler-nonbootstrapped` = Build.`scala3-compiler-nonbootstrapped`
val `scala3-compiler-bootstrapped-new` = Build.`scala3-compiler-bootstrapped-new`
val `scala3-compiler-bootstrapped` = Build.`scala3-compiler-bootstrapped`

val `scala3-repl` = Build.`scala3-repl`
val `scala-library-sjs` = Build.`scala-library-sjs`
val `scala3-library-sjs` = Build.`scala3-library-sjs`

// The Standard Library
val `scala-library-nonbootstrapped` = Build.`scala-library-nonbootstrapped`
val `scala3-library-nonbootstrapped` = Build.`scala3-library-nonbootstrapped`
val `scala-library-bootstrapped` = Build.`scala-library-bootstrapped`
val `scala3-library-bootstrapped-new` = Build.`scala3-library-bootstrapped-new`
val `scala3-library` = Build.`scala3-library`
val `scala3-library-bootstrapped` = Build.`scala3-library-bootstrapped`
val `scala3-library-bootstrappedJS` = Build.`scala3-library-bootstrappedJS`
val `scala3-sbt-bridge` = Build.`scala3-sbt-bridge`
val `scala-library-sjs` = Build.`scala-library-sjs`
val `scala3-library-sjs` = Build.`scala3-library-sjs`

val `scala3-sbt-bridge-bootstrapped` = Build.`scala3-sbt-bridge-bootstrapped`
val `scala3-sbt-bridge-nonbootstrapped` = Build.`scala3-sbt-bridge-nonbootstrapped`
val `scala3-sbt-bridge-tests` = Build.`scala3-sbt-bridge-tests`
val `scala3-staging` = Build.`scala3-staging`
val `scala3-staging-new` = Build.`scala3-staging-new`
val `scala3-tasty-inspector` = Build.`scala3-tasty-inspector`
val `scala3-tasty-inspector-new` = Build.`scala3-tasty-inspector-new`
val `scala3-language-server` = Build.`scala3-language-server`
val `scala3-bench` = Build.`scala3-bench`
val `scala3-bench-bootstrapped` = Build.`scala3-bench-bootstrapped`
val `scala3-bench-micro` = Build.`scala3-bench-micro`
val `tasty-core` = Build.`tasty-core`
//val `scala3-bench` = Build.`scala3-bench`
//val `scala3-bench-bootstrapped` = Build.`scala3-bench-bootstrapped`
//val `scala3-bench-micro` = Build.`scala3-bench-micro`
//val `scala3-bench-run` = Build.`scala3-bench-run`
val `tasty-core-nonbootstrapped` = Build.`tasty-core-nonbootstrapped`
val `tasty-core-bootstrapped-new` = Build.`tasty-core-bootstrapped-new`
val `tasty-core-bootstrapped` = Build.`tasty-core-bootstrapped`
val `tasty-core-scala2` = Build.`tasty-core-scala2`
val scaladoc = Build.scaladoc
val `scaladoc-new` = Build.`scaladoc-new`
val `scaladoc-testcases` = Build.`scaladoc-testcases`
val `scaladoc-js-common` = Build.`scaladoc-js-common`
val `scaladoc-js-main` = Build.`scaladoc-js-main`
val `scaladoc-js-contributors` = Build.`scaladoc-js-contributors`
val `scala3-bench-run` = Build.`scala3-bench-run`
val dist = Build.dist
val `dist-mac-x86_64` = Build.`dist-mac-x86_64`
val `dist-mac-aarch64` = Build.`dist-mac-aarch64`
val `dist-win-x86_64` = Build.`dist-win-x86_64`
val `dist-linux-x86_64` = Build.`dist-linux-x86_64`
val `dist-linux-aarch64` = Build.`dist-linux-aarch64`
//val dist = Build.dist
//val `dist-mac-x86_64` = Build.`dist-mac-x86_64`
//val `dist-mac-aarch64` = Build.`dist-mac-aarch64`
//val `dist-win-x86_64` = Build.`dist-win-x86_64`
//val `dist-linux-x86_64` = Build.`dist-linux-x86_64`
//val `dist-linux-aarch64` = Build.`dist-linux-aarch64`
val `community-build` = Build.`community-build`
val `scala3-presentation-compiler` = Build.`scala3-presentation-compiler`
val `scala3-presentation-compiler-testcases` = Build.`scala3-presentation-compiler-testcases`
Expand Down
Loading
Loading