FHIR Chat · IG retention policy for build.fhir.org · committers

Stream: committers

Topic: IG retention policy for build.fhir.org


view this post on Zulip Josh Mandel (Sep 17 2020 at 15:04):

Right now we hold on to built branches forever; we replace a built branch whenever new content is committed to that branch on github. I want to make sure we don't run out of storage; for now I'll just increase our storage so we have headroom. But in general, what requirements do folks have for retaining old builds, and what should we try to do here?

view this post on Zulip Josh Mandel (Sep 17 2020 at 15:04):

I'd like to have a policy for IG builds similar to core FHIR builds -- where we delete builds for branches that have been inactive for >XX days, where "XX" is some window we agree on (e.g., 90).

view this post on Zulip Jose Costa Teixeira (Sep 17 2020 at 15:08):

90 days for "my" branches seems good. Do you want to add a way to force stale branches to be kept?

view this post on Zulip Josh Mandel (Sep 17 2020 at 15:13):

Re: indefinite retention, I kind of don't mind having some friction here (like, maybe build.fhir.org is the wrong place if you need indefinite retention for some builds, and there are other options like Github pages, etc). Would like to hear if folks here would find this overly constraining, though.

view this post on Zulip David Pyke (Sep 17 2020 at 15:15):

I'm not sure why we would need infinite retention on Build. If you haven't STU'd it in a year, it gets archived. If you want it back up, push a change.

view this post on Zulip Jose Costa Teixeira (Sep 17 2020 at 15:30):

I can imagine that some branches are not picked up within that time, and this would be a way to say "we are stiiiiiill working on it, see lates t branch there"...

view this post on Zulip David Pyke (Sep 17 2020 at 15:32):

If you've not updated or STU'd in a year then "still working on it" is a misnomer

view this post on Zulip Jose Costa Teixeira (Sep 17 2020 at 15:34):

(i was thinking of 90 days - for me it's a fine deadline, but time not being a linear concept esp. in pandemic season...)

view this post on Zulip Josh Mandel (Sep 17 2020 at 15:34):

So... maybe a 365-day window?

view this post on Zulip David Pyke (Sep 17 2020 at 15:34):

THat's my thought

view this post on Zulip Jose Costa Teixeira (Sep 17 2020 at 15:35):

Anyway, I just mentioned the possible stale branches as an edge case. I'm happy with 90 or 365 days

view this post on Zulip Josh Mandel (Sep 17 2020 at 15:37):

It's always possible to re-trigger / reset the retention window with a trivial commit on the branch

view this post on Zulip David Pyke (Sep 17 2020 at 15:37):

Right, but inactivity for 365 gets it archived. Did we want to do it at the branch level or just for whole projects?

view this post on Zulip Lloyd McKenzie (Sep 17 2020 at 15:38):

I think people would be more comfortable with a shorter timeframe if there was an emailed warning of impending expiry. However, agree w/ David that if you want semi-permanent hosted content, build.fhir.org shouldn't be your solution.

view this post on Zulip Josh Mandel (Sep 17 2020 at 15:44):

Branch level makes sense to me in terms of storage requirements; active projects might have hundreds of branches over the course of a year, each of which takes up hundreds of megs for output storage.

view this post on Zulip David Pyke (Sep 17 2020 at 15:45):

Maybe we do branches at 90 days, projects at 365?

view this post on Zulip Josh Mandel (Sep 17 2020 at 15:45):

I kinda like that

view this post on Zulip John Moehrke (Sep 17 2020 at 22:57):

I had thought that it was 90 days.. I recall builds being flushed, was that last year? things change so fast 90 seems shortest possible, 365 does not feel too long. so anywhere in between seems right

view this post on Zulip John Moehrke (Sep 17 2020 at 22:58):

when this flush happens, a note to the committers/notifications would be 'nice'

view this post on Zulip John Moehrke (Sep 17 2020 at 22:58):

I wonder if 14 day pre-flush notification might be useful... giving people a chance to quickly grab it before it is gone

view this post on Zulip Josh Mandel (Sep 18 2020 at 01:22):

We do clean up branches for the core fhr specification, but we don't clean up the branches for implementation guide builds. (We only started building branches for implementation guides relatively recently; before that only the master branch was auto-built for IG repositories.)0

view this post on Zulip Josh Mandel (Sep 18 2020 at 01:23):

It would be nice to have a consistent policy for the core build as well as IGs, just so editors participating in both camps don't have to keep different models in their heads

view this post on Zulip Kevin Power (Oct 15 2021 at 23:03):

@Josh Mandel - Sorry if missed another update, but I happened upon this old thread. Was an automated clean up of old/stale branches for IGs ever implemented? For our IG, we have several old branches still hanging around.

view this post on Zulip Josh Mandel (Oct 15 2021 at 23:16):

No, I haven't pulled the trigger on this. (If this is causing an issue and you want me to manually delete anything just let me know.)

view this post on Zulip Kevin Power (Oct 15 2021 at 23:31):

No specific issues right now, just wanting to help eliminate possible confusion down the road (if someone mistakenly looks like the old branch without realizing it). Let me ask around on my side and see if we want to do a manual delete at some point. Thanks @Josh Mandel

view this post on Zulip Kevin Power (Oct 18 2021 at 20:35):

@Josh Mandel - If you don't mind, can you delete the following from http://build.fhir.org/ig/HL7/genomics-reporting/branches/ :
jrj-jira-pending
kp-improve-names
kp-loinc-copyright
kp-qa
kp-simple-updates
kp-task-category-changes
kpower_SomaticImplication

view this post on Zulip Josh Mandel (Oct 18 2021 at 20:51):

Done

view this post on Zulip Kevin Power (Oct 18 2021 at 20:54):

Thanks Josh

view this post on Zulip Josh Mandel (Jan 29 2022 at 18:32):

Per discussion here, I'm going to start enforcing "IG branches >90 days old will be cleared from the build server".

view this post on Zulip Josh Mandel (Jan 29 2022 at 18:32):

Any new commits will revive them...

view this post on Zulip John Moehrke (Jan 29 2022 at 20:46):

did this cleanup kill things like templates -- ihe.fhir.template -- that really don't change much?

view this post on Zulip Josh Mandel (Jan 29 2022 at 21:36):

If they're on the build server in stale branches, yes. That "shouldn't" cause problems, but if it did we can:

  1. Trigger a build on any of this content via https://fhir.github.io/auto-ig-builder/builds.html (looks like you may have already done so for IHE templates

  2. Figure out a process to ensure this server isn't used for dependencies in the future (Grahame I think has a way to use his package server for dependencies, instead of build.fhir.org)

view this post on Zulip John Moehrke (Jan 30 2022 at 00:00):

I rebuilt the template, then rebuilt my IG... all better now.

view this post on Zulip Elliot Silver (Jan 30 2022 at 03:31):

@Josh Mandel , is that "all branches will be cleared," or all except main/master?

view this post on Zulip Josh Mandel (Jan 31 2022 at 02:26):

All branches; the expectation is that the CI server is a place to review active work (whether "main" or otherwise) -- but of course we can revisit this.

view this post on Zulip Lloyd McKenzie (Jan 31 2022 at 03:07):

I think that the main/master branch should always remain. We link to it as the CI-build from the archive pages. We don't want that to go 'poof'. The only time we might consider removing those is if we retire the spec.

view this post on Zulip John Moehrke (Jan 31 2022 at 13:19):

I think some main/master branches are experiments, and not formal projects. Somehow we need to identify the formal ci-builds, or give experimenters a way to tell us that they want their experiment to be removed.

view this post on Zulip Josh Mandel (Jan 31 2022 at 14:10):

There's a long tail of experiments indeed.

view this post on Zulip John Moehrke (Jan 31 2022 at 14:12):

I also thought about some of my experiments were to point out an issue with IG builder or templating. Needed them to build on ci-build to be visible, but they certainly don't need to live forever. (Presumably fragments become validation examples for IG builder).

view this post on Zulip Josh Mandel (Jan 31 2022 at 14:12):

I think that the main/master branch should always remain. We link to it as the CI-build from the archive pages. We don't want that to go 'poof'. The only time we might consider removing those is if we retire the spec.

Maybe this applies to HL7 published specs? We could perhaps have a query to a package server to fetch a list of those. Even so, if a spec is not under active development, the "continuously" integration doesn't have much meaning

view this post on Zulip John Moehrke (Jan 31 2022 at 14:12):

it also applies to others (IHE for sure)

view this post on Zulip John Moehrke (Jan 31 2022 at 14:14):

maybe the auto-ig-builder dashboard just needs a "delete" button? hmm, the only danger is someone deletes a ci-build that is needed, for which that ci-build gets rebuilt by someone in-the-know.

view this post on Zulip John Moehrke (Jan 31 2022 at 14:14):

yeah, bad idea for a security co-chair to be recommending that solution.

view this post on Zulip Josh Mandel (Jan 31 2022 at 14:15):

So maybe it applies to published specs; again this takes us back to the discussion about dependencies on CI: we'd need a formal mapping from package names to GitHub projects (e.g., in the package server -- do we population repository in package.json?) ( the CI system can't "trust" values it sees in repos, since anyone could create them.. )

view this post on Zulip John Moehrke (Jan 31 2022 at 14:16):

so the simplifier registry should have that

view this post on Zulip Josh Mandel (Jan 31 2022 at 14:17):

I'd like to discuss whether a well crafted 404 page on build.fhir.org could help us avoid perceived requirements here. We csn take this up in FMG this week perhaps?

view this post on Zulip John Moehrke (Jan 31 2022 at 14:21):

drat, there is no linkage. I thought that the repo ended up in the published IG json.

view this post on Zulip John Moehrke (Jan 31 2022 at 14:22):

it is somewhat indirectly recorded in the IHE IGs, as we use the somewhat undocumented input/data/features.yaml to enable github based issue submission.

view this post on Zulip John Moehrke (Jan 31 2022 at 14:40):

I would expect there would be some github repo homes that we could itemize like HL7 and IHE? I would suspect in those there is no throwaway examples of important?


Last updated: Apr 12 2022 at 19:14 UTC