diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 62ea526..c0db73d 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -32,7 +32,7 @@ jobs: run: nix-env -iA nixpkgs.nodejs_22 - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@v7.0.1 - name: Set up credentials env: diff --git a/ansible/inventory/group_vars/services_servers/forgejo_runner.yaml b/ansible/inventory/group_vars/services_servers/forgejo_runner.yaml index d625eb1..af07fae 100644 --- a/ansible/inventory/group_vars/services_servers/forgejo_runner.yaml +++ b/ansible/inventory/group_vars/services_servers/forgejo_runner.yaml @@ -3,7 +3,7 @@ # Runner version and settings # renovate: datasource=docker depName=code.forgejo.org/forgejo/runner -forgejo_runner_version: "13" +forgejo_runner_version: "13.2.1" forgejo_runner_capacity: 4 forgejo_runner_timeout: 3h diff --git a/ansible/roles/forgejo_runner/tasks/main.yaml b/ansible/roles/forgejo_runner/tasks/main.yaml index 0269082..82d89da 100644 --- a/ansible/roles/forgejo_runner/tasks/main.yaml +++ b/ansible/roles/forgejo_runner/tasks/main.yaml @@ -47,7 +47,7 @@ --token {{ forgejo_runner_token }} --name runner-{{ inventory_hostname }} --instance http://{{ asxpio_ops_vpc_ip }}:{{ forgejo_http_port }} - --labels ubuntu-latest:docker://node:20-bookworm,ubuntu-22.04:docker://node:20-bookworm,ubuntu-24.04:docker://node:22-bookworm,debian-latest:docker://debian:bookworm,debian-12:docker://debian:bookworm,debian-11:docker://debian:bullseye,arch-latest:docker://archlinux:latest,nginx-latest:docker://nginx:latest,nginx-alpine:docker://nginx:alpine,node-20:docker://node:20,node-22:docker://node:22,python-3.11:docker://python:3.11,python-3.12:docker://python:3.12,alpine-latest:docker://alpine:latest + --labels ubuntu-latest:docker://node:20.20.2-bookworm,ubuntu-22.04:docker://node:20.20.2-bookworm,ubuntu-24.04:docker://node:22.23.5-bookworm,debian-latest:docker://debian:12.15,debian-12:docker://debian:12.15,debian-11:docker://debian:11.11,arch-latest:docker://archlinux:base-20261108.0.623074,nginx-latest:docker://nginx:1.31.8,nginx-alpine:docker://nginx:1.31.8-alpine,node-20:docker://node:20.20.2,node-22:docker://node:22.23.5,python-3.11:docker://python:3.11.18,python-3.12:docker://python:3.12.16,alpine-latest:docker://alpine:3.24.4 when: not runner_registered.stat.exists changed_when: true register: registration_result diff --git a/ansible/roles/forgejo_runner/templates/config.yaml.j2 b/ansible/roles/forgejo_runner/templates/config.yaml.j2 index b24ad71..40d16c0 100644 --- a/ansible/roles/forgejo_runner/templates/config.yaml.j2 +++ b/ansible/roles/forgejo_runner/templates/config.yaml.j2 @@ -14,20 +14,20 @@ runner: fetch_interval: 2s report_interval: 1s labels: - - "ubuntu-latest:docker://node:20-bookworm" - - "ubuntu-22.04:docker://node:20-bookworm" - - "ubuntu-24.04:docker://node:22-bookworm" - - "debian-latest:docker://debian:bookworm" - - "debian-12:docker://debian:bookworm" - - "debian-11:docker://debian:bullseye" - - "arch-latest:docker://archlinux:latest" - - "nginx-latest:docker://nginx:latest" - - "nginx-alpine:docker://nginx:alpine" - - "node-20:docker://node:20" - - "node-22:docker://node:22" - - "python-3.11:docker://python:3.11" - - "python-3.12:docker://python:3.12" - - "alpine-latest:docker://alpine:latest" + - "ubuntu-latest:docker://node:20.20.2-bookworm" + - "ubuntu-22.04:docker://node:20.20.2-bookworm" + - "ubuntu-24.04:docker://node:22.23.5-bookworm" + - "debian-latest:docker://debian:12.15" + - "debian-12:docker://debian:12.15" + - "debian-11:docker://debian:11.11" + - "arch-latest:docker://archlinux:base-20261108.0.623074" + - "nginx-latest:docker://nginx:1.31.8" + - "nginx-alpine:docker://nginx:1.31.8-alpine" + - "node-20:docker://node:20.20.2" + - "node-22:docker://node:22.23.5" + - "python-3.11:docker://python:3.11.18" + - "python-3.12:docker://python:3.12.16" + - "alpine-latest:docker://alpine:3.24.4" - "nix-latest:docker://nixos/nix:{{ forgejo_runner_nix_version }}" cache: diff --git a/ansible/roles/minecraft/files/docker-compose.yml b/ansible/roles/minecraft/files/docker-compose.yml index 5251913..ab49616 100644 --- a/ansible/roles/minecraft/files/docker-compose.yml +++ b/ansible/roles/minecraft/files/docker-compose.yml @@ -1,6 +1,6 @@ services: minecraft: - image: eclipse-temurin:21-jre + image: eclipse-temurin:21.0.13_9-jre container_name: minecraft working_dir: /data command: java -Xmx4G -Xms2G -jar paper-1.21.11-54.jar nogui diff --git a/renovate.json b/renovate.json index 10094d0..8edb1a8 100644 --- a/renovate.json +++ b/renovate.json @@ -13,16 +13,76 @@ "matchStrings": [ "# renovate: datasource=(?\\S+) depName=(?\\S+)\\s+[a-z_0-9]+:\\s*\"?(?[^\"\\s]+)\"?" ] + }, + { + "description": "Runner job images, pinned in the labels: docker://:", + "customType": "regex", + "managerFilePatterns": [ + "/^ansible/roles/forgejo_runner/(templates/config\\.yaml\\.j2|tasks/main\\.yaml)$/" + ], + "matchStrings": [ + "docker://(?[a-z0-9./_-]+):(?[A-Za-z0-9._-]+)" + ], + "datasourceTemplate": "docker" } ], "packageRules": [ { - "description": "Paper needs Java 21; the tag is a floating JRE line", + "description": "Paper needs Java 21: patch updates of the 21 JRE only", "matchPackageNames": [ "eclipse-temurin" ], + "allowedVersions": "/^21\\./" + }, + { + "description": "Runner labels name their line (node-20, debian-12, python-3.11): never leave it", + "matchFileNames": [ + "ansible/roles/forgejo_runner/**" + ], + "matchUpdateTypes": [ + "major" + ], "enabled": false }, + { + "description": "python-3.11 / python-3.12 labels stay on their minor line", + "matchFileNames": [ + "ansible/roles/forgejo_runner/**" + ], + "matchPackageNames": [ + "python" + ], + "matchCurrentValue": "/^3\\.11\\./", + "allowedVersions": "/^3\\.11\\./" + }, + { + "matchFileNames": [ + "ansible/roles/forgejo_runner/**" + ], + "matchPackageNames": [ + "python" + ], + "matchCurrentValue": "/^3\\.12\\./", + "allowedVersions": "/^3\\.12\\./" + }, + { + "description": "archlinux tags are base-YYYYMMDD.0.BUILD", + "matchPackageNames": [ + "archlinux" + ], + "versioning": "regex:^base-(?\\d{8})\\.(?\\d+)\\.(?\\d+)$" + }, + { + "description": "Both label files carry the same pins: one PR per image", + "matchFileNames": [ + "ansible/roles/forgejo_runner/**" + ], + "groupName": "runner job images", + "matchUpdateTypes": [ + "minor", + "patch" + ] + }, { "description": "Every job runs this image and a nix-store volume tied to its version", "matchPackageNames": [