Skip to content

Commit

Permalink
Merge branch 'release-3.5.0' into language-reference-stable
Browse files Browse the repository at this point in the history
  • Loading branch information
WojciechMazur committed Aug 21, 2024
2 parents 3c29355 + 9da1ae8 commit 7513ab5
Show file tree
Hide file tree
Showing 1,437 changed files with 34,867 additions and 9,066 deletions.
25 changes: 25 additions & 0 deletions .github/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM ubuntu:22.04

# The default locale is "POSIX" which is just ASCII.
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
ENV TZ Europe/Zurich

# Add packages to image, set default JDK version
RUN apt-get update && \
apt-get upgrade -y && \
# Use a PPA to get Java 17
apt-get install -y software-properties-common && add-apt-repository ppa:openjdk-r/ppa && \
apt-get install -y bash curl git ssh htop nano vim-tiny zile \
openjdk-8-jdk-headless \
openjdk-17-jdk-headless \
openjdk-21-jdk-headless && \
(curl -fsSL https://deb.nodesource.com/setup_18.x | bash -) && \
apt-get install -y nodejs


# Install sbt
ENV SBT_HOME /usr/local/sbt
ENV PATH ${SBT_HOME}/bin:${PATH}
ENV SBT_VERSION 1.9.0
RUN curl -sL "https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz" | gunzip | tar -x -C /usr/local
9 changes: 6 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
version: 2
updates:

- package-ecosystem: "github-actions"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: "weekly"
interval: weekly
assignees:
- hamzaremmal
reviewers:
- hamzaremmal
206 changes: 192 additions & 14 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,8 @@ jobs:

- name: Cmd Tests
run: |
./project/scripts/sbt ";dist/pack; scala3-bootstrapped/compile; scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/*; scala3-compiler-bootstrapped/scala3CompilerCoursierTest:test"
./project/scripts/buildScalaBinary
./project/scripts/sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/* ;scala3-compiler-bootstrapped/scala3CompilerCoursierTest:test"
./project/scripts/cmdTests
./project/scripts/bootstrappedOnlyCmdTests
Expand Down Expand Up @@ -230,7 +231,7 @@ jobs:
shell: cmd

- name: build binary
run: sbt "dist/pack" & bash -version
run: sbt "dist-win-x86_64/pack" & bash -version
shell: cmd

- name: cygwin tests
Expand Down Expand Up @@ -269,8 +270,12 @@ jobs:
- name: Git Checkout
uses: actions/checkout@v4

- name: build binary
run: sbt "dist-win-x86_64/pack"
shell: cmd

- name: Test
run: sbt ";dist/pack ;scala3-bootstrapped/compile ;scala3-bootstrapped/test"
run: sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test"
shell: cmd

- name: Scala.js Test
Expand Down Expand Up @@ -596,7 +601,8 @@ jobs:

- name: Test
run: |
./project/scripts/sbt ";dist/pack ;scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/*"
./project/scripts/buildScalaBinary
./project/scripts/sbt ";scala3-bootstrapped/compile ;scala3-bootstrapped/test ;sbt-test/scripted scala2-compat/*"
./project/scripts/cmdTests
./project/scripts/bootstrappedOnlyCmdTests
Expand All @@ -613,6 +619,9 @@ jobs:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
- ${{ github.workspace }}/../../cache/general:/root/.cache
strategy:
matrix:
branch: [main, lts-3.3]
needs: [test_non_bootstrapped, test, mima, community_build_a, community_build_b, community_build_c, test_sbt, test_java8]
if: "(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.repository == 'scala/scala3'"
env:
Expand Down Expand Up @@ -641,6 +650,8 @@ jobs:

- name: Git Checkout
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}

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

- name: Add SBT proxy repositories
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true

- name: Prepare Release
run: |
# Extract the release tag
- name: Extract the release tag
run : echo "RELEASE_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
# BUILD THE SDKs
- name: Build and pack the SDK (universal)
run : |
./project/scripts/sbt dist/packArchive
sha256sum dist/target/scala3-* > dist/target/sha256sum.txt
echo "RELEASE_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
- name: Build and pack the SDK (linux x86-64)
run : |
./project/scripts/sbt dist-linux-x86_64/packArchive
sha256sum dist/linux-x86_64/target/scala3-* > dist/linux-x86_64/target/sha256sum.txt
- name: Build and pack the SDK (linux aarch64)
run : |
./project/scripts/sbt dist-linux-aarch64/packArchive
sha256sum dist/linux-aarch64/target/scala3-* > dist/linux-aarch64/target/sha256sum.txt
- name: Build and pack the SDK (mac x86-64)
run : |
./project/scripts/sbt dist-mac-x86_64/packArchive
sha256sum dist/mac-x86_64/target/scala3-* > dist/mac-x86_64/target/sha256sum.txt
- name: Build and pack the SDK (mac aarch64)
run : |
./project/scripts/sbt dist-mac-aarch64/packArchive
sha256sum dist/mac-aarch64/target/scala3-* > dist/mac-aarch64/target/sha256sum.txt
- name: Build and pack the SDK (win x86-64)
run : |
./project/scripts/sbt dist-win-x86_64/packArchive
sha256sum dist/win-x86_64/target/scala3-* > dist/win-x86_64/target/sha256sum.txt
# Create the GitHub release
- name: Create GitHub Release
id: create_gh_release
uses: actions/create-release@latest
Expand All @@ -777,7 +810,7 @@ jobs:
draft: true
prerelease: ${{ contains(env.RELEASE_TAG, '-') }}

- name: Upload zip archive to GitHub Release
- name: Upload zip archive to GitHub Release (universal)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -786,8 +819,7 @@ jobs:
asset_path: ./dist/target/scala3-${{ env.RELEASE_TAG }}.zip
asset_name: scala3-${{ env.RELEASE_TAG }}.zip
asset_content_type: application/zip

- name: Upload tar.gz archive to GitHub Release
- name: Upload tar.gz archive to GitHub Release (universal)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -797,7 +829,103 @@ jobs:
asset_name: scala3-${{ env.RELEASE_TAG }}.tar.gz
asset_content_type: application/gzip

- name: Upload SHA256 sum of the release artefacts to GitHub Release
- name: Upload zip archive to GitHub Release (linux x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/linux-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip
asset_content_type: application/zip
- name: Upload tar.gz archive to GitHub Release (linux x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/linux-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz
asset_content_type: application/gzip

- name: Upload zip archive to GitHub Release (linux aarch64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/linux-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip
asset_content_type: application/zip
- name: Upload tar.gz archive to GitHub Release (linux aarch64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/linux-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz
asset_content_type: application/gzip

- name: Upload zip archive to GitHub Release (mac x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/mac-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip
asset_content_type: application/zip
- name: Upload tar.gz archive to GitHub Release (mac x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/mac-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz
asset_content_type: application/gzip

- name: Upload zip archive to GitHub Release (mac aarch64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/mac-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip
asset_content_type: application/zip
- name: Upload tar.gz archive to GitHub Release (mac aarch64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/mac-aarch64/target/scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz
asset_content_type: application/gzip

- name: Upload zip archive to GitHub Release (win x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/win-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip
asset_content_type: application/zip
- name: Upload tar.gz archive to GitHub Release (win x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/win-x86_64/target/scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz
asset_content_type: application/gzip


- name: Upload SHA256 sum of the release artefacts to GitHub Release (universal)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -807,6 +935,56 @@ jobs:
asset_name: sha256sum.txt
asset_content_type: text/plain

- name: Upload SHA256 sum of the release artefacts to GitHub Release (linux x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/linux-x86_64/target/sha256sum.txt
asset_name: sha256sum-x86_64-pc-linux.txt
asset_content_type: text/plain

- name: Upload SHA256 sum of the release artefacts to GitHub Release (linux aarch64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/linux-aarch64/target/sha256sum.txt
asset_name: sha256sum-aarch64-pc-linux.txt
asset_content_type: text/plain

- name: Upload SHA256 sum of the release artefacts to GitHub Release (mac x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/mac-x86_64/target/sha256sum.txt
asset_name: sha256sum-x86_64-apple-darwin.txt
asset_content_type: text/plain

- name: Upload SHA256 sum of the release artefacts to GitHub Release (mac aarch64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/mac-aarch64/target/sha256sum.txt
asset_name: sha256sum-aarch64-apple-darwin.txt
asset_content_type: text/plain

- name: Upload SHA256 sum of the release artefacts to GitHub Release (win x86-64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./dist/win-x86_64/target/sha256sum.txt
asset_name: sha256sum-x86_64-pc-win32.txt
asset_content_type: text/plain

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

Expand Down
Loading

0 comments on commit 7513ab5

Please sign in to comment.