Skip to content

Commit cb2e21a

Browse files
committed
Merge branch 'release-3.6.4' into language-reference-stable
2 parents cda99d0 + 6b2b881 commit cb2e21a

File tree

403 files changed

+6208
-2018
lines changed

Some content is hidden

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

403 files changed

+6208
-2018
lines changed

.github/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ RUN apt-get update && \
2222
# Install sbt
2323
ENV SBT_HOME /usr/local/sbt
2424
ENV PATH ${SBT_HOME}/bin:${PATH}
25-
ENV SBT_VERSION 1.9.0
25+
ENV SBT_VERSION 1.10.5
2626
RUN curl -sL "https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz" | gunzip | tar -x -C /usr/local

.github/PULL_REQUEST_TEMPLATE/fix-issue.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ assignees: ''
88

99
<!--
1010
TODO first sign the CLA
11-
https://www.lightbend.com/contribute/cla/scala
11+
https://contribute.akka.io/cla/scala
1212
-->
1313

1414
## Fix #XYZ

.github/PULL_REQUEST_TEMPLATE/other-pr.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ assignees: ''
88

99
<!--
1010
TODO first sign the CLA
11-
https://www.lightbend.com/contribute/cla/scala
11+
https://contribute.akka.io/cla/scala
1212
-->
1313

1414
## Description

.github/workflows/ci.yaml

+14-5
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ on:
2626
- cron: '0 3 * * *' # Every day at 3 AM
2727
workflow_dispatch:
2828

29+
# Cancels any in-progress runs within the same group identified by workflow name and GH reference (branch or tag)
30+
# For example it would:
31+
# - terminate previous PR CI execution after pushing more changes to the same PR branch
32+
# - terminate previous on-push CI run after merging new PR to main
33+
concurrency:
34+
group: ${{ github.workflow }}-${{ github.ref }}
35+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
36+
2937
env:
3038
DOTTY_CI_RUN: true
3139
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
@@ -818,22 +826,23 @@ jobs:
818826
path: .
819827
- name: Prepare MSI package
820828
shell: bash
821-
run: |
829+
run: |
822830
msiInstaller="scala3-${{ env.RELEASE_TAG }}.msi"
823831
mv scala.msi "${msiInstaller}"
824832
sha256sum "${msiInstaller}" > "${msiInstaller}.sha256"
825833
826834
- name: Install GH CLI
827835
uses: dev-hanz-ops/[email protected]
828836
with:
829-
gh-cli-version: 2.59.0
830-
837+
gh-cli-version: 2.59.0
831838
# Create the GitHub release
832839
- name: Create GitHub Release
833840
env:
834841
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
835842
shell: bash
836843
run: |
844+
# We need to config safe.directory in every step that might reference git
845+
# It is not persisted between steps
837846
git config --global --add safe.directory /__w/scala3/scala3
838847
gh release create \
839848
--draft \
@@ -901,14 +910,14 @@ jobs:
901910
uses: ./.github/workflows/build-chocolatey.yml
902911
needs: [ build-sdk-package ]
903912
with:
904-
version: 3.6.0-local # TODO: FIX THIS
913+
version: 3.6.0-SNAPSHOT # Fake version, used only for choco tests
905914
url : https://api.github.com/repos/scala/scala3/actions/artifacts/${{ needs.build-sdk-package.outputs.win-x86_64-id }}/zip
906915
digest : ${{ needs.build-sdk-package.outputs.win-x86_64-digest }}
907916

908917
test-chocolatey-package:
909918
uses: ./.github/workflows/test-chocolatey.yml
910919
with:
911-
version : 3.6.0-local # TODO: FIX THIS
920+
version : 3.6.0-SNAPSHOT # Fake version, used only for choco tests
912921
java-version: 8
913922
if: github.event_name == 'pull_request' && contains(github.event.pull_request.body, '[test_chocolatey]')
914923
needs: [ build-chocolatey-package ]

.github/workflows/cla.yml

+4-13
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,11 @@ on:
33
pull_request:
44
branches-ignore:
55
- 'language-reference-stable'
6-
push:
7-
branches:
8-
- 'language-reference-stable'
9-
merge_group:
10-
permissions:
11-
contents: write
12-
pull-requests: write
13-
146
jobs:
157
check:
168
runs-on: ubuntu-latest
179
steps:
18-
- uses: actions/checkout@v4
19-
- run: ./project/scripts/check-cla.sh
20-
if: github.event_name == 'pull_request'
21-
env:
22-
AUTHOR: ${{ github.event.pull_request.user.login }}
10+
- name: Verify CLA
11+
uses: scala/cla-checker@v1
12+
with:
13+
author: ${{ github.event.pull_request.user.login }}

.github/workflows/lts-backport.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
with:
1616
fetch-depth: 0
1717
- uses: coursier/cache-action@v6
18-
- uses: VirtusLab/[email protected].3
18+
- uses: VirtusLab/[email protected].4
1919
- run: scala-cli ./project/scripts/addToBackportingProject.scala -- ${{ github.sha }}
2020
env:
2121
GRAPHQL_API_TOKEN: ${{ secrets.GRAPHQL_API_TOKEN }}

.github/workflows/publish-chocolatey.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ jobs:
3535
with:
3636
name: scala.nupkg
3737
- name: Publish the package to Chocolatey
38-
run: choco push scala.nupkg --source https://push.chocolatey.org/ --api-key ${{ secrets.API-KEY }}
38+
run: choco push scala.${{inputs.version}}.nupkg --source https://push.chocolatey.org/ --api-key ${{ secrets.API-KEY }}
3939

.github/workflows/publish-winget.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
publish:
2727
runs-on: windows-latest
2828
steps:
29-
- uses: vedantmgoyal9/winget-releaser@b87a066d9e624db1394edcd947f8c4e5a7e30cd7
29+
- uses: vedantmgoyal9/winget-releaser@4ffc7888bffd451b357355dc214d43bb9f23917e
3030
with:
3131
identifier : Scala.Scala.3
3232
version : ${{ inputs.version }}

.github/workflows/test-cc.yml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Scala 3 with Capture Checking
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
paths:
9+
- .github/workflows/test-cc.yml
10+
- scala2-library-cc/**
11+
- scala2-library-cc-tasty/**
12+
- compiler/src/dotty/tools/dotc/cc/**
13+
## Capture Checking Tests
14+
- tests/pos-custom-args/captures/**
15+
- tests/run-custom-args/captures/**
16+
- tests/neg-custom-args/captures/**
17+
18+
env:
19+
DOTTY_CI_RUN: true
20+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
21+
22+
jobs:
23+
suite-with-stdlib-cc:
24+
name: Test Suite with the CC Standard Library
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Git Checkout
28+
uses: actions/checkout@v4
29+
- uses: sbt/setup-sbt@v1
30+
- name: Test with Scala 2 library with CC TASTy
31+
run: ./project/scripts/sbt ";set ThisBuild/Build.scala2Library := Build.Scala2LibraryCCTasty ;scala3-bootstrapped/test"

.github/workflows/test-chocolatey.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ on:
2121

2222
env:
2323
CHOCOLATEY-REPOSITORY: chocolatey-pkgs
24-
DOTTY_CI_INSTALLATION: ${{ secrets.GITHUB_TOKEN }}
24+
# Controls behaviour of chocolatey{Install,Uninstall}.ps1 scripts
25+
# During snapshot releases it uses a different layout and requires access token to GH Actions artifacts
26+
# During stable releases it uses publically available archives
27+
DOTTY_CI_INSTALLATION: ${{ endsWith(inputs.version, '-SNAPSHOT') && secrets.GITHUB_TOKEN || '' }}
2528

2629
jobs:
2730
test:

.vscode-template/settings.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"**/*.class": true,
1010
"**/*.tasty": true,
1111
"**/target/": true,
12-
"community-build/community-projects": true,
13-
"tests/pos-with-compiler-cc/dotc/**/*.scala": true
12+
"community-build/community-projects": true
1413
}
1514
}

MAINTENANCE.md

+32-23
Original file line numberDiff line numberDiff line change
@@ -63,39 +63,48 @@ At the end of their supervision period, the supervisor reports to the team durin
6363

6464
## Maintenance List
6565

66-
The following is the list of all the principal areas of the compiler and the core team members who are responsible for their maintenance:
66+
The following is the list of all the principal areas of the compiler and the internal team members who are responsible for their maintenance:
6767

6868
### Compiler
69-
- Parser: @odersky, @hamzaremmal
70-
- Typer: @odersky, @smarter, (@dwijnand), @noti0nal
69+
- Parser: @odersky, @hamzaremmal, @KacperFKorban
70+
- Typer: @odersky, @smarter, (@dwijnand), @noti0nal, @EugeneFlesselle, @KacperFKorban, @bracevac
7171
- Erasure: @smarter, @odersky
72-
- Enums: @bishabosha
73-
- Derivation & Mirrors: @bishabosha, (@dwijnand), @EugeneFlesselle
74-
- Export: @bishabosha, @odersky
75-
- Pattern Matching: @dwijnand, (@liufengyun), @sjrd
76-
- Inline: @nicolasstucki, @odersky, @hamzaremmal
77-
- Metaprogramming (Quotes, Reflect, Staging): @nicolasstucki, @jchyb, @hamzaremmal
78-
- Match types: @sjrd, @dwijnand, @Decel, @Linyxus
72+
- Enums:
73+
- Derivation & Mirrors: (@dwijnand), @EugeneFlesselle
74+
- Export: @odersky
75+
- Pattern Matching: @dwijnand, @sjrd, @noti0na1
76+
- Inline: @odersky, @jchyb, @hamzaremmal, @EugeneFlesselle
77+
- Metaprogramming (Quotes, Reflect, Staging): @jchyb, @hamzaremmal
78+
- Match types: @sjrd, @dwijnand, @Linyxus, @EugeneFlesselle
7979
- GADT: @dwijnand, @Linyxus
80-
- Initialization checker: @olhotak, @liufengyun
81-
- Safe nulls: @noti0na1, @olhotak
82-
- Transforms: @szymon-rd, @sjrd, @odersky, @smarter
83-
- tailrec: @sjrd, @mbovel
80+
- Initialization checker:
81+
- Transforms: @sjrd, @odersky, @smarter
82+
- Tailrec: @sjrd, @mbovel
8483
- JS backend: @sjrd
85-
- JVM backend: @sjrd
86-
- Java-compat: @smarter, @dwijnand
87-
- Capture checker: @odersky, @Linyxus
84+
- JVM backend: @sjrd, @hamzaremmal
85+
- Java-compat: @smarter, @dwijnand, @hamzaremmal
86+
- Extension Methods: @odersky, @dwijnand
87+
- Safe nulls (experimental): @noti0na1
88+
- Capture checker (experimental): @odersky, @Linyxus, @bracevac, @noti0na1
89+
- Modularity (experimental): @KacperFKorban
90+
- Named Tuples (experimental): @odersky, @aherlihy
8891

8992
### Tooling
90-
- REPL: @dwijnand, @prolativ
93+
- REPL: @dwijnand
94+
- Runner/CLI: @Gedochao, (@tgodzik)
95+
- IDE: @tgodzik, (@kasiaMarek)
9196
- Scaladoc: @Florian3k
92-
- SemanticDB: @tanishiking
93-
- Coverage: @TheElectronWill
94-
- Linting (especially unused warnings) / Reporting UX: @szymon-rd
97+
- SemanticDB: @natsukagami, (@tanishiking)
98+
- Coverage: @KacperFKorban
99+
- Linting (especially unused warnings) / Reporting UX: @KacperFKorban
100+
- Presentation Compiler: @rochala, @tgodzik, @kasiaMarek, @natsukagami
101+
- Debug Adapter: @adpi2, (@tgodzik)
102+
- Scastie: @rochala
95103

96104
### Infrastructure
97-
- CI: @hamzaremmal
105+
- CI: @hamzaremmal, (@WojciechMazur)
98106
- Community Build: @hamzaremmal
99107
- Open Community Build: @WojciechMazur
100-
- Vulpix: @dwijnand, @prolativ
108+
- Vulpix: @dwijnand, @prolativ, @hamzaremmal
101109
- Benchmarks: @mbovel
110+
- Releases: @WojciechMazur, @prolativ

build.sbt

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ val `dist-linux-aarch64` = Build.`dist-linux-aarch64`
3636
val `community-build` = Build.`community-build`
3737
val `sbt-community-build` = Build.`sbt-community-build`
3838
val `scala3-presentation-compiler` = Build.`scala3-presentation-compiler`
39+
val `scala3-presentation-compiler-testcases` = Build.`scala3-presentation-compiler-testcases`
3940

4041
val sjsSandbox = Build.sjsSandbox
4142
val sjsJUnitTests = Build.sjsJUnitTests

0 commit comments

Comments
 (0)