Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Aug 4, 2025

The BDD test dockerfile was using an outdated Node.js version that caused compatibility warnings with the @cucumber/cucumber dependency.

Problem

The main serve.Dockerfile uses FROM node:24-bullseye AS base, but the separate tests.Dockerfile used FROM node:18-alpine, causing this warning:

npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE   package: '@cucumber/cucumber@12.1.0',
npm warn EBADENGINE   required: { node: '20 || 22 || >=24' },
npm warn EBADENGINE   current: { node: 'v18.20.8', npm: '10.8.2' }
npm warn EBADENGINE }

Solution

  • Consolidated dockerfiles: Added a new tests stage to serve.Dockerfile that inherits from the base stage (Node 24)
  • Updated docker-compose: Modified the test service to use serve.Dockerfile with target: tests instead of the separate tests.Dockerfile
  • Removed redundancy: Deleted tests.Dockerfile as it's no longer needed

Changes

  • serve.Dockerfile: Added tests stage based on existing base stage
  • docker-compose.yml: Updated test service configuration to use new target
  • tests.Dockerfile: Removed (replaced by tests stage)

The BDD tests continue to work as expected via docker compose run test, with the only remaining issues being the intentionally pending step definitions. The workflow in .github/workflows/on_call_staging_test.yaml will continue to function without modification.

Fixes #231.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

…ts.Dockerfile into serve.Dockerfile

Co-authored-by: dannystaple <426859+dannystaple@users.noreply.github.com>
Copilot AI changed the title [WIP] BDD test dockerfile is currently based on the wrong node Fix BDD test dockerfile to use correct Node version - consolidate into serve.Dockerfile Aug 4, 2025
Copilot AI requested a review from dannystaple August 4, 2025 09:54
Copilot finished work on behalf of dannystaple August 4, 2025 09:55
@github-actions
Copy link
Contributor

github-actions bot commented Aug 4, 2025

🦙 MegaLinter status: ❌ ERROR

Descriptor Linter Files Fixed Errors Warnings Elapsed time
❌ ACTION actionlint 5 6 0 0.08s
✅ BASH bash-exec 1 0 0 0.0s
✅ BASH shellcheck 1 0 0 0.05s
⚠️ BASH shfmt 1 1 0 0.0s
❌ C cppcheck 8 8 0 0.31s
❌ CPP cppcheck 8 8 0 0.32s
✅ JSON npm-package-json-lint yes no no 0.44s
✅ JSON v8r 12 0 0 7.22s
❌ MARKDOWN markdown-link-check 736 212 0 31.35s
✅ REPOSITORY gitleaks yes no no 14.81s
✅ REPOSITORY git_diff yes no no 0.46s
✅ REPOSITORY grype yes no no 34.17s
✅ REPOSITORY secretlint yes no no 43.93s
✅ REPOSITORY syft yes no no 2.02s
✅ REPOSITORY trivy-sbom yes no no 3.32s
✅ REPOSITORY trufflehog yes no no 4.64s
✅ XML xmllint 1 0 0 196.12s
✅ YAML v8r 13 0 0 10.04s

See detailed report in MegaLinter reports

MegaLinter is graciously provided by OX Security

@dannystaple dannystaple marked this pull request as ready for review August 4, 2025 10:16
@dannystaple dannystaple merged commit d7eb784 into master Aug 4, 2025
8 checks passed
@dannystaple dannystaple deleted the copilot/fix-231 branch August 4, 2025 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BDD test dockerfile is currently based on the wrong node

2 participants