diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8fc1f23..e446355 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -6,7 +6,7 @@ on: branches: - main jobs: - job1: + linux: runs-on: ubuntu-latest steps: - name: Check out repository @@ -15,7 +15,7 @@ jobs: run: $GITHUB_WORKSPACE/dotnet.cmd --version - name: Test script java.cmd run: $GITHUB_WORKSPACE/java.cmd --version - job2: + macos: runs-on: macos-latest steps: - name: Check out repository @@ -24,7 +24,7 @@ jobs: run: $GITHUB_WORKSPACE/dotnet.cmd --version - name : Test script java.cmd run: $GITHUB_WORKSPACE/java.cmd --version - job3: + windows: runs-on: windows-latest steps: - name: Check out repository diff --git a/dotnet.cmd b/dotnet.cmd index 85a2c64..ae7ffa7 100755 --- a/dotnet.cmd +++ b/dotnet.cmd @@ -5,6 +5,7 @@ GOTO :CMDSCRIPT set -eu +DOTNET_VERSION=7.0.404 SCRIPT_VERSION=dotnet-cmd-v2 COMPANY_DIR="Mikhail Filippov" TARGET_DIR="${TEMPDIR:-$HOME/.local/share}/$COMPANY_DIR/dotnet-cmd" @@ -37,57 +38,34 @@ is_linux_musl () { case $(uname) in Darwin) - DOTNET_ARCH=$(uname -m) + DOTNET_OS=osx + UNAME_ARCH=$(uname -m) if ! $KEEP_ROSETTA2 && [ "$(sysctl -n sysctl.proc_translated 2>/dev/null || true)" = "1" ]; then DOTNET_ARCH=arm64 fi - case $DOTNET_ARCH in - arm64) - DOTNET_HASH_URL=fc7ed56d-3afe-4aa6-81bb-b4b0f5df56b5/d199f43f7421c6677ba25544b442b6b7 - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-osx-arm64 - ;; - x86_64) - DOTNET_HASH_URL=34ce4803-1444-48a2-9955-e2a9b9061b03/e18c978b55226240ca037cf8b1770064 - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-osx-x64 - ;; - *) echo "Unknown architecture $DOTNET_ARCH" >&2; exit 1;; + case $UNAME_ARCH in + arm64) DOTNET_ARCH=arm64;; + x86_64) DOTNET_ARCH=x64;; + *) echo "Unknown architecture $UNAME_ARCH" >&2; exit 1;; esac;; Linux) - DOTNET_ARCH=$(linux$(getconf LONG_BIT) uname -m) - case $DOTNET_ARCH in - armv7l | armv8l) - if is_linux_musl; then - DOTNET_HASH_URL=cb66972b-75fe-4e91-8a06-ddaf1d7e882b/fd04b081250aa6b40fad8319c7224390 - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-musl-arm - else - DOTNET_HASH_URL=773e201f-00f3-4de2-beb7-698d9c72f4b7/4c1de128cb18198e1b9bf30902c665bc - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-arm - fi - ;; - aarch64) - if is_linux_musl; then - DOTNET_HASH_URL=4e8faf53-6f5e-452a-a993-fbb90ab25ad1/f64b041fd3bf3c0e9b2f3c6b0ed887e5 - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-musl-arm64 - else - DOTNET_HASH_URL=142603ad-0df5-4aef-bdc2-87b6140c90ed/2cce467e6c954d01024942b8370aaf70 - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-arm64 - fi - ;; - x86_64) - if is_linux_musl; then - DOTNET_HASH_URL=6b06ee15-ac63-4b8a-9bae-49453e258687/536a27d0c3a990757590dfc9f7e617ba - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-musl-x64 - else - DOTNET_HASH_URL=351400ef-f2e6-4ee7-9d1b-4c246231a065/9f7826270fb36ada1bdb9e14bc8b5123 - DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-x64 - fi - ;; - *) echo "Unknown architecture $DOTNET_ARCH" >&2; exit 1;; + if is_linux_musl; then + DOTNET_OS=linux-musl + else + DOTNET_OS=linux + fi + UNAME_ARCH=$(linux$(getconf LONG_BIT) uname -m) + case $UNAME_ARCH in + armv7l | armv8l) DOTNET_ARCH=arm;; + aarch64) DOTNET_ARCH=arm64;; + x86_64) DOTNET_ARCH=x64;; + *) echo "Unknown architecture $UNAME_ARCH" >&2; exit 1;; esac;; *) echo "Unknown platform: $(uname)" >&2; exit 1;; esac -DOTNET_URL=https://cache-redirector.jetbrains.com/download.visualstudio.microsoft.com/download/pr/$DOTNET_HASH_URL/$DOTNET_FILE_NAME.tar.gz +DOTNET_FILE_NAME=dotnet-sdk-$DOTNET_VERSION-$DOTNET_OS-$DOTNET_ARCH +DOTNET_URL=https://dotnetcli.azureedge.net/dotnet/Sdk/$DOTNET_VERSION/$DOTNET_FILE_NAME.tar.gz DOTNET_TARGET_DIR=$TARGET_DIR/$DOTNET_FILE_NAME-$SCRIPT_VERSION DOTNET_TEMP_FILE=$TARGET_DIR/dotnet-sdk-temp.tar.gz @@ -161,6 +139,7 @@ exec "$DOTNET_TARGET_DIR/dotnet" "$@" :CMDSCRIPT setlocal +set DOTNET_VERSION=7.0.404 set SCRIPT_VERSION=v2 set COMPANY_NAME=Mikhail Filippov set TARGET_DIR=%LOCALAPPDATA%\%COMPANY_NAME%\dotnet-cmd\ @@ -168,18 +147,15 @@ set TARGET_DIR=%LOCALAPPDATA%\%COMPANY_NAME%\dotnet-cmd\ for /f "tokens=3 delims= " %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PROCESSOR_ARCHITECTURE"') do set ARCH=%%a if "%ARCH%"=="ARM64" ( - set DOTNET_HASH_URL=3a8c2602-3e5f-44ff-9a1a-4dcac7718051/4309ff475d8771e740baf514a66c7d38 - set DOTNET_FILE_NAME=dotnet-sdk-7.0.302-win-arm64 + set DOTNET_ARCH=arm64 ) else ( if "%ARCH%"=="AMD64" ( - set DOTNET_HASH_URL=c973fb82-ecba-4bcc-b1cc-443d817b9472/f4426b15af724f4baf31a50d204d1ca7 - set DOTNET_FILE_NAME=dotnet-sdk-7.0.302-win-x64 + set DOTNET_ARCH=x64 ) else ( if "%ARCH%"=="x86" ( - set DOTNET_HASH_URL=823b3ed8-9078-41f5-8ba9-176aabb67866/6cff5b428cfe5b7535c827ebed8283a1 - set DOTNET_FILE_NAME=dotnet-sdk-7.0.302-win-x86 + set DOTNET_ARCH=x86 ) else ( echo Unknown Windows architecture @@ -187,7 +163,8 @@ goto fail ))) -set DOTNET_URL=https://cache-redirector.jetbrains.com/download.visualstudio.microsoft.com/download/pr/%DOTNET_HASH_URL%/%DOTNET_FILE_NAME%.zip +set DOTNET_FILE_NAME=dotnet-sdk-%DOTNET_VERSION%-win-%DOTNET_ARCH% +set DOTNET_URL=https://dotnetcli.azureedge.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_FILE_NAME%.zip set DOTNET_TARGET_DIR=%TARGET_DIR%%DOTNET_FILE_NAME%-%SCRIPT_VERSION%\ set DOTNET_TEMP_FILE=%TARGET_DIR%dotnet-sdk-temp.zip