改善
Kaizen  · Today I Learned by Ville Säävuori

Ignore Github Actions Runner Version With Renovate

I bumped into a obscure Spatialite error when running tests against SQLite Spatialite database with Pytest in GitHub actions. Turns out the Ubuntu 22.04 runner has upgraded some related packages in a way that is not compatible with GeoDjango SQLite. I didn’t want to spend too much time as this is just in CI and the dev and prod uses morerecent packages that don’t have this issue. However, Renovate kept on insisting updating the runenr to latest so I had to figure out how to stop it doing so.

In order to sto Renovate upgrading the runs-on attribute in the GitHub Actions workflows, here’s the magic json:

{
  "matchManagers": ["github-actions"],
  "ignoreDeps": ["ubuntu"]
}

The package name is actuallly very clearly labelled in the Renovate PR but it took me a while to find out how to get this working.

ChatGPT suggested this:

"packageRules": [
{
    "matchPackagePatterns": ["^ubuntu-"],
    "allowedVersions": "20.04",
    "matchManagers": ["github-actions"]
}
]

which probably would have worked if the package name would’ve been correct (it’s just ubuntu, not ubuntu-foo).