Skip to content

Commit

Permalink
Replace deprecated actions/create-release and `actions/upload-relea…
Browse files Browse the repository at this point in the history
…se-asset` with `gh release create` command
  • Loading branch information
WojciechMazur committed Dec 9, 2024
1 parent c61897d commit 83b580b
Showing 1 changed file with 13 additions and 303 deletions.
316 changes: 13 additions & 303 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -838,309 +838,19 @@ jobs:
# Create the GitHub release
- name: Create GitHub Release
id: create_gh_release
uses: actions/create-release@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body_path: ./changelogs/${{ env.RELEASE_TAG }}.md
draft: true
prerelease: ${{ contains(env.RELEASE_TAG, '-') }}

# The following upload steps are generated using template:
# val baseFileName = "scala3-${{ env.RELEASE_TAG }}"
# def upload(kind: String, path: String, contentType: String, distribution: String) =
# s"""- name: Upload $kind to GitHub Release ($distribution)
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: $${{ steps.create_gh_release.outputs.upload_url }}
# asset_path: ./${path}
# asset_name: ${path}
# asset_content_type: ${contentType}"""
# def uploadSDK(distribution: String, suffix: String) =
# val filename = s"${baseFileName}${suffix}"
# s"""
# # $distribution
# ${upload("zip archive", s"$filename.zip", "application/zip", distribution)}
# ${upload("zip archive SHA", s"$filename.zip.sha256", "text/plain", distribution)}
# ${upload("tar.gz archive", s"$filename.tar.gz", "application/gzip", distribution)}
# ${upload("tar.gz archive SHA", s"$filename.tar.gz.sha256", "text/plain", distribution)}
# """
# def uploadMSI() =
# val distribution = "Windows x86_64 MSI"
# s"""
# # $distribution
# ${upload(".msi file", s"${baseFileName}.msi", "application/x-msi", distribution)}
# ${upload(".msi file SHA", s"${baseFileName}.msi.sha256", "text/plain", distribution)}
# """
# @main def gen =
# Seq(
# uploadSDK("Universal", ""),
# uploadSDK("Linux x86-64", "-x86_64-pc-linux"),
# uploadSDK("Linux aarch64", "-aarch64-pc-linux"),
# uploadSDK("Mac x86-64", "-x86_64-apple-darwin"),
# uploadSDK("Mac aarch64", "-aarch64-apple-darwin"),
# uploadSDK("Windows x86_64", "-x86_64-pc-win32"),
# uploadMSI()
# ).foreach(println)

# Universal
- name: Upload zip archive to GitHub Release (Universal)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./scala3-${{ env.RELEASE_TAG }}.zip
asset_name: scala3-${{ env.RELEASE_TAG }}.zip
asset_content_type: application/zip
- name: Upload zip archive SHA to GitHub Release (Universal)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./scala3-${{ env.RELEASE_TAG }}.zip.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}.zip.sha256
asset_content_type: text/plain
- name: Upload tar.gz archive to GitHub Release (Universal)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./scala3-${{ env.RELEASE_TAG }}.tar.gz
asset_name: scala3-${{ env.RELEASE_TAG }}.tar.gz
asset_content_type: application/gzip
- name: Upload tar.gz archive SHA to GitHub Release (Universal)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./scala3-${{ env.RELEASE_TAG }}.tar.gz.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}.tar.gz.sha256
asset_content_type: text/plain


# Linux x86-64
- 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: ./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 zip archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.zip.sha256
asset_content_type: text/plain
- 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: ./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 tar.gz archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-linux.tar.gz.sha256
asset_content_type: text/plain


# Linux aarch64
- 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: ./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 zip archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.zip.sha256
asset_content_type: text/plain
- 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: ./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 tar.gz archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-pc-linux.tar.gz.sha256
asset_content_type: text/plain


# Mac x86-64
- 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: ./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 zip archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.zip.sha256
asset_content_type: text/plain
- 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: ./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 tar.gz archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-apple-darwin.tar.gz.sha256
asset_content_type: text/plain


# Mac aarch64
- 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: ./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 zip archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.zip.sha256
asset_content_type: text/plain
- 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: ./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 tar.gz archive SHA 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: ./scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-aarch64-apple-darwin.tar.gz.sha256
asset_content_type: text/plain


# Windows x86_64
- name: Upload zip archive to GitHub Release (Windows 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: ./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 zip archive SHA to GitHub Release (Windows 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: ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.zip.sha256
asset_content_type: text/plain
- name: Upload tar.gz archive to GitHub Release (Windows 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: ./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 tar.gz archive SHA to GitHub Release (Windows 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: ./scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}-x86_64-pc-win32.tar.gz.sha256
asset_content_type: text/plain


# Windows x86_64 MSI
- name: Upload .msi file to GitHub Release (Windows x86_64 MSI)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./scala3-${{ env.RELEASE_TAG }}.msi
asset_name: scala3-${{ env.RELEASE_TAG }}.msi
asset_content_type: application/x-msi
- name: Upload .msi file SHA to GitHub Release (Windows x86_64 MSI)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_gh_release.outputs.upload_url }}
asset_path: ./scala3-${{ env.RELEASE_TAG }}.msi.sha256
asset_name: scala3-${{ env.RELEASE_TAG }}.msi.sha256
asset_content_type: text/plain
shell: bash
run: |
gh release create \
--draft \
--title "${{ env.RELEASE_TAG }}" \
--notes-file ./changelogs/${{ env.RELEASE_TAG }}.md \
--latest=${{ !contains(env.RELEASE_TAG, '-RC') }} \
--prerelease=${{ contains(env.RELEASE_TAG, '-RC') }} \
--verify-tag ${{ env.RELEASE_TAG }} \
scala3-${{ env.RELEASE_TAG }}*.zip \
scala3-${{ env.RELEASE_TAG }}*.tar.gz \
scala3-${{ env.RELEASE_TAG }}*.sha256 \
scala3-${{ env.RELEASE_TAG }}.msi
- name: Publish Release
run: ./project/scripts/sbtPublish ";project scala3-bootstrapped ;publishSigned ;sonatypeBundleUpload"
Expand Down

0 comments on commit 83b580b

Please sign in to comment.