From 787d58ce31e51765b18a2656ddc7429e70496543 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Fri, 18 Sep 2026 16:06:09 +0200 Subject: [PATCH] chore(ci): keep the dependencies current without being asked Dependabot covers pip and github-actions, weekly on Monday. There is no docker ecosystem here because the Dockerfile builds `FROM ${BASE_IMAGE}`, a build arg resolved by scripts/build/base.sh, so nothing in the file is a tag Dependabot could pin; the base image is refreshed by the nightly rebuild in base-images instead. Dependabot has no Nix ecosystem either, and flake.lock pins the nixpkgs revision that supplies the interpreter and the C headers every repository in the catalogue is installed against. Left alone, that lock ages silently: the shell keeps building, on packages nobody refreshed. update-flake-lock opens a pull request for it on the same Monday schedule, and Dependabot's github-actions axis keeps that workflow's own three action pins current. Verified: both files parse, and the workflow resolves to one job whose steps pin actions/checkout@v4, nix-installer-action@v16 and update-flake-lock@v24. Neither runs before this lands on the default branch. Co-Authored-By: Claude Opus 5 (1M context) --- .github/dependabot.yml | 23 ++++++++++++++++++ .github/workflows/update-flake-lock.yml | 32 +++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/update-flake-lock.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..c09ab22 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,23 @@ +version: 2 + +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + time: "00:00" + rebase-strategy: "auto" + labels: + - "dependencies" + - "python" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + time: "00:00" + labels: + - "dependencies" + - "ci" diff --git a/.github/workflows/update-flake-lock.yml b/.github/workflows/update-flake-lock.yml new file mode 100644 index 0000000..92e55b0 --- /dev/null +++ b/.github/workflows/update-flake-lock.yml @@ -0,0 +1,32 @@ +name: Update flake.lock + +on: + schedule: + - cron: "0 0 * * 1" + workflow_dispatch: + +permissions: + contents: read + +jobs: + lock: + name: Update flake.lock + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@v16 + + - name: Update flake.lock and open a pull request + uses: DeterminateSystems/update-flake-lock@v24 + with: + pr-title: "chore(deps): update flake.lock" + pr-labels: | + dependencies + nix