Merge pull request #5627 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/local/node/node-22.13-bookworm-slim

Bump node from 22.12 to 22.13
This commit is contained in:
Bruno Alla 2025-01-09 22:29:48 +00:00 committed by GitHub
commit 1dbaeaa09d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 66 additions and 3 deletions

View File

@ -103,6 +103,6 @@ jobs:
run: uv sync run: uv sync
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: "22.12" node-version: "22.13"
- name: Bare Metal ${{ matrix.script.name }} - name: Bare Metal ${{ matrix.script.name }}
run: sh tests/test_bare.sh ${{ matrix.script.args }} run: sh tests/test_bare.sh ${{ matrix.script.args }}

View File

@ -53,6 +53,14 @@ repos:
hooks: hooks:
- id: pyproject-fmt - id: pyproject-fmt
- repo: local
hooks:
- id: node-version-checker
name: node-version-checker
entry: python scripts/node_version.py
language: python
files: .
ci: ci:
autoupdate_schedule: weekly autoupdate_schedule: weekly
skip: [] skip: []

55
scripts/node_version.py Normal file
View File

@ -0,0 +1,55 @@
import json
from pathlib import Path
ROOT = Path(__file__).parent.parent
TEMPLATED_ROOT = ROOT / "{{cookiecutter.project_slug}}"
DOCKERFILE = TEMPLATED_ROOT / "compose" / "local" / "node" / "Dockerfile"
PACKAGE_JSON = TEMPLATED_ROOT / "package.json"
CI_YML = ROOT / ".github" / "workflows" / "ci.yml"
def main():
new_version = get_version_from_dockerfile()
old_version = get_version_from_package_json()
if old_version != new_version:
update_package_json_version(old_version, new_version)
update_ci_node_version(old_version, new_version)
def get_version_from_dockerfile():
# Extract version out of base image name:
# FROM docker.io/node:22.13-bookworm-slim
# -> 22.13
with DOCKERFILE.open("r") as f:
for line in f:
if "FROM docker.io/node:" in line:
_, _, docker_tag = line.partition(":")
version_str, _, _ = docker_tag.partition("-")
return version_str
def get_version_from_package_json():
package_json = json.loads(PACKAGE_JSON.read_text())
return package_json["engines"]["node"]
def update_package_json_version(old_version, new_version):
package_json_text = PACKAGE_JSON.read_text()
package_json_text = package_json_text.replace(
f'"node": "{old_version}"',
f'"node": "{new_version}"',
)
PACKAGE_JSON.write_text(package_json_text)
def update_ci_node_version(old_version, new_version):
yml_content = CI_YML.read_text()
yml_content = yml_content.replace(
f'node-version: "{old_version}"',
f'node-version: "{new_version}"',
)
CI_YML.write_text(yml_content)
if __name__ == "__main__":
main()

View File

@ -1,4 +1,4 @@
FROM docker.io/node:22.12-bookworm-slim FROM docker.io/node:22.13-bookworm-slim
WORKDIR /app WORKDIR /app

View File

@ -35,7 +35,7 @@
"webpack-merge": "^6.0.1" "webpack-merge": "^6.0.1"
}, },
"engines": { "engines": {
"node": "22.12" "node": "22.13"
}, },
"browserslist": [ "browserslist": [
"last 2 versions" "last 2 versions"