Skip to content

Commit 7513ab5

Browse files
committed
Merge branch 'release-3.5.0' into language-reference-stable
2 parents 3c29355 + 9da1ae8 commit 7513ab5

File tree

1,437 files changed

+34867
-9066
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,437 files changed

+34867
-9066
lines changed

.github/Dockerfile

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
FROM ubuntu:22.04
2+
3+
# The default locale is "POSIX" which is just ASCII.
4+
ENV LANG C.UTF-8
5+
ENV DEBIAN_FRONTEND noninteractive
6+
ENV TZ Europe/Zurich
7+
8+
# Add packages to image, set default JDK version
9+
RUN apt-get update && \
10+
apt-get upgrade -y && \
11+
# Use a PPA to get Java 17
12+
apt-get install -y software-properties-common && add-apt-repository ppa:openjdk-r/ppa && \
13+
apt-get install -y bash curl git ssh htop nano vim-tiny zile \
14+
openjdk-8-jdk-headless \
15+
openjdk-17-jdk-headless \
16+
openjdk-21-jdk-headless && \
17+
(curl -fsSL https://deb.nodesource.com/setup_18.x | bash -) && \
18+
apt-get install -y nodejs
19+
20+
21+
# Install sbt
22+
ENV SBT_HOME /usr/local/sbt
23+
ENV PATH ${SBT_HOME}/bin:${PATH}
24+
ENV SBT_VERSION 1.9.0
25+
RUN curl -sL "https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz" | gunzip | tar -x -C /usr/local

.github/dependabot.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
version: 2
22
updates:
3-
4-
- package-ecosystem: "github-actions"
3+
- package-ecosystem: github-actions
54
directory: "/"
65
schedule:
7-
interval: "weekly"
6+
interval: weekly
7+
assignees:
8+
- hamzaremmal
9+
reviewers:
10+
- hamzaremmal

.github/workflows/ci.yaml

+192-14
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@ jobs:
141141

142142
- name: Cmd Tests
143143
run: |
144-
./project/scripts/sbt ";dist/pack; scala3-bootstrapped/compile; scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/*; scala3-compiler-bootstrapped/scala3CompilerCoursierTest:test"
144+
./project/scripts/buildScalaBinary
145+
./project/scripts/sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/* ;scala3-compiler-bootstrapped/scala3CompilerCoursierTest:test"
145146
./project/scripts/cmdTests
146147
./project/scripts/bootstrappedOnlyCmdTests
147148
@@ -230,7 +231,7 @@ jobs:
230231
shell: cmd
231232

232233
- name: build binary
233-
run: sbt "dist/pack" & bash -version
234+
run: sbt "dist-win-x86_64/pack" & bash -version
234235
shell: cmd
235236

236237
- name: cygwin tests
@@ -269,8 +270,12 @@ jobs:
269270
- name: Git Checkout
270271
uses: actions/checkout@v4
271272

273+
- name: build binary
274+
run: sbt "dist-win-x86_64/pack"
275+
shell: cmd
276+
272277
- name: Test
273-
run: sbt ";dist/pack ;scala3-bootstrapped/compile ;scala3-bootstrapped/test"
278+
run: sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test"
274279
shell: cmd
275280

276281
- name: Scala.js Test
@@ -596,7 +601,8 @@ jobs:
596601

597602
- name: Test
598603
run: |
599-
./project/scripts/sbt ";dist/pack ;scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/*"
604+
./project/scripts/buildScalaBinary
605+
./project/scripts/sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/*"
600606
./project/scripts/cmdTests
601607
./project/scripts/bootstrappedOnlyCmdTests
602608
@@ -613,6 +619,9 @@ jobs:
613619
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
614620
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
615621
- ${{ github.workspace }}/../../cache/general:/root/.cache
622+
strategy:
623+
matrix:
624+
branch: [main, lts-3.3]
616625
needs: [test_non_bootstrapped, test, mima, community_build_a, community_build_b, community_build_c, test_sbt, test_java8]
617626
if: "(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.repository == 'scala/scala3'"
618627
env:
@@ -641,6 +650,8 @@ jobs:
641650

642651
- name: Git Checkout
643652
uses: actions/checkout@v4
653+
with:
654+
ref: ${{ matrix.branch }}
644655

645656
- name: Add SBT proxy repositories
646657
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
@@ -707,7 +718,7 @@ jobs:
707718
./project/scripts/genDocs -doc-snapshot
708719
709720
- name: Deploy Website to dotty-website
710-
uses: peaceiris/actions-gh-pages@v3
721+
uses: peaceiris/actions-gh-pages@v4
711722
with:
712723
personal_token: ${{ env.DOTTY_WEBSITE_BOT_TOKEN }}
713724
publish_dir: docs/_site
@@ -758,13 +769,35 @@ jobs:
758769

759770
- name: Add SBT proxy repositories
760771
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
761-
762-
- name: Prepare Release
763-
run: |
772+
# Extract the release tag
773+
- name: Extract the release tag
774+
run : echo "RELEASE_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
775+
# BUILD THE SDKs
776+
- name: Build and pack the SDK (universal)
777+
run : |
764778
./project/scripts/sbt dist/packArchive
765779
sha256sum dist/target/scala3-* > dist/target/sha256sum.txt
766-
echo "RELEASE_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
767-
780+
- name: Build and pack the SDK (linux x86-64)
781+
run : |
782+
./project/scripts/sbt dist-linux-x86_64/packArchive
783+
sha256sum dist/linux-x86_64/target/scala3-* > dist/linux-x86_64/target/sha256sum.txt
784+
- name: Build and pack the SDK (linux aarch64)
785+
run : |
786+
./project/scripts/sbt dist-linux-aarch64/packArchive
787+
sha256sum dist/linux-aarch64/target/scala3-* > dist/linux-aarch64/target/sha256sum.txt
788+
- name: Build and pack the SDK (mac x86-64)
789+
run : |
790+
./project/scripts/sbt dist-mac-x86_64/packArchive
791+
sha256sum dist/mac-x86_64/target/scala3-* > dist/mac-x86_64/target/sha256sum.txt
792+
- name: Build and pack the SDK (mac aarch64)
793+
run : |
794+
./project/scripts/sbt dist-mac-aarch64/packArchive
795+
sha256sum dist/mac-aarch64/target/scala3-* > dist/mac-aarch64/target/sha256sum.txt
796+
- name: Build and pack the SDK (win x86-64)
797+
run : |
798+
./project/scripts/sbt dist-win-x86_64/packArchive
799+
sha256sum dist/win-x86_64/target/scala3-* > dist/win-x86_64/target/sha256sum.txt
800+
# Create the GitHub release
768801
- name: Create GitHub Release
769802
id: create_gh_release
770803
uses: actions/create-release@latest
@@ -777,7 +810,7 @@ jobs:
777810
draft: true
778811
prerelease: ${{ contains(env.RELEASE_TAG, '-') }}
779812

780-
- name: Upload zip archive to GitHub Release
813+
- name: Upload zip archive to GitHub Release (universal)
781814
uses: actions/upload-release-asset@v1
782815
env:
783816
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -786,8 +819,7 @@ jobs:
786819
asset_path: ./dist/target/scala3-${{ env.RELEASE_TAG }}.zip
787820
asset_name: scala3-${{ env.RELEASE_TAG }}.zip
788821
asset_content_type: application/zip
789-
790-
- name: Upload tar.gz archive to GitHub Release
822+
- name: Upload tar.gz archive to GitHub Release (universal)
791823
uses: actions/upload-release-asset@v1
792824
env:
793825
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -797,7 +829,103 @@ jobs:
797829
asset_name: scala3-${{ env.RELEASE_TAG }}.tar.gz
798830
asset_content_type: application/gzip
799831

800-
- name: Upload SHA256 sum of the release artefacts to GitHub Release
832+
- name: Upload zip archive to GitHub Release (linux x86-64)
833+
uses: actions/upload-release-asset@v1
834+
env:
835+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
836+
with:
837+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
838+
asset_path: ./dist/linux-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip
839+
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip
840+
asset_content_type: application/zip
841+
- name: Upload tar.gz archive to GitHub Release (linux x86-64)
842+
uses: actions/upload-release-asset@v1
843+
env:
844+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
845+
with:
846+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
847+
asset_path: ./dist/linux-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz
848+
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz
849+
asset_content_type: application/gzip
850+
851+
- name: Upload zip archive to GitHub Release (linux aarch64)
852+
uses: actions/upload-release-asset@v1
853+
env:
854+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
855+
with:
856+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
857+
asset_path: ./dist/linux-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip
858+
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip
859+
asset_content_type: application/zip
860+
- name: Upload tar.gz archive to GitHub Release (linux aarch64)
861+
uses: actions/upload-release-asset@v1
862+
env:
863+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
864+
with:
865+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
866+
asset_path: ./dist/linux-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz
867+
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz
868+
asset_content_type: application/gzip
869+
870+
- name: Upload zip archive to GitHub Release (mac x86-64)
871+
uses: actions/upload-release-asset@v1
872+
env:
873+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
874+
with:
875+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
876+
asset_path: ./dist/mac-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip
877+
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip
878+
asset_content_type: application/zip
879+
- name: Upload tar.gz archive to GitHub Release (mac x86-64)
880+
uses: actions/upload-release-asset@v1
881+
env:
882+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
883+
with:
884+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
885+
asset_path: ./dist/mac-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz
886+
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz
887+
asset_content_type: application/gzip
888+
889+
- name: Upload zip archive to GitHub Release (mac aarch64)
890+
uses: actions/upload-release-asset@v1
891+
env:
892+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
893+
with:
894+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
895+
asset_path: ./dist/mac-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip
896+
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip
897+
asset_content_type: application/zip
898+
- name: Upload tar.gz archive to GitHub Release (mac aarch64)
899+
uses: actions/upload-release-asset@v1
900+
env:
901+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
902+
with:
903+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
904+
asset_path: ./dist/mac-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz
905+
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz
906+
asset_content_type: application/gzip
907+
908+
- name: Upload zip archive to GitHub Release (win x86-64)
909+
uses: actions/upload-release-asset@v1
910+
env:
911+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
912+
with:
913+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
914+
asset_path: ./dist/win-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip
915+
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip
916+
asset_content_type: application/zip
917+
- name: Upload tar.gz archive to GitHub Release (win x86-64)
918+
uses: actions/upload-release-asset@v1
919+
env:
920+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
921+
with:
922+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
923+
asset_path: ./dist/win-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz
924+
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz
925+
asset_content_type: application/gzip
926+
927+
928+
- name: Upload SHA256 sum of the release artefacts to GitHub Release (universal)
801929
uses: actions/upload-release-asset@v1
802930
env:
803931
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -807,6 +935,56 @@ jobs:
807935
asset_name: sha256sum.txt
808936
asset_content_type: text/plain
809937

938+
- name: Upload SHA256 sum of the release artefacts to GitHub Release (linux x86-64)
939+
uses: actions/upload-release-asset@v1
940+
env:
941+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
942+
with:
943+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
944+
asset_path: ./dist/linux-x86_64/target/sha256sum.txt
945+
asset_name: sha256sum-x86_64-pc-linux.txt
946+
asset_content_type: text/plain
947+
948+
- name: Upload SHA256 sum of the release artefacts to GitHub Release (linux aarch64)
949+
uses: actions/upload-release-asset@v1
950+
env:
951+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
952+
with:
953+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
954+
asset_path: ./dist/linux-aarch64/target/sha256sum.txt
955+
asset_name: sha256sum-aarch64-pc-linux.txt
956+
asset_content_type: text/plain
957+
958+
- name: Upload SHA256 sum of the release artefacts to GitHub Release (mac x86-64)
959+
uses: actions/upload-release-asset@v1
960+
env:
961+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
962+
with:
963+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
964+
asset_path: ./dist/mac-x86_64/target/sha256sum.txt
965+
asset_name: sha256sum-x86_64-apple-darwin.txt
966+
asset_content_type: text/plain
967+
968+
- name: Upload SHA256 sum of the release artefacts to GitHub Release (mac aarch64)
969+
uses: actions/upload-release-asset@v1
970+
env:
971+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
972+
with:
973+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
974+
asset_path: ./dist/mac-aarch64/target/sha256sum.txt
975+
asset_name: sha256sum-aarch64-apple-darwin.txt
976+
asset_content_type: text/plain
977+
978+
- name: Upload SHA256 sum of the release artefacts to GitHub Release (win x86-64)
979+
uses: actions/upload-release-asset@v1
980+
env:
981+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
982+
with:
983+
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
984+
asset_path: ./dist/win-x86_64/target/sha256sum.txt
985+
asset_name: sha256sum-x86_64-pc-win32.txt
986+
asset_content_type: text/plain
987+
810988
- name: Publish Release
811989
run: ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonatypeBundleRelease"
812990

0 commit comments

Comments
 (0)