Three workflow steps now cache OAK ontologies under a fixed key:
- name: Cache OAK ontologies
uses: actions/cache@v4
with:
path: ~/.data/oaklib
key: oaklib-${{ runner.os }}-v1
label-correspondence.yaml has used this key since it was written; PR #702 added the same two steps to validate-strict.yaml for consistency. So this is a pre-existing property, now in three places rather than one.
GitHub Actions cache entries are immutable per key. Once oaklib-Linux-v1 is saved, every later run restores that snapshot and nothing ever writes a newer one. NCBITaxon, ENVO and ChEBI releases after that point never reach CI, and the only way to pick one up is for a human to notice and bump -v1 by hand — which nothing prompts anyone to do.
The consequence is quiet rather than loud: a gate keeps passing against a taxonomy that is a year stale, and a genuinely obsolete id keeps validating.
Suggested fix: put something time-varying in the key (a week or month stamp) with restore-keys: oaklib-${{ runner.os }}- so a stale entry is still used while a fresh one is being built. Filed rather than fixed in #702 because it is pre-existing and changing the caching strategy deserves its own change.
Three workflow steps now cache OAK ontologies under a fixed key:
label-correspondence.yamlhas used this key since it was written; PR #702 added the same two steps tovalidate-strict.yamlfor consistency. So this is a pre-existing property, now in three places rather than one.GitHub Actions cache entries are immutable per key. Once
oaklib-Linux-v1is saved, every later run restores that snapshot and nothing ever writes a newer one. NCBITaxon, ENVO and ChEBI releases after that point never reach CI, and the only way to pick one up is for a human to notice and bump-v1by hand — which nothing prompts anyone to do.The consequence is quiet rather than loud: a gate keeps passing against a taxonomy that is a year stale, and a genuinely obsolete id keeps validating.
Suggested fix: put something time-varying in the key (a week or month stamp) with
restore-keys: oaklib-${{ runner.os }}-so a stale entry is still used while a fresh one is being built. Filed rather than fixed in #702 because it is pre-existing and changing the caching strategy deserves its own change.