DoDiODev opened a new pull request, #9044:
URL: https://github.com/apache/devlake/pull/9044

   ## Summary
   
   Routine dependency maintenance for the parts of the tree that are **not** Go:
   the pinned container images used by the dev/test stacks, the pinned Node.js
   version, and the `config-ui` npm dependencies.
   
   No `go.mod`/`go.sum` changes, no dashboard JSON changes, no source changes —
   only version pins and the regenerated `config-ui/yarn.lock`.
   
   ## What changed
   
   ### 1. `build(deps): refresh container images`
   
   | Image | From | To | Files |
   |---|---|---|---|
   | `grafana/grafana` | `13.0.2` | `13.1.3` | `grafana/Dockerfile` |
   | `postgres` | `18.1` | `18.4` | `docker-compose-dev-postgresql.yml`, 
`backend/test/e2e/remote/docker-compose.test.yml` (`-alpine`) |
   | `mysql` | `8.4.10` | `8.4.11` | `docker-compose-dev-mysql.yml`, 
`docker-compose.datasources.yml`, `.devcontainer/docker-compose.yml`, 
`devops/deployment/temporal/docker-compose-temporal.yml`, 
`backend/test/e2e/remote/docker-compose.test.yml` |
   | `nginxinc/nginx-unprivileged` | `1.31.2` | `1.31.3` | 
`config-ui/Dockerfile` |
   
   **Every** occurrence of a given pin is raised together, so the compose 
stacks,
   the devcontainer, the temporal deployment and the remote-plugin e2e stack 
stay
   on one consistent version. Both databases stay on their current major line
   (MySQL 8.4 LTS, PostgreSQL 18).
   
   Release artefacts under `devops/releases/` are historical snapshots and are
   intentionally left untouched.
   
   ### 2. `build(deps): bump pinned Node.js to 24.19.0`
   
   `config-ui/package.json` → `volta.node` `24.17.0` → `24.19.0` (current 24.x 
LTS).
   One line, trivially separable. The Docker build keeps using the floating
   `node:24-bookworm-slim` tag, so this only aligns local development 
environments
   with what CI and the images actually run.
   
   ### 3. `build(deps): refresh frontend dependencies`
   
   | Package | From | To |
   |---|---|---|
   | `antd` | `6.4.5` | `6.6.0` |
   | `@ant-design/icons` | `6.2.5` | `6.3.2` |
   | `cron-parser` | `5.6.0` | `5.8.1` |
   | `react-router-dom` | `7.18.0` | `7.18.2` |
   | `styled-components` | `6.4.2` | `6.5.1` |
   | `eslint` | `10.5.0` | `10.8.1` |
   | `prettier` | `3.8.4` | `3.9.6` |
   | `vite` | `8.1.0` | `8.2.1` |
   | `vitest` | `4.1.9` | `4.1.10` |
   
   All stay within their current major line. `config-ui/yarn.lock` is 
regenerated
   by `yarn install` — no hand edits.
   
   `engines`/`peerDependencies` of every target were checked against the pinned
   Node 24 and the pinned React 19.2.7: `vite 8.2.1` (`node ^20.19 || >=22.12`),
   `vitest 4.1.10` (peer `vite ^6||^7||^8`), `@vitejs/plugin-react 6.0.3`
   (peer `vite ^8`), `vite-plugin-svgr 5.2.0` (peer `vite >=3`), `eslint 10.8.1`
   (`node ^20.19 || ^22.13 || >=24`), `antd 6.6.0` (peer `react >=18`),
   `cron-parser 5.8.1` (`node >=18`) — all compatible.
   
   ## Not included (deliberately)
   
   - **`typescript`** — 7.x is a major upgrade and deserves its own PR.
   - **Yarn `4.17.0` → `4.18.0`** — that bump touches four places *and* 
replaces the
     checked-in ~3 MB `config-ui/.yarn/releases/yarn-*.cjs` release bundle. A 
~6 MB
     binary diff would bury this PR; it belongs in a standalone change performed
     via `yarn set version`.
   - **Grafana dashboard JSONs** — the `pluginVersion` field is export metadata 
that
     Grafana rewrites on save and does not validate on load; sweeping ~1300
     occurrences would add noise without effect. Verified below that 13.1 loads 
the
     current dashboards unchanged.
   - **`go.mod` / `go.sum`** — none of the above touches Go.
   
   ## Validation
   
   Frontend (the CI job only runs `tsc` + `eslint`, so build and tests were run
   locally as well):
   
   ```
   cd config-ui
   yarn install   # yarn.lock regenerated
   yarn build     # vite 8.2.1, 4143 modules, OK
   yarn test      # vitest 4.1.10 — 3 files, 23 tests passed
   yarn lint      # tsc + eslint — 0 errors (17 pre-existing warnings)
   docker build -f config-ui/Dockerfile -t devlake-ui:check config-ui/   # OK
   ```
   
   Images — both dev stacks started from scratch with fresh volumes:
   
   | Stack | Result |
   |---|---|
   | `docker-compose-dev-postgresql.yml` (PostgreSQL 18.4 + Grafana 13.1.3) | 
`/api/health` → `{"database":"ok","version":"13.1.3"}`; datasource health 
`Database Connection OK`; **61** dashboards provisioned, every one retrievable 
via `/api/dashboards/uid/<uid>` |
   | `docker-compose-dev-mysql.yml` (MySQL 8.4.11 + Grafana 13.1.3) | 
`/api/health` → `{"database":"ok","version":"13.1.3"}`; datasource health 
`Database Connection OK`; **63/63** dashboards provisioned, all retrievable |
   
   Both database servers report the expected versions inside the container
   (`PostgreSQL 18.4`, `mysql Ver 8.4.11`). No dashboard JSON change was 
required
   for Grafana 13.1.
   
   ### Pre-existing issue noticed while validating (not addressed here)
   
   On the PostgreSQL side, Grafana logs
   
   ```
   the same UID is used more than once  uid=ai_cost_efficiency-pg times=2
   dashboards provisioning provider has no database write permissions because 
of duplicates
   ```
   
   because `grafana/dashboards/postgresql/ai-cost-efficiency.json` and
   `grafana/dashboards/postgresql/ai-model-roi.json` both declare
   `"uid": "ai_cost_efficiency-pg"`, so only 61 of 62 files get provisioned. 
This
   reproduces on `main` with Grafana 13.0.2 as well and is therefore unrelated 
to
   this PR; happy to send a separate fix.
   
   ## Rollback
   
   Every change is a version pin; revert the individual commit (plus `yarn.lock`
   for the frontend commit). No schema, migration or data impact.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to