|
22 | 22 | - 'lts-**' |
23 | 23 | pull_request: |
24 | 24 | merge_group: |
25 | | - schedule: |
26 | | - - cron: '0 3 * * *' # Every day at 3 AM |
27 | 25 | workflow_dispatch: |
28 | 26 |
|
29 | 27 | # Cancels any in-progress runs within the same group identified by workflow name and GH reference (branch or tag) |
@@ -159,59 +157,6 @@ jobs: |
159 | 157 | run: | |
160 | 158 | ./project/scripts/sbt ";sjsSandbox/run ;sjsSandbox/test ;sjsJUnitTests/test ;set sjsJUnitTests/scalaJSLinkerConfig ~= switchToESModules ;sjsJUnitTests/test ;sjsCompilerTests/test" |
161 | 159 |
|
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 | | - |
215 | 160 | test_windows_fast: |
216 | 161 | runs-on: [self-hosted, Windows] |
217 | 162 | if: "( |
@@ -336,12 +281,7 @@ jobs: |
336 | 281 |
|
337 | 282 | - name: MiMa |
338 | 283 | 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 |
| 284 | + ./project/scripts/sbt ";scala3-interfaces/mimaReportBinaryIssues ;scala3-library-bootstrapped/mimaReportBinaryIssues ;scala3-library-bootstrappedJS/mimaReportBinaryIssues; tasty-core-bootstrapped/mimaReportBinaryIssues;" |
345 | 285 |
|
346 | 286 | community_build_a: |
347 | 287 | runs-on: [self-hosted, Linux] |
@@ -619,128 +559,6 @@ jobs: |
619 | 559 | run: | |
620 | 560 | ./project/scripts/sbt ";sjsSandbox/run ;sjsSandbox/test ;sjsJUnitTests/test ;set sjsJUnitTests/scalaJSLinkerConfig ~= switchToESModules ;sjsJUnitTests/test ;sjsCompilerTests/test" |
621 | 561 |
|
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 | | - |
744 | 562 | publish_release: |
745 | 563 | permissions: |
746 | 564 | contents: write # for GH CLI to create a release |
@@ -867,27 +685,6 @@ jobs: |
867 | 685 | - name: Publish Release |
868 | 686 | run: ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonaUpload" |
869 | 687 |
|
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 | | - |
891 | 688 | build-msi-package: |
892 | 689 | uses: ./.github/workflows/build-msi.yml |
893 | 690 | if : |
|
0 commit comments