DoDiODev opened a new pull request, #9312: URL: https://github.com/apache/devlake/pull/9312
### ⚠️ Pre Checklist > Please complete _ALL_ items in this checklist, and remove before submitting - [x] I have read through the [Contributing Documentation](https://devlake.apache.org/community/). - [x] I have added relevant tests. - [x] I have added relevant documentation. (n/a: no user-facing behaviour change; the new script documents its usage in its header) - [x] I will add labels to the PR, such as `pr-type/bug-fix`, `pr-type/feature-development`, etc. ### Summary Since the bump to `grafana/grafana:13.3.0` (#9295) the `devlake-dashboard` image no longer starts: ``` exec /entrypoint.sh: no such file or directory ``` The 13.3.0 base image (Alpine/busybox) no longer ships `bash`, but `grafana/scripts/entrypoint.sh` used `#!/bin/bash`. - **Fix:** the entrypoint now runs under POSIX `/bin/sh`. Its only bashism (`$'\n'` in a parameter expansion) is replaced by a portable equivalent. This change does not add `bash` to the image. - **Test:** new `grafana/scripts/smoke-test.sh <image> [mysql|postgresql]` starts the image next to a throwaway database. It checks that the container keeps running, `/api/health` is OK, the entrypoint creates the DevLake datasource, and the datasource health check reaches the database. It only uses uniquely named containers/network and removes them afterwards. - **CI:** new `grafana-image-smoke-test.yml` runs on pull requests touching `grafana/**` and builds the image and runs the smoke test against MySQL and PostgreSQL. A future base-image bump (e.g. from Dependabot) that breaks startup would then fail before merge. ### Does this close any open issues? Regression from #9295; no separate issue. ### Screenshots n/a ### Other Information Validation: - `grafana/scripts/smoke-test.sh <image built from main> postgresql` → **failed** as expected (`grafana container exited (exit code 255)`, `exec /entrypoint.sh: no such file or directory`). - `grafana/scripts/smoke-test.sh <image built from this branch> mysql` → **passed**. - `grafana/scripts/smoke-test.sh <image built from this branch> postgresql` → **passed**. - `shellcheck grafana/scripts/smoke-test.sh grafana/scripts/entrypoint.sh` → **passed**. - CI on the fork, including both smoke-test jobs: https://github.com/DoDiODev/devlake/actions/runs/41608549077 (all green). -- 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]
