Skip to content

Commit 6074f4e

Browse files
committed
Merge branch 'refine-ft-nullify' into safenullcommunity
2 parents f4df13e + 299a72a commit 6074f4e

File tree

470 files changed

+4029
-60876
lines changed

Some content is hidden

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

470 files changed

+4029
-60876
lines changed

.github/workflows/build-msi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
runs-on: windows-latest
2323
steps:
2424
- uses: actions/checkout@v5
25-
- uses: actions/setup-java@v4
25+
- uses: actions/setup-java@v5
2626
with:
2727
distribution: 'adopt'
2828
java-version: 17

.github/workflows/build-sdk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
5757
steps:
5858
- uses: actions/checkout@v5
59-
- uses: actions/setup-java@v4
59+
- uses: actions/setup-java@v5
6060
with:
6161
distribution: temurin
6262
java-version: ${{ inputs.java-version }}

.github/workflows/ci.yaml

Lines changed: 3 additions & 313 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ on:
2222
- 'lts-**'
2323
pull_request:
2424
merge_group:
25-
schedule:
26-
- cron: '0 3 * * *' # Every day at 3 AM
2725
workflow_dispatch:
2826

2927
# Cancels any in-progress runs within the same group identified by workflow name and GH reference (branch or tag)
@@ -151,67 +149,14 @@ jobs:
151149
- name: Cmd Tests
152150
run: |
153151
./project/scripts/buildScalaBinary
154-
./project/scripts/sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/* ;scala3-compiler-bootstrapped/scala3CompilerCoursierTest:test"
152+
./project/scripts/sbt ";scala3-bootstrapped/compile ;sbt-test/scripted scala2-compat/* ;scala3-compiler-bootstrapped/scala3CompilerCoursierTest:test"
155153
./project/scripts/cmdTests
156154
./project/scripts/bootstrappedOnlyCmdTests
157155
158156
- name: Scala.js Test
159157
run: |
160158
./project/scripts/sbt ";sjsSandbox/run ;sjsSandbox/test ;sjsJUnitTests/test ;set sjsJUnitTests/scalaJSLinkerConfig ~= switchToESModules ;sjsJUnitTests/test ;sjsCompilerTests/test"
161159
162-
- name: Test with Scala 2 library TASTy (fast)
163-
run: ./project/scripts/sbt ";set ThisBuild/Build.scala2Library := Build.Scala2LibraryTasty ;scala3-bootstrapped/testCompilation i5; scala3-bootstrapped/testCompilation tests/run/typelevel-peano.scala; scala3-bootstrapped/testOnly dotty.tools.backend.jvm.DottyBytecodeTests" # only test a subset of test to avoid doubling the CI execution time
164-
165-
- name: Test with Scala 2 library with CC TASTy (fast)
166-
run: ./project/scripts/sbt ";set ThisBuild/Build.scala2Library := Build.Scala2LibraryCCTasty; scala2-library-cc/compile; scala2-library-cc-tasty/compile; scala3-bootstrapped/testCompilation i3"
167-
168-
test_scala2_library_tasty:
169-
runs-on: [self-hosted, Linux]
170-
container:
171-
image: lampepfl/dotty:2024-10-18
172-
options: --cpu-shares 4096
173-
volumes:
174-
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
175-
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
176-
- ${{ github.workspace }}/../../cache/general:/root/.cache
177-
if: "github.event_name == 'schedule' && github.repository == 'scala/scala3'
178-
|| (
179-
github.event_name == 'pull_request'
180-
&& contains(github.event.pull_request.body, '[test_scala2_library_tasty]')
181-
)
182-
|| (
183-
github.event_name == 'workflow_dispatch'
184-
&& github.repository == 'scala/scala3'
185-
)"
186-
187-
steps:
188-
- name: Set JDK 17 as default
189-
run: echo "/usr/lib/jvm/java-17-openjdk-amd64/bin" >> $GITHUB_PATH
190-
191-
- name: Reset existing repo
192-
run: |
193-
git config --global --add safe.directory $GITHUB_WORKSPACE
194-
git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true
195-
196-
- name: Checkout cleanup script
197-
uses: actions/checkout@v5
198-
199-
- name: Cleanup
200-
run: .github/workflows/cleanup.sh
201-
202-
- name: Git Checkout
203-
uses: actions/checkout@v5
204-
205-
- name: Add SBT proxy repositories
206-
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
207-
208-
- name: Test with Scala 2 library TASTy
209-
run: ./project/scripts/sbt ";set ThisBuild/Build.scala2Library := Build.Scala2LibraryTasty ;scala3-bootstrapped/test"
210-
211-
- name: Test with Scala 2 library with CC TASTy
212-
run: ./project/scripts/sbt ";set ThisBuild/Build.scala2Library := Build.Scala2LibraryCCTasty ;scala3-bootstrapped/test"
213-
214-
215160
test_windows_fast:
216161
runs-on: [self-hosted, Windows]
217162
if: "(
@@ -236,7 +181,7 @@ jobs:
236181
uses: actions/checkout@v5
237182

238183
- name: Test
239-
run: sbt ";scala3-bootstrapped/compile; scala3-bootstrapped/testCompilation; scala3-presentation-compiler/test; scala3-language-server/test"
184+
run: sbt ";scala3-bootstrapped/compile; scala3-presentation-compiler/test; scala3-language-server/test"
240185
shell: cmd
241186

242187
- name: build binary
@@ -291,58 +236,6 @@ jobs:
291236
run: sbt ";sjsJUnitTests/test ;set sjsJUnitTests/scalaJSLinkerConfig ~= switchToESModules ;sjsJUnitTests/test ;sjsCompilerTests/test"
292237
shell: cmd
293238

294-
mima:
295-
name: MiMa
296-
runs-on: [self-hosted, Linux]
297-
container:
298-
image: lampepfl/dotty:2024-10-18
299-
options: --cpu-shares 4096
300-
volumes:
301-
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
302-
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
303-
- ${{ github.workspace }}/../../cache/general:/root/.cache
304-
if: "github.event_name == 'schedule' && github.repository == 'scala/scala3'
305-
|| github.event_name == 'push'
306-
|| github.event_name == 'merge_group'
307-
|| (
308-
github.event_name == 'pull_request'
309-
&& !contains(github.event.pull_request.body, '[skip ci]')
310-
&& !contains(github.event.pull_request.body, '[skip mima]')
311-
)
312-
|| (
313-
github.event_name == 'workflow_dispatch'
314-
&& github.repository == 'scala/scala3'
315-
)"
316-
steps:
317-
- name: Set JDK 17 as default
318-
run: echo "/usr/lib/jvm/java-17-openjdk-amd64/bin" >> $GITHUB_PATH
319-
320-
- name: Reset existing repo
321-
run: |
322-
git config --global --add safe.directory $GITHUB_WORKSPACE
323-
git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true
324-
325-
- name: Checkout cleanup script
326-
uses: actions/checkout@v5
327-
328-
- name: Cleanup
329-
run: .github/workflows/cleanup.sh
330-
331-
- name: Git Checkout
332-
uses: actions/checkout@v5
333-
334-
- name: Add SBT proxy repositories
335-
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
336-
337-
- name: MiMa
338-
run: |
339-
./project/scripts/sbt ";scala3-interfaces/mimaReportBinaryIssues ;scala3-library-bootstrapped/mimaReportBinaryIssues ;scala3-library-bootstrappedJS/mimaReportBinaryIssues; tasty-core-bootstrapped/mimaReportBinaryIssues; scala2-library-bootstrapped/mimaReportBinaryIssues"
340-
341-
- name: TASTy MiMa
342-
run: |
343-
# This script cleans the compiler and recompiles it from scratch (keep as last run)
344-
./project/scripts/scala2-library-tasty-mima.sh
345-
346239
community_build_a:
347240
runs-on: [self-hosted, Linux]
348241
container:
@@ -559,188 +452,6 @@ jobs:
559452
- name: Test sbt
560453
run: ./project/scripts/sbt "sbt-test/scripted; sbt-community-build/scripted"
561454

562-
test_java8:
563-
runs-on: [self-hosted, Linux]
564-
container:
565-
image: lampepfl/dotty:2024-10-18
566-
options: --cpu-shares 4096
567-
volumes:
568-
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
569-
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
570-
- ${{ github.workspace }}/../../cache/general:/root/.cache
571-
572-
if: "github.event_name == 'schedule' && github.repository == 'scala/scala3'
573-
|| (
574-
github.event_name == 'push'
575-
&& startsWith(github.event.ref, 'refs/tags/')
576-
)
577-
|| (
578-
github.event_name == 'pull_request'
579-
&& !contains(github.event.pull_request.body, '[skip ci]')
580-
&& contains(github.event.pull_request.body, '[test_java8]')
581-
)
582-
|| (
583-
github.event_name == 'workflow_dispatch'
584-
&& github.repository == 'scala/scala3'
585-
)"
586-
587-
steps:
588-
####################################################################################
589-
## WARNING: DO NOT CHANGE THE JAVA VERSION HERE. THIS TEST IS SPECIFIC FOR JAVA 8 ##
590-
####################################################################################
591-
- name: Set JDK 8 as default
592-
run: echo "/usr/lib/jvm/java-8-openjdk-amd64/bin" >> $GITHUB_PATH
593-
594-
- name: Reset existing repo
595-
run: |
596-
git config --global --add safe.directory $GITHUB_WORKSPACE
597-
git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true
598-
599-
- name: Checkout cleanup script
600-
uses: actions/checkout@v5
601-
602-
- name: Cleanup
603-
run: .github/workflows/cleanup.sh
604-
605-
- name: Git Checkout
606-
uses: actions/checkout@v5
607-
608-
- name: Add SBT proxy repositories
609-
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
610-
611-
- name: Test
612-
run: |
613-
./project/scripts/buildScalaBinary
614-
./project/scripts/sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/*"
615-
./project/scripts/cmdTests
616-
./project/scripts/bootstrappedOnlyCmdTests
617-
618-
- name: Scala.js Test
619-
run: |
620-
./project/scripts/sbt ";sjsSandbox/run ;sjsSandbox/test ;sjsJUnitTests/test ;set sjsJUnitTests/scalaJSLinkerConfig ~= switchToESModules ;sjsJUnitTests/test ;sjsCompilerTests/test"
621-
622-
publish_nightly:
623-
runs-on: [self-hosted, Linux]
624-
container:
625-
image: lampepfl/dotty:2024-10-18
626-
options: --cpu-shares 4096
627-
volumes:
628-
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
629-
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
630-
- ${{ github.workspace }}/../../cache/general:/root/.cache
631-
strategy:
632-
matrix:
633-
series: [
634-
{repository: scala/scala3, branch: main}, # Scala Next nightly
635-
{repository: scala/scala3-lts, branch: lts-3.3} # Scala LTS nightly
636-
]
637-
needs: [test_non_bootstrapped, test, mima, community_build_a, community_build_b, community_build_c, test_sbt, test_java8]
638-
if: "(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.repository == 'scala/scala3'"
639-
env:
640-
NIGHTLYBUILD: yes
641-
PGP_PW: ${{ secrets.PGP_PW }} # PGP passphrase
642-
PGP_SECRET: ${{ secrets.PGP_SECRET }} # Export your private and public PGP key to an *.asc file, take the file's contents as a string
643-
SONATYPE_PW: ${{ secrets.SONATYPE_PW_ORGSCALALANG }}
644-
SONATYPE_USER: ${{ secrets.SONATYPE_USER_ORGSCALALANG }}
645-
646-
steps:
647-
######################################################################################
648-
## WARNING: DO NOT CHANGE THE JAVA VERSION HERE. SCALA IS DISTRIBUTED USING JAVA 8. ##
649-
######################################################################################
650-
- name: Set JDK 8 as default
651-
run: echo "/usr/lib/jvm/java-8-openjdk-amd64/bin" >> $GITHUB_PATH
652-
- name: Reset existing repo
653-
run: |
654-
git config --global --add safe.directory $GITHUB_WORKSPACE
655-
git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true
656-
657-
- name: Checkout cleanup script
658-
uses: actions/checkout@v5
659-
660-
- name: Cleanup
661-
run: .github/workflows/cleanup.sh
662-
663-
- name: Git Checkout
664-
uses: actions/checkout@v5
665-
with:
666-
repository: ${{ matrix.series.repository }}
667-
ref: ${{ matrix.series.branch }}
668-
669-
- name: Add SBT proxy repositories
670-
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
671-
672-
- name: Get version string for this build
673-
run: |
674-
ver=$(./project/scripts/sbt "print scala3-compiler-bootstrapped/version" | tail -n1)
675-
echo "This build version: $ver"
676-
echo "THISBUILD_VERSION=$ver" >> $GITHUB_ENV
677-
678-
- name: Check is version matching pattern
679-
shell: bash
680-
run: |
681-
if ! grep -Eo "3\.[0-9]+\.[0-9]+-RC[0-9]+-bin-[0-9]{8}-[a-zA-Z0-9]{7}-NIGHTLY" <<< "${{ env.THISBUILD_VERSION }}"; then
682-
echo "Version used by compiler to publish nightly release does not match expected pattern"
683-
exit 1
684-
fi
685-
686-
- name: Check whether not yet published
687-
id: not_yet_published
688-
continue-on-error: true
689-
run: |
690-
! ./project/scripts/is-version-published.sh "$THISBUILD_VERSION"
691-
692-
- name: Publish Nightly
693-
if: "steps.not_yet_published.outcome == 'success'"
694-
run: |
695-
./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonaRelease"
696-
697-
nightly_documentation:
698-
runs-on: [self-hosted, Linux]
699-
container:
700-
image: lampepfl/dotty:2024-10-18
701-
options: --cpu-shares 4096
702-
volumes:
703-
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
704-
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
705-
- ${{ github.workspace }}/../../cache/general:/root/.cache
706-
needs: [publish_nightly]
707-
if: "(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.repository == 'scala/scala3'"
708-
env:
709-
NIGHTLYBUILD: yes
710-
steps:
711-
- name: Reset existing repo
712-
run: |
713-
git config --global --add safe.directory $GITHUB_WORKSPACE
714-
git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true
715-
716-
- name: Checkout cleanup script
717-
uses: actions/checkout@v5
718-
719-
- name: Cleanup
720-
run: .github/workflows/cleanup.sh
721-
722-
- name: Set JDK 17 as default
723-
run: echo "/usr/lib/jvm/java-17-openjdk-amd64/bin" >> $GITHUB_PATH
724-
725-
- name: Git Checkout
726-
uses: actions/checkout@v5
727-
728-
- name: Add SBT proxy repositories
729-
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
730-
731-
- name: Generate Website
732-
run: |
733-
git config --global --add safe.directory $GITHUB_WORKSPACE
734-
./project/scripts/genDocs -doc-snapshot
735-
736-
- name: Deploy Website to https://dotty.epfl.ch
737-
uses: peaceiris/actions-gh-pages@v4
738-
with:
739-
personal_token: ${{ secrets.DOTTYBOT_TOKEN }}
740-
publish_dir: docs/_site
741-
external_repository: scala/dotty.epfl.ch
742-
publish_branch: main
743-
744455
publish_release:
745456
permissions:
746457
contents: write # for GH CLI to create a release
@@ -752,7 +463,7 @@ jobs:
752463
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
753464
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
754465
- ${{ github.workspace }}/../../cache/general:/root/.cache
755-
needs: [test_non_bootstrapped, test, mima, community_build_a, community_build_b, community_build_c, test_sbt, test_java8, build-sdk-package, build-msi-package]
466+
needs: [test_non_bootstrapped, test, community_build_a, community_build_b, community_build_c, test_sbt, build-sdk-package, build-msi-package]
756467
if: "github.event_name == 'push'
757468
&& startsWith(github.event.ref, 'refs/tags/')"
758469

@@ -867,27 +578,6 @@ jobs:
867578
- name: Publish Release
868579
run: ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonaUpload"
869580

870-
871-
open_issue_on_failure:
872-
runs-on: [self-hosted, Linux]
873-
container:
874-
image: lampepfl/dotty:2024-10-18
875-
needs: [nightly_documentation, test_windows_full]
876-
# The `failure()` expression is true iff at least one of the dependencies
877-
# of this job (including transitive dependencies) has failed.
878-
if: "failure() && github.event_name == 'schedule'"
879-
steps:
880-
- name: Checkout issue template
881-
uses: actions/checkout@v5
882-
883-
- name: Open an issue
884-
uses: JasonEtco/create-an-issue@v2
885-
env:
886-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
887-
WORKFLOW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
888-
with:
889-
filename: .github/workflows/issue_nightly_failed.md
890-
891581
build-msi-package:
892582
uses: ./.github/workflows/build-msi.yml
893583
if :

.github/workflows/language-reference.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
ssh-key: ${{ secrets.DOCS_KEY }}
3232

3333
- name: Set up JDK 17
34-
uses: actions/setup-java@v4
34+
uses: actions/setup-java@v5
3535
with:
3636
distribution: 'temurin'
3737
java-version: 17

0 commit comments

Comments
 (0)