Skip to content

Commit 9b5b1a2

Browse files
Yerazeclaude
andauthored
fix(docker): skip puppeteer browser download on armv7 build; bump to 4.6.2-1 (#3096)
The v4.6.2 release pipeline succeeded for linux/amd64 and linux/arm64 but failed on linux/arm/v7 because puppeteer@25.0.2 (bumped in #3071) attempts to download a Chrome binary during npm postinstall, and Chrome has no armv7 build. `npm install` aborts before the Dockerfile gets any further. Set `PUPPETEER_SKIP_DOWNLOAD=true` on the armv7 `npm install` step. Puppeteer is a devDependency used only by CI tests; runtime armv7 images don't need the browser binary at all. Version bumped to 4.6.2-1 across all five canonical files so the multi-arch manifest gets republished cleanly. No application-code changes. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 3e6818f commit 9b5b1a2

7 files changed

Lines changed: 24 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
99
_No changes yet._
1010

1111

12+
## [4.6.2-1] - 2026-05-19
13+
14+
# MeshMonitor v4.6.2-1
15+
16+
Hotfix re-publishing the v4.6.2 multi-arch Docker manifest. The v4.6.2 build pipeline succeeded for `linux/amd64` and `linux/arm64` but failed on `linux/arm/v7` because `puppeteer@25.0.2` (bumped in #3071) attempts to download a Chrome browser binary during npm postinstall and Chrome has no armv7 build. No application-code changes.
17+
18+
## Fixes
19+
- **Dockerfile.armv7**: set `PUPPETEER_SKIP_DOWNLOAD=true` before `npm install` so the postinstall doesn't try to fetch a non-existent armv7 Chrome binary. Puppeteer is a devDep used only in CI tests; runtime armv7 images don't need it.
20+
21+
1222
## [4.6.2] - 2026-05-19
1323

1424
# MeshMonitor v4.6.2

Dockerfile.armv7

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,14 @@ COPY package*.json ./
1919
# better-sqlite3 will download pre-built binaries for the target platform
2020
# Use cache mount to speed up repeated builds
2121
# --legacy-peer-deps needed for vitest peer dependency conflicts
22+
#
23+
# PUPPETEER_SKIP_DOWNLOAD=true: puppeteer's npm postinstall downloads a
24+
# Chrome binary, and Chrome has no armv7 build — without this the
25+
# install fails at downloadBrowsers and the whole image build aborts.
26+
# Puppeteer is a devDependency used only by CI tests, so production
27+
# armv7 images don't need the browser binary at all.
2228
RUN --mount=type=cache,target=/root/.npm \
29+
PUPPETEER_SKIP_DOWNLOAD=true \
2330
npm install --legacy-peer-deps
2431

2532
# Verify protobufs are present (fail fast if git submodule wasn't initialized)

desktop/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "meshmonitor-desktop",
33
"private": true,
4-
"version": "4.6.2",
4+
"version": "4.6.2-1",
55
"type": "module",
66
"scripts": {
77
"tauri": "tauri",

desktop/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "MeshMonitor",
4-
"version": "4.6.2",
4+
"version": "4.6.2-1",
55
"identifier": "org.meshmonitor.desktop",
66
"build": {
77
"beforeBuildCommand": "",

helm/meshmonitor/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: meshmonitor
33
description: A Helm chart for MeshMonitor - Web application for monitoring Meshtastic mesh networks
44
type: application
5-
version: 4.6.2
6-
appVersion: "4.6.2"
5+
version: 4.6.2-1
6+
appVersion: "4.6.2-1"
77
home: https://github.com/Yeraze/meshmonitor
88
sources:
99
- https://github.com/Yeraze/meshmonitor

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "meshmonitor",
3-
"version": "4.6.2",
3+
"version": "4.6.2-1",
44
"description": "Web application for monitoring Meshtastic nodes over IP",
55
"license": "BSD-3-Clause",
66
"private": true,

0 commit comments

Comments
 (0)