Skip to content

Commit

Permalink
Synchronize language-reference-stable with Scala 3.6.3 (#22398)
Browse files Browse the repository at this point in the history
  • Loading branch information
WojciechMazur authored Jan 20, 2025
2 parents 80e09f7 + 383d19a commit cda99d0
Show file tree
Hide file tree
Showing 1,921 changed files with 29,243 additions and 170,685 deletions.
3 changes: 2 additions & 1 deletion .github/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ RUN apt-get update && \
openjdk-17-jdk-headless \
openjdk-21-jdk-headless && \
(curl -fsSL https://deb.nodesource.com/setup_18.x | bash -) && \
apt-get install -y nodejs
apt-get install -y nodejs && \
apt-get install -y zip unzip


# Install sbt
Expand Down
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,12 @@ updates:
- hamzaremmal
reviewers:
- hamzaremmal
- package-ecosystem: bundler
directory: '/docs/_spec'
schedule:
interval: weekly
assignees:
- hamzaremmal
reviewers:
- hamzaremmal

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

38 changes: 38 additions & 0 deletions .github/workflows/build-msi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
###################################################################################################
### THIS IS A REUSABLE WORKFLOW TO BUILD SCALA MSI ###
### HOW TO USE: ###
### - THE RELEASE WORKFLOW SHOULD CALL THIS WORKFLOW ###
### - IT WILL UPLOAD TO GITHUB THE MSI FILE FOR SCALA UNDER THE 'scala.msi' NAME ###
### ###
### NOTE: ###
### - WE SHOULD BUILD SCALA USING JAVA 8 ###
###################################################################################################

name: Build the MSI Package

on:
workflow_call:

env:
# Release only happends when triggering CI by pushing tag
RELEASEBUILD: ${{ startsWith(github.event.ref, 'refs/tags/') && 'yes' || 'no' }}

jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
cache: 'sbt'
- name: Build MSI package
run: sbt 'dist-win-x86_64/Windows/packageBin'
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: Upload MSI Artifact
uses: actions/upload-artifact@v4
with:
name: scala.msi
path: ./dist/win-x86_64/target/windows/scala.msi
117 changes: 117 additions & 0 deletions .github/workflows/build-sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
###################################################################################################
### 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 }}
linux-x86_64-id:
description: ID of the `linux x86-64` package from GitHub Artifacts (Authentication Required)
value : ${{ jobs.build.outputs.linux-x86_64-id }}
linux-aarch64-id:
description: ID of the `linux aarch64` package from GitHub Artifacts (Authentication Required)
value : ${{ jobs.build.outputs.linux-aarch64-id }}
mac-x86_64-id:
description: ID of the `mac x86-64` package from GitHub Artifacts (Authentication Required)
value : ${{ jobs.build.outputs.mac-x86_64-id }}
mac-aarch64-id:
description: ID of the `mac aarch64` package from GitHub Artifacts (Authentication Required)
value : ${{ jobs.build.outputs.mac-aarch64-id }}
win-x86_64-id:
description: ID of the `win x86-64` package from GitHub Artifacts (Authentication Required)
value : ${{ jobs.build.outputs.win-x86_64-id }}
win-x86_64-digest:
description: The SHA256 of the uploaded artifact (`win x86-64`)
value : ${{ jobs.build.outputs.win-x86_64-digest }}


jobs:
build:
runs-on: ubuntu-latest
outputs:
universal-id : ${{ steps.universal.outputs.artifact-id }}
linux-x86_64-id : ${{ steps.linux-x86_64.outputs.artifact-id }}
linux-aarch64-id : ${{ steps.linux-aarch64.outputs.artifact-id }}
mac-x86_64-id : ${{ steps.mac-x86_64.outputs.artifact-id }}
mac-aarch64-id : ${{ steps.mac-aarch64.outputs.artifact-id }}
win-x86_64-id : ${{ steps.win-x86_64.outputs.artifact-id }}
win-x86_64-digest: ${{ steps.win-x86_64-digest.outputs.digest }}
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
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/Universal/stage
- name: Build and pack the SDK (linux x86-64)
run : ./project/scripts/sbt dist-linux-x86_64/Universal/stage
- name: Build and pack the SDK (linux aarch64)
run : ./project/scripts/sbt dist-linux-aarch64/Universal/stage
- name: Build and pack the SDK (mac x86-64)
run : ./project/scripts/sbt dist-mac-x86_64/Universal/stage
- name: Build and pack the SDK (mac aarch64)
run : ./project/scripts/sbt dist-mac-aarch64/Universal/stage
- name: Build and pack the SDK (win x86-64)
run : ./project/scripts/sbt dist-win-x86_64/Universal/stage
- name: Upload zip archive to GitHub Artifact (universal)
uses: actions/upload-artifact@v4
id : universal
with:
path: ./dist/target/universal/stage
name: scala3-universal
- name: Upload zip archive to GitHub Artifact (linux x86-64)
uses: actions/upload-artifact@v4
id : linux-x86_64
with:
path: ./dist/linux-x86_64/target/universal/stage
name: scala3-x86_64-pc-linux
- name: Upload zip archive to GitHub Artifact (linux aarch64)
uses: actions/upload-artifact@v4
id : linux-aarch64
with:
path: ./dist/linux-aarch64/target/universal/stage
name: scala3-aarch64-pc-linux
- name: Upload zip archive to GitHub Artifact (mac x86-64)
uses: actions/upload-artifact@v4
id : mac-x86_64
with:
path: ./dist/mac-x86_64/target/universal/stage
name: scala3-x86_64-apple-darwin
- name: Upload zip archive to GitHub Artifact (mac aarch64)
uses: actions/upload-artifact@v4
id : mac-aarch64
with:
path: ./dist/mac-aarch64/target/universal/stage
name: scala3-aarch64-apple-darwin
- name: Upload zip archive to GitHub Artifact (win x86-64)
uses: actions/upload-artifact@v4
id : win-x86_64
with:
path: ./dist/win-x86_64/target/universal/stage
name: scala3-x86_64-pc-win32
- name: Compute SHA256 of the uploaded artifact (win x86-64)
id : win-x86_64-digest
run : |
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -o artifact.zip -L https://api.github.com/repos/scala/scala3/actions/artifacts/${{ steps.win-x86_64.outputs.artifact-id }}/zip
echo "digest=$(sha256sum artifact.zip | cut -d " " -f 1)" >> "$GITHUB_OUTPUT"
Loading

0 comments on commit cda99d0

Please sign in to comment.