public override async Task <string> RecordArtifact(string path, Func <string, Task <string> > fetch) { var file = await fetch(cacheDir); using var _ = await tarLock.LockAsync(); if (!recordedArtifacts.Contains(path)) { await ArchiveUtil.AddFileToTar(tarStream, ArtifactPath(path), file); recordedArtifacts.Add(path); } return(file); }
protected override async Task <string> RecordBuildSchema(Func <Task <string> > readBuildSchema) { var result = await readBuildSchema(); using var _ = await tarLock.LockAsync(); if (!hasRecordedSchema) { await ArchiveUtil.AddFileToTar(tarStream, BuildSchemaPath, SchemaFile); hasRecordedSchema = true; } return(result); }
protected override async Task <string> RecordRepoConfig(Func <Task <string> > readRepoConfig) { var result = await readRepoConfig(); using var _ = await tarLock.LockAsync(); if (!hasRecordedRepoConfig) { await ArchiveUtil.AddFileToTar(tarStream, RepoConfigPath, Path.Combine(ConfDir, "repos.toml")); hasRecordedRepoConfig = true; } return(result); }