@@ -124,11 +124,20 @@ public async Task<IActionResult> Get(Guid scopeIdentifier, string hubName, Guid
124124 ActionDownloadInfo defDownloadInfo = null ;
125125 foreach ( var downloadUrl in downloadUrls ) {
126126 try {
127- var downloadinfo = new ActionDownloadInfo ( ) { NameWithOwner = item . NameWithOwner , Ref = item . Ref , ResolvedNameWithOwner = item . NameWithOwner , ResolvedSha = item . Ref } ;
127+ // : is otherwise put on the filesystem and windows forbids it
128+ var sanitizedNameWithOwner = item . NameWithOwner ; //.Replace("://", "__");
129+ var downloadinfo = new ActionDownloadInfo ( ) { NameWithOwner = sanitizedNameWithOwner , Ref = item . Ref , ResolvedNameWithOwner = sanitizedNameWithOwner , ResolvedSha = item . Ref } ;
128130 // Allow access to the original action
129131 if ( islocalcheckout && item . NameWithOwner == localcheckout && item . Ref . StartsWith ( BuildConstants . Source . CommitHash ) ) {
130132 item . Ref = item . Ref . Substring ( BuildConstants . Source . CommitHash . Length ) ;
131133 }
134+ if ( item . NameWithOwner . StartsWith ( "http~//" ) || item . NameWithOwner . StartsWith ( "https~//" ) ) {
135+ downloadinfo . TarballUrl = item . NameWithOwner . Replace ( '~' , ':' ) + "/archive/" + item . Ref + ".tar.gz" ;
136+ downloadinfo . ZipballUrl = item . NameWithOwner . Replace ( '~' , ':' ) + "/archive/" + item . Ref + ".zip" ;
137+ downloadinfo . Authentication = new ActionDownloadAuthentication ( ) { Token = "dummy-token" } ;
138+ actions [ name ] = downloadinfo ;
139+ break ;
140+ }
132141 downloadinfo . TarballUrl = String . Format ( downloadUrl . TarballUrl , item . NameWithOwner , item . Ref ) ;
133142 downloadinfo . ZipballUrl = String . Format ( downloadUrl . ZipballUrl , item . NameWithOwner , item . Ref ) ;
134143 if ( defDownloadInfo == null ) {
0 commit comments