Files
fish-shell/updatecli.d/docker.yml
Johannes Altmanninger daadd81ab6 More automation for updating dependencies
- Convert update checks in check.sh to mechanical updates.
  - Use https://www.updatecli.io/ for now, which is not as
    full-featured as renovatebot or dependabot, but I found it easier
    to plug arbitrary shell scripts into.
- Add updaters for
  - ubuntu-latest-lts (which is similar to GitHub Action's "ubuntu-latest").
  - FreeBSD image used in Cirrus (requires "gcloud auth login" for now,
    see https://github.com/cirruslabs/cirrus-ci-docs/issues/1315)
  - littlecheck and widecharwidth
- Update all dependencies except Cargo ones.
- As a reminder, our version policies are arbitrary and can be changed
  as needed.
- To-do:
  - Add updaters for GitHub Actions (such as "actions/checkout").
    Renovatebot could do that.
2025-11-01 12:55:01 +01:00

66 lines
1.9 KiB
YAML

name: "Update Linux docker images"
sources:
alpine_latest_version:
kind: dockerimage
spec:
image: alpine
tagfilter: "^[0-9]+\\.[0-9]+$"
versionfilter:
kind: semver
ubuntu_latest_lts_version:
kind: shell
spec:
shell: bash
command: |
set -eo pipefail
curl -fsS https://endoflife.date/api/ubuntu.json |
jq -r --arg today "$today" '
.[]
| select(.lts)
| "\(.cycle)"
' |
sort --version-sort |
tail -1
ubuntu_oldest_non_eol_version:
kind: shell
spec:
shell: bash
command: |
set -eo pipefail
today=$(date --iso-8601)
curl -fsS https://endoflife.date/api/ubuntu.json |
jq -r --arg today "$today" '
.[]
| select(.eol >= $today)
| "\(.cycle)"
' |
sort --version-sort |
head -1
targets:
update_alpine_dockerfile:
name: "Update Alpine Linux version"
sourceid: alpine_latest_version
kind: file
spec:
file: docker/alpine.Dockerfile
matchpattern: "FROM alpine:.*"
replacepattern: 'FROM alpine:{{ source "alpine_latest_version" }} # updatecli.d/docker.yml'
ubuntu_latest_version_dockerfile:
name: "Update oldest non-EOL Ubuntu Linux version"
sourceid: ubuntu_latest_lts_version
kind: file
spec:
file: docker/ubuntu-latest-lts.Dockerfile
matchpattern: "FROM ubuntu:.*"
replacepattern: 'FROM ubuntu:{{ source "ubuntu_latest_lts_version" }} # updatecli.d/docker.yml'
ubuntu_oldest_supported_dockerfile:
name: "Update oldest non-EOL Ubuntu Linux version"
sourceid: ubuntu_oldest_non_eol_version
kind: file
spec:
file: docker/ubuntu-oldest-supported.Dockerfile
matchpattern: "FROM ubuntu:.*"
replacepattern: 'FROM ubuntu:{{ source "ubuntu_oldest_non_eol_version" }} # updatecli.d/docker.yml'