Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Drop the legacy run-record import

59badc638dde0655b11d01eebfe3a457735d2501 · Keenan Nemetz · 11d ago · parent b312e166

Drop the legacy run-record import

There is no released instance to stay compatible with, so the file format
under runs/, the branch importer, and the pre-receive allowance for that
directory are gone. The Record value is now only the finish wire format and the
shape stored in run_attempts. metadata.ValidateIssues rejects runs/ like any
other unknown directory, and vole admin index rebuild no longer reads run
history from Git.

An existing instance migrates once with the previous build, then rewrites the
vole branch to remove the old records. Nothing in this build reads them.

metadata/issues.go +2−13

@@ -44,10 +44,6 @@ const (
44 44 IssuesDir = "issues"
45 45 // RequestsDir is the change-request subtree.
46 46 RequestsDir = "requests"
47 // RunsDir is the legacy run-record subtree. New results live in data/runs.db;
48 // this directory stays accepted on an old branch so a clone or a cleanup push
49 // still validates.
50 RunsDir = "runs"
51 47 // ReleasesDir is the release-artifact subtree.
52 48 ReleasesDir = "releases"
53 49
@@ -458,17 +454,10 @@ func ValidateIssues(g *git.Repo, commit string) []string {
458 454 // Release artifacts: their own validator runs below, and they are not
459 455 // part of the entity set this function parses.
460 456 continue
461 case strings.HasPrefix(e.Name, RunsDir+"/"):
462 // Run records: machine-written. The server validates each one as it
463 // writes it, and no client can push here (pre-receive refuses the
464 // prefix), so there is nothing at the boundary to check — and reading
465 // every record blob on every push would make an issue edit cost a walk
466 // over the whole CI history.
467 continue
468 457 default:
469 458 problems = append(problems, fmt.Sprintf(
470 "%s: metadata may only contain %s/, %s/, %s/ and %s/",
471 e.Name, IssuesDir, RequestsDir, ReleasesDir, RunsDir))
459 "%s: metadata may only contain %s/, %s/ and %s/",
460 e.Name, IssuesDir, RequestsDir, ReleasesDir))
472 461 continue
473 462 }
474 463 data, err := g.BlobBySHA(e.SHA)