You've already forked setup-dotnet
mirror of
https://github.com/actions/setup-dotnet.git
synced 2025-10-12 22:41:29 +07:00
Compare commits
3 Commits
newcdn
...
Dependabot
Author | SHA1 | Date | |
---|---|---|---|
13be569c2a | |||
628f2a72df | |||
87b7050bc5 |
22
.github/dependabot.yml
vendored
Normal file
22
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# package ecosystems to update and where the package manifests are located.
|
||||||
|
# Please see the documentation for all configuration options:
|
||||||
|
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
# Enable version updates for npm
|
||||||
|
- package-ecosystem: 'npm'
|
||||||
|
# Look for `package.json` and `lock` files in the `root` directory
|
||||||
|
directory: '/'
|
||||||
|
# Check the npm registry for updates every day (weekdays)
|
||||||
|
schedule:
|
||||||
|
interval: 'weekly'
|
||||||
|
|
||||||
|
# Enable version updates for GitHub Actions
|
||||||
|
- package-ecosystem: 'github-actions'
|
||||||
|
# Workflow files stored in the default location of `.github/workflows`
|
||||||
|
# You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
|
||||||
|
directory: '/'
|
||||||
|
schedule:
|
||||||
|
interval: 'weekly'
|
11
dist/setup/index.js
vendored
11
dist/setup/index.js
vendored
@ -93806,7 +93806,13 @@ class DotnetVersionResolver {
|
|||||||
allowRetries: true,
|
allowRetries: true,
|
||||||
maxRetries: 3
|
maxRetries: 3
|
||||||
});
|
});
|
||||||
const response = yield httpClient.getJson(DotnetVersionResolver.DotnetCoreIndexUrl);
|
let response;
|
||||||
|
try {
|
||||||
|
response = yield httpClient.getJson(DotnetVersionResolver.DotnetCoreIndexUrl);
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
response = yield httpClient.getJson(DotnetVersionResolver.DotnetCoreIndexFallbackUrl);
|
||||||
|
}
|
||||||
const result = response.result || {};
|
const result = response.result || {};
|
||||||
const releasesInfo = result['releases-index'];
|
const releasesInfo = result['releases-index'];
|
||||||
const releaseInfo = releasesInfo.find(info => {
|
const releaseInfo = releasesInfo.find(info => {
|
||||||
@ -93821,7 +93827,8 @@ class DotnetVersionResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.DotnetVersionResolver = DotnetVersionResolver;
|
exports.DotnetVersionResolver = DotnetVersionResolver;
|
||||||
DotnetVersionResolver.DotnetCoreIndexUrl = 'https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json';
|
DotnetVersionResolver.DotnetCoreIndexUrl = 'https://builds.dotnet.microsoft.com/dotnet/release-metadata/releases-index.json';
|
||||||
|
DotnetVersionResolver.DotnetCoreIndexFallbackUrl = 'https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json';
|
||||||
class DotnetInstallScript {
|
class DotnetInstallScript {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.scriptName = utils_1.IS_WINDOWS ? 'install-dotnet.ps1' : 'install-dotnet.sh';
|
this.scriptName = utils_1.IS_WINDOWS ? 'install-dotnet.ps1' : 'install-dotnet.sh';
|
||||||
|
3208
externals/install-dotnet.ps1
vendored
3208
externals/install-dotnet.ps1
vendored
File diff suppressed because it is too large
Load Diff
87
externals/install-dotnet.sh
vendored
87
externals/install-dotnet.sh
vendored
@ -1272,6 +1272,61 @@ downloadwget() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extract_stem() {
|
||||||
|
local url="$1"
|
||||||
|
# extract the protocol
|
||||||
|
proto="$(echo $1 | grep :// | sed -e's,^\(.*://\).*,\1,g')"
|
||||||
|
# remove the protocol
|
||||||
|
url="${1/$proto/}"
|
||||||
|
# extract the path (if any) - since we know all of our feeds have a first path segment, we can skip the first one. otherwise we'd use -f2- to get the full path
|
||||||
|
full_path="$(echo $url | grep / | cut -d/ -f2-)"
|
||||||
|
path="$(echo $full_path | cut -d/ -f2-)"
|
||||||
|
echo $path
|
||||||
|
}
|
||||||
|
|
||||||
|
check_url_exists() {
|
||||||
|
eval $invocation
|
||||||
|
local url="$1"
|
||||||
|
|
||||||
|
local code=""
|
||||||
|
if machine_has "curl"
|
||||||
|
then
|
||||||
|
code=$(curl --head -o /dev/null -w "%{http_code}" -s --fail "$url");
|
||||||
|
elif machine_has "wget"
|
||||||
|
then
|
||||||
|
# get the http response, grab the status code
|
||||||
|
server_response=$(wget -qO- --method=HEAD --server-response "$url" 2>&1)
|
||||||
|
code=$(echo "$server_response" | grep "HTTP/" | awk '{print $2}')
|
||||||
|
fi
|
||||||
|
if [ $code = "200" ]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
sanitize_redirect_url() {
|
||||||
|
eval $invocation
|
||||||
|
|
||||||
|
local url_stem
|
||||||
|
url_stem=$(extract_stem "$1")
|
||||||
|
say_verbose "Checking configured feeds for the asset at ${yellow:-}$url_stem${normal:-}"
|
||||||
|
|
||||||
|
for feed in "${feeds[@]}"
|
||||||
|
do
|
||||||
|
local trial_url="$feed/$url_stem"
|
||||||
|
say_verbose "Checking ${yellow:-}$trial_url${normal:-}"
|
||||||
|
if check_url_exists "$trial_url"; then
|
||||||
|
say_verbose "Found a match at ${yellow:-}$trial_url${normal:-}"
|
||||||
|
echo "$trial_url"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
say_verbose "No match at ${yellow:-}$trial_url${normal:-}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
get_download_link_from_aka_ms() {
|
get_download_link_from_aka_ms() {
|
||||||
eval $invocation
|
eval $invocation
|
||||||
|
|
||||||
@ -1324,6 +1379,11 @@ get_download_link_from_aka_ms() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
sanitized_redirect_url=$(sanitize_redirect_url "$aka_ms_download_link")
|
||||||
|
if [[ -n "$sanitized_redirect_url" ]]; then
|
||||||
|
aka_ms_download_link="$sanitized_redirect_url"
|
||||||
|
fi
|
||||||
|
|
||||||
say_verbose "The redirect location retrieved: '$aka_ms_download_link'."
|
say_verbose "The redirect location retrieved: '$aka_ms_download_link'."
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
@ -1335,23 +1395,16 @@ get_download_link_from_aka_ms() {
|
|||||||
get_feeds_to_use()
|
get_feeds_to_use()
|
||||||
{
|
{
|
||||||
feeds=(
|
feeds=(
|
||||||
"https://dotnetcli.azureedge.net/dotnet"
|
"https://builds.dotnet.microsoft.com/dotnet"
|
||||||
"https://dotnetbuilds.azureedge.net/public"
|
"https://ci.dot.net/public"
|
||||||
)
|
)
|
||||||
|
|
||||||
if [[ -n "$azure_feed" ]]; then
|
if [[ -n "$azure_feed" ]]; then
|
||||||
feeds=("$azure_feed")
|
feeds=("$azure_feed")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$no_cdn" == "true" ]]; then
|
if [[ -n "$uncached_feed" ]]; then
|
||||||
feeds=(
|
feeds=("$uncached_feed")
|
||||||
"https://dotnetcli.blob.core.windows.net/dotnet"
|
|
||||||
"https://dotnetbuilds.blob.core.windows.net/public"
|
|
||||||
)
|
|
||||||
|
|
||||||
if [[ -n "$uncached_feed" ]]; then
|
|
||||||
feeds=("$uncached_feed")
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1483,7 +1536,7 @@ generate_regular_links() {
|
|||||||
link_types+=("legacy")
|
link_types+=("legacy")
|
||||||
else
|
else
|
||||||
legacy_download_link=""
|
legacy_download_link=""
|
||||||
say_verbose "Cound not construct a legacy_download_link; omitting..."
|
say_verbose "Could not construct a legacy_download_link; omitting..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if the SDK version is already installed.
|
# Check if the SDK version is already installed.
|
||||||
@ -1586,7 +1639,7 @@ install_dotnet() {
|
|||||||
say "The resource at $link_type link '$download_link' is not available."
|
say "The resource at $link_type link '$download_link' is not available."
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
say "Failed to download $link_type link '$download_link': $download_error_msg"
|
say "Failed to download $link_type link '$download_link': $http_code $download_error_msg"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
rm -f "$zip_path" 2>&1 && say_verbose "Temporary archive file $zip_path was removed"
|
rm -f "$zip_path" 2>&1 && say_verbose "Temporary archive file $zip_path was removed"
|
||||||
@ -1647,7 +1700,6 @@ install_dir="<auto>"
|
|||||||
architecture="<auto>"
|
architecture="<auto>"
|
||||||
dry_run=false
|
dry_run=false
|
||||||
no_path=false
|
no_path=false
|
||||||
no_cdn=false
|
|
||||||
azure_feed=""
|
azure_feed=""
|
||||||
uncached_feed=""
|
uncached_feed=""
|
||||||
feed_credential=""
|
feed_credential=""
|
||||||
@ -1720,10 +1772,6 @@ do
|
|||||||
verbose=true
|
verbose=true
|
||||||
non_dynamic_parameters+=" $name"
|
non_dynamic_parameters+=" $name"
|
||||||
;;
|
;;
|
||||||
--no-cdn|-[Nn]o[Cc]dn)
|
|
||||||
no_cdn=true
|
|
||||||
non_dynamic_parameters+=" $name"
|
|
||||||
;;
|
|
||||||
--azure-feed|-[Aa]zure[Ff]eed)
|
--azure-feed|-[Aa]zure[Ff]eed)
|
||||||
shift
|
shift
|
||||||
azure_feed="$1"
|
azure_feed="$1"
|
||||||
@ -1828,13 +1876,10 @@ do
|
|||||||
echo " --verbose,-Verbose Display diagnostics information."
|
echo " --verbose,-Verbose Display diagnostics information."
|
||||||
echo " --azure-feed,-AzureFeed For internal use only."
|
echo " --azure-feed,-AzureFeed For internal use only."
|
||||||
echo " Allows using a different storage to download SDK archives from."
|
echo " Allows using a different storage to download SDK archives from."
|
||||||
echo " This parameter is only used if --no-cdn is false."
|
|
||||||
echo " --uncached-feed,-UncachedFeed For internal use only."
|
echo " --uncached-feed,-UncachedFeed For internal use only."
|
||||||
echo " Allows using a different storage to download SDK archives from."
|
echo " Allows using a different storage to download SDK archives from."
|
||||||
echo " This parameter is only used if --no-cdn is true."
|
|
||||||
echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable."
|
echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable."
|
||||||
echo " -SkipNonVersionedFiles"
|
echo " -SkipNonVersionedFiles"
|
||||||
echo " --no-cdn,-NoCdn Disable downloading from the Azure CDN, and use the uncached feed directly."
|
|
||||||
echo " --jsonfile <JSONFILE> Determines the SDK version from a user specified global.json file."
|
echo " --jsonfile <JSONFILE> Determines the SDK version from a user specified global.json file."
|
||||||
echo " Note: global.json must have a value for 'SDK:Version'"
|
echo " Note: global.json must have a value for 'SDK:Version'"
|
||||||
echo " --keep-zip,-KeepZip If set, downloaded file is kept."
|
echo " --keep-zip,-KeepZip If set, downloaded file is kept."
|
||||||
|
@ -101,9 +101,18 @@ export class DotnetVersionResolver {
|
|||||||
allowRetries: true,
|
allowRetries: true,
|
||||||
maxRetries: 3
|
maxRetries: 3
|
||||||
});
|
});
|
||||||
const response = await httpClient.getJson<any>(
|
|
||||||
DotnetVersionResolver.DotnetCoreIndexUrl
|
let response;
|
||||||
);
|
try {
|
||||||
|
response = await httpClient.getJson<any>(
|
||||||
|
DotnetVersionResolver.DotnetCoreIndexUrl
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
response = await httpClient.getJson<any>(
|
||||||
|
DotnetVersionResolver.DotnetCoreIndexFallbackUrl
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
const result = response.result || {};
|
const result = response.result || {};
|
||||||
const releasesInfo: any[] = result['releases-index'];
|
const releasesInfo: any[] = result['releases-index'];
|
||||||
|
|
||||||
@ -122,6 +131,8 @@ export class DotnetVersionResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static DotnetCoreIndexUrl =
|
static DotnetCoreIndexUrl =
|
||||||
|
'https://builds.dotnet.microsoft.com/dotnet/release-metadata/releases-index.json';
|
||||||
|
static DotnetCoreIndexFallbackUrl =
|
||||||
'https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json';
|
'https://dotnetcli.azureedge.net/dotnet/release-metadata/releases-index.json';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user