Skip to content

Synchronize with scala/scala3 LTS after release 3.3.5 #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 52 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
6cdfa5b
Enable PC tests in test_windows_fast
hamzaremmal Sep 23, 2024
2523002
Filter opaque modifier from object documentation
HarrisL2 Sep 24, 2024
323145f
Add better error reporting for inlined non-immutable paths
HarrisL2 Sep 24, 2024
385bcc5
Make right assoc extx method fwd refs error
dwijnand Sep 24, 2024
848820b
Tighten java annot value parsing
dwijnand Sep 25, 2024
ef10468
Handle suspension due to macro call completed in arbitrary phases
WojciechMazur Dec 5, 2024
6049b84
Fix compilation
WojciechMazur Dec 5, 2024
3fea8d1
Allow export statements in AnyVal
hamzaremmal Sep 27, 2024
4542825
Bump webrick from 1.8.1 to 1.8.2 in /docs/_spec
dependabot[bot] Sep 30, 2024
eede2f5
Expr#show: Don't crash when the expression contains an unsupported ty…
WojciechMazur Dec 5, 2024
4ee2a3f
Localize TypeError handling in addRecheckedTypes
WojciechMazur Dec 5, 2024
22aef92
Always rewrite empty List() to Nil
som-snytt Oct 2, 2024
aa3b599
fix `dotty.tools.dotc.config.Properties` scaladoc
xuwei-k Oct 2, 2024
e0e5e9a
Fix incorrect caching with path-dependent types
WojciechMazur Dec 5, 2024
120a786
Add Staging Issue messages and QuotedTypeMissing message
WojciechMazur Dec 5, 2024
dd86f42
Always treat underscores as type bounds inside patterns
WojciechMazur Dec 5, 2024
89183f9
Quotes type printing: take `infix` type modifier into account
smarter Oct 2, 2024
3db968a
Make the test pass in LTS - int ops are not made infix in the LTS
WojciechMazur Dec 5, 2024
6997795
REPL: JLine 3.27.0 (was 3.25.1)
SethTisue Oct 11, 2024
df6d699
Scala 2.13.15 (was .14) (#21648)
WojciechMazur Dec 5, 2024
19016d2
Add zip and unzip to the CI
WojciechMazur Dec 5, 2024
a9625a2
Fix and future-proof the CI release scripts (#21810)
WojciechMazur Dec 5, 2024
59556b2
Use bash shell when using here-strings (#21817)
hamzaremmal Oct 20, 2024
e597058
Update CLA check server url domain from lightbend.com to contibute.ak…
WojciechMazur Dec 5, 2024
e92d7ec
Follow redirects when checkting CLA
WojciechMazur Dec 5, 2024
fa617ff
Backport Chocolatey support to Scala LTS (#22095)
WojciechMazur Dec 9, 2024
ab4bf5e
Fix extraction of release tag in publish workflow
WojciechMazur Dec 9, 2024
b271cb8
Add changelog for 3.3.5-RC1
WojciechMazur Dec 9, 2024
8f47278
Release 3.3.5-RC1
WojciechMazur Dec 9, 2024
28e5db4
Disable automatic deployment of artifacts published to Sonatype, requ…
WojciechMazur Dec 10, 2024
6732297
copyright 2025
SethTisue Jan 8, 2025
b68d08a
Fix CI - add missing sbt/setup-sbt step
WojciechMazur Jan 15, 2025
c3cd13a
Remove scaladoc CI step uploading docs to no longer existing Azure st…
WojciechMazur Jan 15, 2025
bf8aee1
fix: drop jackson-module-scala from CB
hamzaremmal Jan 12, 2025
86fb2d0
REPL: JLine: follow recommendation to use JNI, not JNA
SethTisue Dec 13, 2024
bfebac4
JLine 3.27.1 (was 3.27.0)
SethTisue Dec 13, 2024
fae6041
Backport "REPL: JLine: follow recommendation to use JNI, not JNA; als…
WojciechMazur Jan 16, 2025
9c765bc
Add changelog for 3.3.5-RC2
WojciechMazur Jan 16, 2025
17f3055
Release 3.3.5-RC2
WojciechMazur Jan 16, 2025
05e0b68
Fix synchronization of ClassFile versions betwen settings and JVM bac…
WojciechMazur Jan 17, 2025
363970e
[LTS only] Fix synchronization of -java-output-versions with JVM back…
WojciechMazur Jan 18, 2025
4643921
Add changelog for 3.3.5-RC3
WojciechMazur Jan 20, 2025
2bda6c1
Release 3.3.5-RC3
WojciechMazur Jan 20, 2025
f70ef36
Remove JNA dependencies from dist scripts. Add jline-terminal-native …
WojciechMazur Jan 27, 2025
3231b5b
Fix old scala runner to use correct JLine classpath (#22464)
WojciechMazur Jan 27, 2025
db021c6
Fix remaining jna classpath entries in dist/bin/scaladoc*
WojciechMazur Jan 27, 2025
2031857
Fix remaining JNA classpath entries in `dist/bin/scaladoc*` scripts (…
WojciechMazur Jan 27, 2025
0059e3f
Add changelog for 3.3.5
WojciechMazur Jan 27, 2025
0eb4683
Release 3.3.5
WojciechMazur Jan 27, 2025
8e366a2
Prepare build for 3.3.6 LTS
WojciechMazur Jan 28, 2025
c189755
Use GITHUB_WORKSPACE and GITHUB_REPOSITORY instead of hard-coded values
WojciechMazur Jan 20, 2025
824fe3d
Merge branch 'lts-3.3' into scala-lts-3.3
WojciechMazur Jan 28, 2025
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
57 changes: 57 additions & 0 deletions .github/workflows/build-chocolatey.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
###################################################################################################
### THIS IS A REUSABLE WORKFLOW TO BUILD SCALA WITH CHOCOLATEY ###
### HOW TO USE: ###
### ###
### NOTE: ###
### ###
###################################################################################################


name: Build 'scala' Chocolatey Package
run-name: Build 'scala' (${{ inputs.version }}) Chocolatey Package

on:
workflow_call:
inputs:
version:
required: true
type : string
url:
required: true
type : string
digest:
required: true
type : string

jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Replace the version placeholder
uses: richardrigutins/replace-in-files@v2
with:
files: ./pkgs/chocolatey/scala.nuspec
search-text: '@LAUNCHER_VERSION@'
replacement-text: ${{ inputs.version }}
- name: Replace the URL placeholder
uses: richardrigutins/replace-in-files@v2
with:
files: ./pkgs/chocolatey/tools/chocolateyInstall.ps1
search-text: '@LAUNCHER_URL@'
replacement-text: ${{ inputs.url }}
- name: Replace the CHECKSUM placeholder
uses: richardrigutins/replace-in-files@v2
with:
files: ./pkgs/chocolatey/tools/chocolateyInstall.ps1
search-text: '@LAUNCHER_SHA256@'
replacement-text: ${{ inputs.digest }}
- name: Build the Chocolatey package (.nupkg)
run: choco pack ./pkgs/chocolatey/scala.nuspec --out ./pkgs/chocolatey
- name: Upload the Chocolatey package to GitHub
uses: actions/upload-artifact@v4
with:
name: scala.nupkg
path: ./pkgs/chocolatey/scala.${{ inputs.version }}.nupkg
if-no-files-found: error

58 changes: 58 additions & 0 deletions .github/workflows/build-sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
###################################################################################################
### THIS IS A REUSABLE WORKFLOW TO BUILD THE SCALA LAUNCHERS ###
### HOW TO USE: ###
### - THSI WORKFLOW WILL PACKAGE THE ALL THE LAUNCHERS AND UPLOAD THEM TO GITHUB ARTIFACTS ###
### ###
### NOTE: ###
### - SEE THE WORFLOW FOR THE NAMES OF THE ARTIFACTS ###
###################################################################################################


name: Build Scala Launchers
run-name: Build Scala Launchers

on:
workflow_call:
inputs:
java-version:
type : string
required : true
outputs:
universal-id:
description: ID of the `universal` package from GitHub Artifacts (Authentication Required)
value : ${{ jobs.build.outputs.universal-id }}
universal-digest:
description: The SHA256 of the uploaded artifact (universal)
value : ${{ jobs.build.outputs.universal-digest }}


jobs:
build:
runs-on: ubuntu-latest
outputs:
universal-id : ${{ steps.universal.outputs.artifact-id }}
universal-digest : ${{ steps.universal-digest.outputs.digest }}

steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ inputs.java-version }}
cache : sbt
- uses: sbt/setup-sbt@v1
- name: Build and pack the SDK (universal)
run : ./project/scripts/sbt dist/pack

- name: Upload zip archive to GitHub Artifact (universal)
uses: actions/upload-artifact@v4
id : universal
with:
path: ./dist/target/pack/*
name: scala3-universal

- name: Compute SHA256 of the uploaded artifact (universal)
id : universal-digest
run : |
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -o artifact.zip -L https://api.github.com/repos/scala/scala3/actions/artifacts/${{ steps.universal.outputs.artifact-id }}/zip
echo "digest=$(sha256sum artifact.zip | cut -d " " -f 1)" >> "$GITHUB_OUTPUT"
64 changes: 45 additions & 19 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
## Workaround for https://github.com/actions/runner/issues/2033 (See https://github.com/scala/scala3/pull/19720)
- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -125,7 +125,7 @@ jobs:

- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
- name: Reset existing repo
shell: cmd
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -212,7 +212,7 @@ jobs:
- name: Reset existing repo
shell: cmd
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -254,7 +254,7 @@ jobs:

- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -301,7 +301,7 @@ jobs:
run: echo "/usr/lib/jvm/java-8-openjdk-amd64/bin" >> $GITHUB_PATH
- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand All @@ -318,7 +318,7 @@ jobs:

- name: Test
run: |
git config --global --add safe.directory /__w/scala3/scala3
git config --global --add safe.directory $GITHUB_WORKSPACE
git submodule sync
git submodule update --init --recursive --jobs 7
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestA"
Expand Down Expand Up @@ -355,7 +355,7 @@ jobs:
run: echo "/usr/lib/jvm/java-8-openjdk-amd64/bin" >> $GITHUB_PATH
- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand All @@ -372,7 +372,7 @@ jobs:

- name: Test
run: |
git config --global --add safe.directory /__w/scala3/scala3
git config --global --add safe.directory $GITHUB_WORKSPACE
git submodule sync
git submodule update --init --recursive --jobs 7
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestB"
Expand Down Expand Up @@ -409,7 +409,7 @@ jobs:
run: echo "/usr/lib/jvm/java-8-openjdk-amd64/bin" >> $GITHUB_PATH
- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand All @@ -426,7 +426,7 @@ jobs:

- name: Test
run: |
git config --global --add safe.directory /__w/scala3/scala3
git config --global --add safe.directory $GITHUB_WORKSPACE
git submodule sync
git submodule update --init --recursive --jobs 7
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestC"
Expand Down Expand Up @@ -462,7 +462,7 @@ jobs:

- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -511,7 +511,7 @@ jobs:

- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -559,7 +559,7 @@ jobs:
run: echo "/usr/lib/jvm/java-8-openjdk-amd64/bin" >> $GITHUB_PATH
- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -623,7 +623,7 @@ jobs:
steps:
- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand All @@ -640,7 +640,7 @@ jobs:

- name: Generate Website
run: |
git config --global --add safe.directory /__w/scala3/scala3
git config --global --add safe.directory $GITHUB_WORKSPACE
./project/scripts/genDocs -doc-snapshot

- name: Deploy Website to dotty-website
Expand Down Expand Up @@ -678,7 +678,7 @@ jobs:
run: echo "/usr/lib/jvm/java-8-openjdk-amd64/bin" >> $GITHUB_PATH
- name: Reset existing repo
run: |
git config --global --add safe.directory /__w/scala3/scala3
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
Expand Down Expand Up @@ -707,7 +707,6 @@ jobs:
run: |
./project/scripts/sbt dist/packArchive
sha256sum dist/target/scala3-* > dist/target/sha256sum.txt
echo "RELEASE_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV

- name: Create GitHub Release
id: create_gh_release
Expand Down Expand Up @@ -752,7 +751,7 @@ jobs:
asset_content_type: text/plain

- name: Publish Release
run: ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonatypeBundleRelease"
run: ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonatypeBundleUpload"


open_issue_on_failure:
Expand All @@ -774,3 +773,30 @@ jobs:
WORKFLOW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
with:
filename: .github/workflows/issue_nightly_failed.md

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'
with:
java-version: 8

build-chocolatey-package:
uses: ./.github/workflows/build-chocolatey.yml
needs: [ build-sdk-package ]
with:
version: 3.3.5-local # unused
url : https://api.github.com/repos/scala/scala3/actions/artifacts/${{ needs.build-sdk-package.outputs.universal-id }}/zip
digest : ${{ needs.build-sdk-package.outputs.universal-digest }}

test-chocolatey-package:
uses: ./.github/workflows/test-chocolatey.yml
with:
version : 3.3.5-local # unused
java-version: 8
if: github.event_name == 'pull_request' && contains(github.event.pull_request.body, '[test_chocolatey]')
needs: [ build-chocolatey-package ]

1 change: 1 addition & 0 deletions .github/workflows/dependency-graph.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- uses: scalacenter/sbt-dependency-submission@v3
1 change: 1 addition & 0 deletions .github/workflows/language-reference.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1

- name: Generate reference documentation and test links
run: |
Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/publish-chocolatey.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
###################################################################################################
### THIS IS A REUSABLE WORKFLOW TO PUBLISH SCALA TO CHOCOLATEY ###
### HOW TO USE: ###
### - THE RELEASE WORKFLOW SHOULD CALL THIS WORKFLOW ###
### - IT WILL PUBLISH TO CHOCOLATEY THE MSI ###
### ###
### NOTE: ###
### - WE SHOULD KEEP IN SYNC THE NAME OF THE MSI WITH THE ACTUAL BUILD ###
### - WE SHOULD KEEP IN SYNC THE URL OF THE RELEASE ###
### - IT ASSUMES THAT THE `build-chocolatey` WORKFLOW WAS EXECUTED BEFORE ###
###################################################################################################


name: Publish Scala to Chocolatey
run-name: Publish Scala ${{ inputs.version }} to Chocolatey

on:
workflow_call:
inputs:
version:
required: true
type: string
secrets:
# Connect to https://community.chocolatey.org/profiles/scala
# Accessible via https://community.chocolatey.org/account
API-KEY:
required: true

jobs:
publish:
runs-on: windows-latest
steps:
- name: Fetch the Chocolatey package from GitHub
uses: actions/download-artifact@v4
with:
name: scala.nupkg
- name: Publish the package to Chocolatey
run: choco push scala.nupkg --source https://push.chocolatey.org/ --api-key ${{ secrets.API-KEY }}

Loading
Loading