Repository navigation
server-e2e: upgrade fixture at build time, smoke-test before push - #5
Merged
Merged
Conversation
Tandem-Task: 1
Tandem-Task: 2
Tandem-Task: 3
netxmsd.conf in deployment-example has DBPassword=netxms, so init failed authenticating with test_password.
alkk
added a commit
to netxms/grafana-datasource
that referenced
this pull request
Oct 20, 2026
docker compose up now runs ghcr.io/netxms/server-e2e:7.0.0-e2e.1 next to Grafana and provisions the data source against it, so the development environment and a plugin catalog review work with no env vars and no secrets. Defaults for the server address and the public fixture API key live in the committed .env, which Compose reads for interpolation and playwright.config.ts loads through process.loadEnvFile, so the e2e tests see the same values. Shell variables override both. The Grafana version default (12.4.0) is set in docker-compose.yaml rather than .env, because @grafana/plugin-e2e prefers GRAFANA_VERSION over the running Grafana's version. CI uses the same compose stack: the services: block, the host-network override in docker-compose.ci.yaml and the E2E_TEST_API_KEY secret are gone. Without a secret, Dependabot PRs run e2e too; publish-report is skipped for them because their token is read-only. Logs from both containers are printed on any failure, including a NetXMS that never becomes healthy, and cleanup always runs. The fixture work it depends on (upgrading the seeded database to the installed server's schema at image build time, the public token and a pre-push smoke test) landed in netxms/docker#5 and was published as server-e2e:7.0.0-e2e.1. Closes #21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every
server-e2eimage after 6.0.3 fails to start.files/db.sqlite3stayed at schema 60.34 while releases moved on (6.0.4 = 60.36 … 7.0.0 = 70.53), andbuild-images.ymlnever runs the image, so broken images were published green.server-e2e:7.0.0exits in ~4s with "Your database has format version 60.34, but server is compiled for version 70.53".Changes:
cc06941). Both old tokens (plaintext lost) are replaced with one token whose key is documented in README. It's for tests only and expires 2038-01-01. All non-token content is unchanged, and the fixture stays at 60.34 so older versions can still be built.161ac4d). The Dockerfile runsnxdbmgr -c /etc/netxmsd.conf upgradeandbackground-upgradeon the copied fixture. Each is run a second time to check the result, becausenxdbmgr upgradeexits 0 on failure (nxdbmgr: upgrade exits 0 on failure netxms#3794). Addscurlfor in-container WebAPI probes.3940d15):server-e2eis built and loaded locally, then smoke-tested: authenticatedGET /v1/server-info, 120s deadline, fails on container exit. Only that tested image is pushed. PRs run the smoke test without pushing. Other components are unchanged.workflow_dispatchnow takescomponent+tag. It builds only that component and pushes only that tag (nolatest, noX.Y). The tag must start with$NETXMS_VERSION-and have a non-empty suffix, so release tags can't be overwritten.create-releaseis skipped on dispatch.After merge:
gh workflow run build-images.yml -R netxms/docker --ref master -f component=server-e2e -f tag=7.0.0-e2e.1publishes a working 7.0.0 e2e image for netxms/grafana-datasource#21. Starting with the next release, the regular release build produces working e2e images.