Repository navigation
feat: customer adoption and CI tooling (configure, doctor, Docker, CI templates, docs) - #610
Merged
Conversation
… templates, docs) - scripts: configure-sdk (SDK_* env -> sdk-config.json, validated, tested), doctor - Playwright: env-driven base URL, CI reporters (JUnit/HTML/GitHub), optional webServer - Dockerfile + nginx + entrypoint rendering sdk-config at start; CI smoke job - ci-templates for GitHub Actions, Azure DevOps, GitLab, Jenkins - docs: getting started, configuration, ci-cd, customizing, troubleshooting; README quick start - .nvmrc, .editorconfig, .env.example, devcontainer
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.
Summary
Makes the repository easier for customers to adopt and automate. Stacked on #608 (base is
chore/phase-a-modernization; retarget tomasterafter #608 merges).Configuration without editing files or committing secrets
npm run configure(scripts/configure-sdk.js): appliesSDK_*environment variables tosdk-config.json(Infinity URL, client IDs, app alias, portal, mashup settings, theme...).SDK_MASHUP_PASSWORDis supplied in plain text and Base64-encoded. Validates required values,--check,--out,--print(secrets masked). 8 unit tests vianpm run test:scripts.npm run doctor: pre-flight check (Node version, dependencies, config validity, HTTPS keys, port 3500, Infinity reachability;--offlinefor CI). Exit code 1 on blocking problems.CI/CD
ci-templates/: GitHub Actions, Azure DevOps, GitLab CI, Jenkinsfile (install, doctor, lint, configure, build, artifact, optional E2E with JUnit + report).SDK_E2E_BASE_URL(no more hard-coded localhost), CI reporters (list/html/JUnit/GitHub), screenshots + video on failure,PW_SLOW_MO,PW_WORKERS, optionalPW_START_SERVER.Dockerfile(multi-stage, non-root nginx on 8080),docker/nginx.conf(SPA routes for portal/embedded pages, no-storesdk-config.json, immutable asset caching,/healthz), and an entrypoint that renderssdk-config.jsonfromSDK_*variables at container start (build once, deploy many).quality.ymlgains adockerjob (build and smoke test) and runs the tooling script tests.Onboarding
getting-started,configuration,ci-cd,customizing,troubleshooting; README quick start; AGENTS.md command table..nvmrc,.editorconfig,.env.example,.devcontainer/(Codespaces/Dev Containers),.envgit-ignored.Not verified locally
dockerCI job builds it and smoke-tests it; please check that job is green. The entrypoint logic itself was run locally.Validation
npm run lint,npm run test:scripts(8 pass),npm run configure:check,npm run doctor -- --offline,npm run docs:components:check— passedplaywright test --listloads the modified config (44 tests); CI-mode reporters and webServer toggles checked