Feat/monitoring #116
Triggered via pull request
September 16, 2024 13:45
Status
Failure
Total duration
1m 58s
Artifacts
–
Annotations
10 errors and 1 warning
cases/directive-filter-null-plugin.test.ts > getSuppliersWithNull: filter null values from response:
test/integration/tests/cases/directive-filter-null-plugin.test.ts#L19
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/directive-filter-null-plugin.test.ts:19:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '137', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getSuppliers {\n getSuppliers {\n items {\n id\n name\n address\n }\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '137', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET',
|
cases/directive-headers.test.ts > isAuthenticatedMutation: test directive @headers work properly:
test/integration/tests/cases/directive-headers.test.ts#L15
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/directive-headers.test.ts:15:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '170', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n mutation isAuthenticated {\n isAuthenticated @headers(input: [{ key: \"Authorization\", value: \"***" }]) {\n authenticate\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '170', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELE
|
cases/directive-no-auth.test.ts > isAuthenticatedMutation: test directive @noAuth properly remove authorization header:
test/integration/tests/cases/directive-no-auth.test.ts#L20
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/directive-no-auth.test.ts:20:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', Authorization: '***', 'User-Agent': 'axios/1.6.8', 'Content-Length': '107', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n mutation isAuthenticated {\n isAuthenticated @nOAuth {\n authenticate\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', Authorization: '***', 'User-Agent': 'axios/1.6.8', 'Content-Length': '107', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET
|
cases/directive-spl.test.ts > getTenFirstProductsQuery: test SPL filter inside query:
test/integration/tests/cases/directive-spl.test.ts#L20
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/directive-spl.test.ts:20:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '187', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getTenFirstProducts {\n getProducts {\n items @spl(query: \"id <= 10\") {\n name\n id\n price\n supplierId\n }\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '187', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', '
|
cases/graphql-mesh.test.ts > getAllProductsQuery: query working properly:
test/integration/tests/cases/graphql-mesh.test.ts#L19
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/graphql-mesh.test.ts:19:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '156', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getAllProducts {\n getProducts {\n items {\n name\n id\n price\n supplierId\n }\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '156', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET
|
cases/graphql-mesh.test.ts > getProductAndSupplierInfo: follow hateoas link:
test/integration/tests/cases/graphql-mesh.test.ts#L44
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/graphql-mesh.test.ts:44:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '180', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getProductAndSupplierInfo {\n getProductById(id: 1) {\n id\n name\n price\n supplier {\n name\n id\n }\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '180', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT'
|
cases/graphql-mesh.test.ts > getProductwithLinkList: Get "_linksList" attributes:
test/integration/tests/cases/graphql-mesh.test.ts#L65
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/graphql-mesh.test.ts:65:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '163', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getProductWithLinkList {\n getProductById(id: 1) {\n supplierId\n _linksList {\n rel\n href\n }\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '163', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE
|
cases/graphql-mesh.test.ts > getProductwithActionList: Get "_linksList" attributes:
test/integration/tests/cases/graphql-mesh.test.ts#L96
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/graphql-mesh.test.ts:96:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '167', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getProductWithLinkList {\n getProductById(id: 1) {\n supplierId\n _actionsList {\n rel\n action\n }\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '167', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DE
|
cases/graphql-mesh.test.ts > getVehicles: merge interfaces and objects properly:
test/integration/tests/cases/graphql-mesh.test.ts#L134
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/graphql-mesh.test.ts:134:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '290', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getVehicles {\n getVehicles {\n items {\n brand\n numberOfWheels\n ... on Car {\n fuelType\n numberOfWheels\n }\n ... on Bike {\n bikeType\n numberOfWheels\n }\n }\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '290', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: {
|
cases/inject-additionnal-transforms.test.ts > getProductById: @lower directive added throw transform:
test/integration/tests/cases/inject-additionnal-transforms.test.ts#L17
Error: connect ECONNREFUSED 0.0.0.0:45538
❯ Function.AxiosError.from node_modules/axios/lib/core/AxiosError.js:89:14
❯ RedirectableRequest.handleRequestError node_modules/axios/lib/adapters/http.js:610:25
❯ RedirectableRequest.emit node:events:517:28
❯ ClientRequest.eventHandlers.<computed> node_modules/follow-redirects/index.js:38:24
❯ ClientRequest.emit node:events:517:28
❯ Socket.socketErrorListener node:_http_client:501:9
❯ Socket.emit node:events:517:28
❯ Axios.request node_modules/axios/lib/core/Axios.js:45:41
❯ cases/inject-additionnal-transforms.test.ts:17:20
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { port: 45538, address: '0.0.0.0', syscall: 'connect', code: 'ECONNREFUSED', errno: -111, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ 'Function<transformRequest>' ], transformResponse: [ 'Function<transformResponse>' ], timeout: +0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: 'Function<FormData>', Blob: 'Function<Blob>' }, validateStatus: 'Function<validateStatus>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '127', 'Accept-Encoding': 'gzip, compress, deflate, br', constructor: 'Function<AxiosHeaders>', set: 'Function<set>', get: 'Function<get>', has: 'Function<has>', delete: 'Function<delete>', clear: 'Function<clear>', normalize: 'Function<normalize>', concat: 'Function<concat>', toJSON: 'Function<toJSON>', toString: 'Function<toString>', getContentType: 'Function<value>', setContentType: 'Function<value>', hasContentType: 'Function<value>', getContentLength: 'Function<value>', setContentLength: 'Function<value>', hasContentLength: 'Function<value>', getAccept: 'Function<value>', setAccept: 'Function<value>', hasAccept: 'Function<value>', getAcceptEncoding: 'Function<value>', setAcceptEncoding: 'Function<value>', hasAcceptEncoding: 'Function<value>', getUserAgent: 'Function<value>', setUserAgent: 'Function<value>', hasUserAgent: 'Function<value>', getAuthorization: 'Function<value>', setAuthorization: 'Function<value>', hasAuthorization: 'Function<value>' }, method: 'post', url: 'http://0.0.0.0:45538/graphql', data: '{"query":"\n query getProduct {\n getProductById(id: 1) {\n name @lower\n price\n supplierId\n }\n }\n"}' }, request: { _writableState: { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: +0, writing: false, corked: +0, sync: true, bufferProcessing: false, onwrite: 'Function<bound onwrite>', writecb: null, writelen: +0, afterWriteTickInfo: null, buffered: [], bufferedIndex: +0, allBuffers: true, allNoop: true, pendingcb: +0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, constructor: 'Function<WritableState>', getBuffer: 'Function<getBuffer>', bufferedRequestCount: +0 }, _events: { response: 'Function<handleResponse>', error: 'Function<handleRequestError>', socket: 'Function<handleRequestSocket>' }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/graphql', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.6.8', 'Content-Length': '127', 'Accept-Encoding': 'gzip, compress, deflate, br' }, agents: { http: undefined, https: undefined }, auth: undefined, family: undefined, beforeRedirect: 'Function<dispatchBeforeRedirect>', beforeRedirects: { proxy: 'Function<beforeRedirect>' }, hostname: '0.0.0.0', port: '45538', agent: undefined, nativeProtocols: { 'http:': { _connectionListener: 'Function<connectionListener>', METHODS: [ 'ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', '
|
integration-tests (18.x)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/setup-node@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|