@@ -728,7 +728,7 @@ jobs:
728728
729729 publish_release :
730730 permissions :
731- contents : write # for actions/create-release to create a release
731+ contents : write # for GH CLI to create a release
732732 runs-on : [self-hosted, Linux]
733733 container :
734734 image : lampepfl/dotty:2024-10-18
@@ -770,6 +770,7 @@ jobs:
770770
771771 - name : Add SBT proxy repositories
772772 run : cp -vf .github/workflows/repositories /root/.sbt/ ; true
773+
773774 # Extract the release tag
774775 - name : Extract the release tag
775776 run : echo "RELEASE_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
@@ -828,311 +829,28 @@ jobs:
828829 mv scala.msi "${msiInstaller}"
829830 sha256sum "${msiInstaller}" > "${msiInstaller}.sha256"
830831
832+ - name : Install GH CLI
833+ uses :
dev-hanz-ops/[email protected] 834+ with :
835+ gh-cli-version : 2.59.0
836+
831837 # Create the GitHub release
832838 - name : Create GitHub Release
833- id : create_gh_release
834- uses : actions/create-release@latest
835839 env :
836840 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
837- with :
838- tag_name : ${{ github.ref }}
839- release_name : ${{ github.ref }}
840- body_path : ./changelogs/${{ env.RELEASE_TAG }}.md
841- draft : true
842- prerelease : ${{ contains(env.RELEASE_TAG, '-') }}
843-
844- # The following upload steps are generated using template:
845- # val baseFileName = "scala3-${{ env.RELEASE_TAG }}"
846- # def upload(kind: String, path: String, contentType: String, distribution: String) =
847- # s"""- name: Upload $kind to GitHub Release ($distribution)
848- # uses: actions/upload-release-asset@v1
849- # env:
850- # GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}
851- # with:
852- # upload_url: $${{ steps.create_gh_release.outputs.upload_url }}
853- # asset_path: ./${path}
854- # asset_name: ${path}
855- # asset_content_type: ${contentType}"""
856- # def uploadSDK(distribution: String, suffix: String) =
857- # val filename = s"${baseFileName}${suffix}"
858- # s"""
859- # # $distribution
860- # ${upload("zip archive", s"$filename.zip", "application/zip", distribution)}
861- # ${upload("zip archive SHA", s"$filename.zip.sha256", "text/plain", distribution)}
862- # ${upload("tar.gz archive", s"$filename.tar.gz", "application/gzip", distribution)}
863- # ${upload("tar.gz archive SHA", s"$filename.tar.gz.sha256", "text/plain", distribution)}
864- # """
865- # def uploadMSI() =
866- # val distribution = "Windows x86_64 MSI"
867- # s"""
868- # # $distribution
869- # ${upload(".msi file", s"${baseFileName}.msi", "application/x-msi", distribution)}
870- # ${upload(".msi file SHA", s"${baseFileName}.msi.sha256", "text/plain", distribution)}
871- # """
872- # @main def gen =
873- # Seq(
874- # uploadSDK("Universal", ""),
875- # uploadSDK("Linux x86-64", "-x86_64-pc-linux"),
876- # uploadSDK("Linux aarch64", "-aarch64-pc-linux"),
877- # uploadSDK("Mac x86-64", "-x86_64-apple-darwin"),
878- # uploadSDK("Mac aarch64", "-aarch64-apple-darwin"),
879- # uploadSDK("Windows x86_64", "-x86_64-pc-win32"),
880- # uploadMSI()
881- # ).foreach(println)
882-
883- # Universal
884- - name : Upload zip archive to GitHub Release (Universal)
885- uses : actions/upload-release-asset@v1
886- env :
887- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
888- with :
889- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
890- asset_path : ./scala3-${{ env.RELEASE_TAG }}.zip
891- asset_name : scala3-${{ env.RELEASE_TAG }}.zip
892- asset_content_type : application/zip
893- - name : Upload zip archive SHA to GitHub Release (Universal)
894- uses : actions/upload-release-asset@v1
895- env :
896- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
897- with :
898- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
899- asset_path : ./scala3-${{ env.RELEASE_TAG }}.zip.sha256
900- asset_name : scala3-${{ env.RELEASE_TAG }}.zip.sha256
901- asset_content_type : text/plain
902- - name : Upload tar.gz archive to GitHub Release (Universal)
903- uses : actions/upload-release-asset@v1
904- env :
905- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
906- with :
907- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
908- asset_path : ./scala3-${{ env.RELEASE_TAG }}.tar.gz
909- asset_name : scala3-${{ env.RELEASE_TAG }}.tar.gz
910- asset_content_type : application/gzip
911- - name : Upload tar.gz archive SHA to GitHub Release (Universal)
912- uses : actions/upload-release-asset@v1
913- env :
914- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
915- with :
916- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
917- asset_path : ./scala3-${{ env.RELEASE_TAG }}.tar.gz.sha256
918- asset_name : scala3-${{ env.RELEASE_TAG }}.tar.gz.sha256
919- asset_content_type : text/plain
920-
921-
922- # Linux x86-64
923- - name : Upload zip archive to GitHub Release (Linux x86-64)
924- uses : actions/upload-release-asset@v1
925- env :
926- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
927- with :
928- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
929- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip
930- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip
931- asset_content_type : application/zip
932- - name : Upload zip archive SHA to GitHub Release (Linux x86-64)
933- uses : actions/upload-release-asset@v1
934- env :
935- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
936- with :
937- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
938- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip.sha256
939- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip.sha256
940- asset_content_type : text/plain
941- - name : Upload tar.gz archive to GitHub Release (Linux x86-64)
942- uses : actions/upload-release-asset@v1
943- env :
944- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
945- with :
946- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
947- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz
948- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz
949- asset_content_type : application/gzip
950- - name : Upload tar.gz archive SHA to GitHub Release (Linux x86-64)
951- uses : actions/upload-release-asset@v1
952- env :
953- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
954- with :
955- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
956- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz.sha256
957- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz.sha256
958- asset_content_type : text/plain
959-
960-
961- # Linux aarch64
962- - name : Upload zip archive to GitHub Release (Linux aarch64)
963- uses : actions/upload-release-asset@v1
964- env :
965- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
966- with :
967- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
968- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip
969- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip
970- asset_content_type : application/zip
971- - name : Upload zip archive SHA to GitHub Release (Linux aarch64)
972- uses : actions/upload-release-asset@v1
973- env :
974- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
975- with :
976- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
977- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip.sha256
978- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip.sha256
979- asset_content_type : text/plain
980- - name : Upload tar.gz archive to GitHub Release (Linux aarch64)
981- uses : actions/upload-release-asset@v1
982- env :
983- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
984- with :
985- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
986- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz
987- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz
988- asset_content_type : application/gzip
989- - name : Upload tar.gz archive SHA to GitHub Release (Linux aarch64)
990- uses : actions/upload-release-asset@v1
991- env :
992- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
993- with :
994- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
995- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz.sha256
996- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz.sha256
997- asset_content_type : text/plain
998-
999-
1000- # Mac x86-64
1001- - name : Upload zip archive to GitHub Release (Mac x86-64)
1002- uses : actions/upload-release-asset@v1
1003- env :
1004- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1005- with :
1006- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1007- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip
1008- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip
1009- asset_content_type : application/zip
1010- - name : Upload zip archive SHA to GitHub Release (Mac x86-64)
1011- uses : actions/upload-release-asset@v1
1012- env :
1013- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1014- with :
1015- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1016- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip.sha256
1017- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip.sha256
1018- asset_content_type : text/plain
1019- - name : Upload tar.gz archive to GitHub Release (Mac x86-64)
1020- uses : actions/upload-release-asset@v1
1021- env :
1022- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1023- with :
1024- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1025- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz
1026- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz
1027- asset_content_type : application/gzip
1028- - name : Upload tar.gz archive SHA to GitHub Release (Mac x86-64)
1029- uses : actions/upload-release-asset@v1
1030- env :
1031- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1032- with :
1033- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1034- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz.sha256
1035- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz.sha256
1036- asset_content_type : text/plain
1037-
1038-
1039- # Mac aarch64
1040- - name : Upload zip archive to GitHub Release (Mac aarch64)
1041- uses : actions/upload-release-asset@v1
1042- env :
1043- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1044- with :
1045- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1046- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip
1047- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip
1048- asset_content_type : application/zip
1049- - name : Upload zip archive SHA to GitHub Release (Mac aarch64)
1050- uses : actions/upload-release-asset@v1
1051- env :
1052- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1053- with :
1054- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1055- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip.sha256
1056- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip.sha256
1057- asset_content_type : text/plain
1058- - name : Upload tar.gz archive to GitHub Release (Mac aarch64)
1059- uses : actions/upload-release-asset@v1
1060- env :
1061- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1062- with :
1063- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1064- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz
1065- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz
1066- asset_content_type : application/gzip
1067- - name : Upload tar.gz archive SHA to GitHub Release (Mac aarch64)
1068- uses : actions/upload-release-asset@v1
1069- env :
1070- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1071- with :
1072- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1073- asset_path : ./scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz.sha256
1074- asset_name : scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz.sha256
1075- asset_content_type : text/plain
1076-
1077-
1078- # Windows x86_64
1079- - name : Upload zip archive to GitHub Release (Windows x86_64)
1080- uses : actions/upload-release-asset@v1
1081- env :
1082- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1083- with :
1084- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1085- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip
1086- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip
1087- asset_content_type : application/zip
1088- - name : Upload zip archive SHA to GitHub Release (Windows x86_64)
1089- uses : actions/upload-release-asset@v1
1090- env :
1091- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1092- with :
1093- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1094- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip.sha256
1095- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip.sha256
1096- asset_content_type : text/plain
1097- - name : Upload tar.gz archive to GitHub Release (Windows x86_64)
1098- uses : actions/upload-release-asset@v1
1099- env :
1100- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1101- with :
1102- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1103- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz
1104- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz
1105- asset_content_type : application/gzip
1106- - name : Upload tar.gz archive SHA to GitHub Release (Windows x86_64)
1107- uses : actions/upload-release-asset@v1
1108- env :
1109- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1110- with :
1111- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1112- asset_path : ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz.sha256
1113- asset_name : scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz.sha256
1114- asset_content_type : text/plain
1115-
1116-
1117- # Windows x86_64 MSI
1118- - name : Upload .msi file to GitHub Release (Windows x86_64 MSI)
1119- uses : actions/upload-release-asset@v1
1120- env :
1121- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1122- with :
1123- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1124- asset_path : ./scala3-${{ env.RELEASE_TAG }}.msi
1125- asset_name : scala3-${{ env.RELEASE_TAG }}.msi
1126- asset_content_type : application/x-msi
1127- - name : Upload .msi file SHA to GitHub Release (Windows x86_64 MSI)
1128- uses : actions/upload-release-asset@v1
1129- env :
1130- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1131- with :
1132- upload_url : ${{ steps.create_gh_release.outputs.upload_url }}
1133- asset_path : ./scala3-${{ env.RELEASE_TAG }}.msi.sha256
1134- asset_name : scala3-${{ env.RELEASE_TAG }}.msi.sha256
1135- asset_content_type : text/plain
841+ shell : bash
842+ run : |
843+ gh release create \
844+ --draft \
845+ --title "${{ env.RELEASE_TAG }}" \
846+ --notes-file ./changelogs/${{ env.RELEASE_TAG }}.md \
847+ --latest=${{ !contains(env.RELEASE_TAG, '-RC') }} \
848+ --prerelease=${{ contains(env.RELEASE_TAG, '-RC') }} \
849+ --verify-tag ${{ env.RELEASE_TAG }} \
850+ scala3-${{ env.RELEASE_TAG }}*.zip \
851+ scala3-${{ env.RELEASE_TAG }}*.tar.gz \
852+ scala3-${{ env.RELEASE_TAG }}*.sha256 \
853+ scala3-${{ env.RELEASE_TAG }}.msi
1136854
1137855 - name : Publish Release
1138856 run : ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonatypeBundleUpload"
0 commit comments