public void PutArtifact(ArtifactInfo info, Stream stream)
 {
     string artifactDir = baseDir + "/artifacts/" +
 }
Пример #2
0
 static WebArtifactInfo ProcessArtifactInfo(string runId, string testKey, int artifactIndex, ArtifactInfo ai)
 {
     return(new WebArtifactInfo(ai, streams.GetArtifactUrl(runId, testKey, artifactIndex)));
 }
Пример #3
0
        private async Task ReadArtifact(IAsyncStreamReader <BuildStatusUpdate> requestStream, IServerStreamWriter <RunBuildCommand> responseStream, IJobStatusUpdatable jobStatus, ArtifactInfo artifact, CancellationToken cancellationToken)
        {
            var artifactName = artifact.Name;

            if (artifactName == null || !PathUtil.IsValidSubPath(artifactName) || string.IsNullOrEmpty(artifactName))
            {
                throw new Exception("Invalid path name.");
            }

            await responseStream.WriteAsync(new RunBuildCommand {
                Artifact = new ArtifactRequest {
                    Artifact = artifact,
                },
            });

            var path = Path.Combine(jobStatus.ArtifactDir, artifactName);

            Directory.CreateDirectory(Path.GetDirectoryName(path));
            await using var fileStream = File.Create(path);
            await ReadArtifactContent(requestStream, fileStream, cancellationToken);
        }
Пример #4
0
 public WebArtifactInfo(ArtifactInfo ai, string url) : base(ai)
 {
     this.DownloadUrl = url;
 }