Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }