diff --git a/changelog/fragments/1751029489-synth-upgra-node-v20.yaml b/changelog/fragments/1751029489-synth-upgra-node-v20.yaml new file mode 100644 index 00000000000..0e2a83d1728 --- /dev/null +++ b/changelog/fragments/1751029489-synth-upgra-node-v20.yaml @@ -0,0 +1,32 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: other + +# Change summary; a 80ish characters long description of the change. +summary: Upgrade Synthetics NodeJS version to latest LTS v20. + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +# description: + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: heartbeat + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +pr: https://github.com/elastic/elastic-agent/pull/8712 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +#issue: https://github.com/owner/repo/1234 diff --git a/dev-tools/packaging/templates/docker/Dockerfile.elastic-agent.tmpl b/dev-tools/packaging/templates/docker/Dockerfile.elastic-agent.tmpl index 014cb7397d3..67c2ada11f2 100644 --- a/dev-tools/packaging/templates/docker/Dockerfile.elastic-agent.tmpl +++ b/dev-tools/packaging/templates/docker/Dockerfile.elastic-agent.tmpl @@ -206,7 +206,7 @@ RUN echo \ ENV ELASTIC_SYNTHETICS_CAPABLE=true ENV ELASTIC_AGENT_COMPLETE=true ENV TZ=UTC -ENV NODE_VERSION=18.20.7 +ENV NODE_VERSION=20.19.3 ENV PATH="$NODE_PATH/node/bin:$PATH" # Install the latest version of @elastic/synthetics forcefully ignoring the previously # cached node_modules, heartbeat then calls the global executable to run test suites @@ -269,7 +269,7 @@ USER root # Install required dependencies from wolfi repository RUN for iter in {1..10}; do \ apk fix && \ - apk add --no-interactive --no-progress --no-cache nodejs-18=18.20.7-r0 npm=10.9.2-r0 glib dbus-glib libatk-1.0 \ + apk add --no-interactive --no-progress --no-cache nodejs-20=20.19.3-r0 npm=11.4.2-r0 glib dbus-glib libatk-1.0 \ libatk-bridge-2.0 cups-libs libxcomposite libxdamage libxrandr libxkbcommon pango alsa-lib \ font-opensans fontconfig gtk icu-data-full libnss mesa font-noto-cjk font-noto-emoji && \ exit_code=0 && break || exit_code=$? && echo "apk error: retry $iter in 10s" && sleep 10; \