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