Skip to content

Commit e931c0f

Browse files
[CI]: Replace deprecated actions/create-release and actions/upload-release-assert actions (#22176)
Both of these actions were archived in 2021. In the future they're going to fail, due to deprecation of `set-output` command in GitHub actions. We replace their usage with a single `gh release create` command. It also allows us to simplify the workflow [skip ci]
1 parent 1270d13 commit e931c0f

File tree

1 file changed

+23
-302
lines changed

1 file changed

+23
-302
lines changed

.github/workflows/ci.yaml

+23-302
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,7 @@ jobs:
736736

737737
publish_release:
738738
permissions:
739-
contents: write # for actions/create-release to create a release
739+
contents: write # for GH CLI to create a release
740740
runs-on: [self-hosted, Linux]
741741
container:
742742
image: lampepfl/dotty:2024-10-18
@@ -778,6 +778,7 @@ jobs:
778778

779779
- name: Add SBT proxy repositories
780780
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
781+
781782
# Extract the release tag
782783
- name: Extract the release tag
783784
run : echo "RELEASE_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
@@ -830,311 +831,31 @@ jobs:
830831
mv scala.msi "${msiInstaller}"
831832
sha256sum "${msiInstaller}" > "${msiInstaller}.sha256"
832833
834+
- name: Install GH CLI
835+
uses: dev-hanz-ops/[email protected]
836+
with:
837+
gh-cli-version: 2.59.0
838+
833839
# Create the GitHub release
834840
- name: Create GitHub Release
835-
id: create_gh_release
836-
uses: actions/create-release@latest
837841
env:
838842
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
1138859
1139860
- name: Publish Release
1140861
run: ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonatypeBundleUpload"

0 commit comments

Comments
 (0)