Open danmooney2 opened 3 years ago
:white_check_mark: All unit and integration tests have passed.
PHPUnit 8.5.15 by Sebastian Bergmann and contributors.
...... 6 / 6 (100%)
Time: 303 ms, Memory: 12.00 MB
OK (6 tests, 18 assertions)
Generating code coverage report in Clover XML format ... done [529 ms]
PHPUnit 8.5.15 by Sebastian Bergmann and contributors.
.............. 14 / 14 (100%)
Time: 1.94 seconds, Memory: 30.00 MB
OK (14 tests, 14 assertions)
This comment was generated by Jenkins job magento-cloud-docker/unit build 23.
:white_check_mark: All static analysis and code style checks have passed.
............................................................ 60 / 90 (67%)
.............................. 90 / 90 (100%)
Time: 3.18 secs; Memory: 12MB
Found 0 violations and 0 errors in 1637ms
[32mNo mess detected[0m
[OK] No errors
This comment was generated by Jenkins job magento-cloud-docker/static build 24.
varnishlog
running phpunit with --filter '/testSingleServiceWsdl|testNoAuthorizedServices/'
before proposed fix:
* << BeReq >> 3
- Begin bereq 2 fetch
- VCL_use boot
- Timestamp Start: 1621875857.772529 0.000000 0.000000
- BereqMethod GET
- BereqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- BereqProtocol HTTP/1.1
- BereqHeader Host: aws-cloud.docker
- BereqHeader Accept: */*
- BereqHeader Authorization: Bearer 21rkzwgpl2l8rmsoar2k42xq58w4sjfe
- BereqHeader X-Forwarded-For: 172.29.0.10
- BereqHeader Accept-Encoding: gzip
- BereqHeader X-Varnish: 3
- VCL_call BACKEND_FETCH
- VCL_return fetch
- BackendOpen 25 default 172.29.0.9 8080 172.29.0.7 39554
- BackendStart 172.29.0.9 8080
- Timestamp Bereq: 1621875857.772789 0.000260 0.000260
- Timestamp Beresp: 1621875862.528484 4.755955 4.755694
- BerespProtocol HTTP/1.1
- BerespStatus 200
- BerespReason OK
- BerespHeader Server: nginx/1.19.10
- BerespHeader Date: Mon, 24 May 2021 17:04:22 GMT
- BerespHeader Content-Type: text/xml; charset=UTF-8
- BerespHeader Transfer-Encoding: chunked
- BerespHeader Connection: keep-alive
- BerespHeader Vary: Accept-Encoding
- BerespHeader X-Powered-By: PHP/7.4.16
- BerespHeader Cache-Control: no-store
- BerespHeader Content-Encoding: gzip
- TTL RFC 120 10 0 1621875863 1621875863 1621875862 0 0 cacheable
- VCL_call BACKEND_RESPONSE
- BerespHeader Pragma: no-cache
- BerespHeader Expires: -1
- BerespUnset Cache-Control: no-store
- BerespHeader Cache-Control: no-store, no-cache, must-revalidate, max-age=0
- TTL VCL 120 60 0 1621875863 cacheable
- VCL_return deliver
- Filters gunzip esi_gzip
- BerespUnset Content-Encoding: gzip
- BerespHeader Content-Encoding: gzip
- Storage malloc s0
- Fetch_Body 2 chunked -
- Gzip G F E 32559 2474 80 19712 19722
- Gzip U F - 2462 32559 80 80 19630
- BackendReuse 25 default
- Timestamp BerespBody: 1621875862.529699 4.757169 0.001215
- Length 2474
- BereqAcct 234 0 234 268 0 268
- End
* << Request >> 2
- Begin req 1 rxreq
- Timestamp Start: 1621875857.772382 0.000000 0.000000
- Timestamp Req: 1621875857.772382 0.000000 0.000000
- VCL_use boot
- ReqStart 172.29.0.10 50238 a0
- ReqMethod GET
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqProtocol HTTP/1.1
- ReqHeader Host: aws-cloud.docker
- ReqHeader Accept: */*
- ReqHeader Authorization: Bearer 21rkzwgpl2l8rmsoar2k42xq58w4sjfe
- ReqHeader X-Forwarded-For: 172.29.0.10
- VCL_call RECV
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- VCL_return hash
- VCL_call HASH
- VCL_return lookup
- VCL_call MISS
- VCL_return fetch
- Link bereq 3 fetch
- Timestamp Fetch: 1621875862.529746 4.757364 4.757364
- RespProtocol HTTP/1.1
- RespStatus 200
- RespReason OK
- RespHeader Server: nginx/1.19.10
- RespHeader Date: Mon, 24 May 2021 17:04:22 GMT
- RespHeader Content-Type: text/xml; charset=UTF-8
- RespHeader Vary: Accept-Encoding
- RespHeader X-Powered-By: PHP/7.4.16
- RespHeader Pragma: no-cache
- RespHeader Expires: -1
- RespHeader Cache-Control: no-store, no-cache, must-revalidate, max-age=0
- RespHeader Content-Encoding: gzip
- RespHeader X-Varnish: 2
- RespHeader Age: 0
- RespHeader Via: 1.1 varnish (Varnish/6.2)
- VCL_call DELIVER
- RespHeader X-Magento-Cache-Debug: MISS
- RespUnset X-Powered-By: PHP/7.4.16
- RespUnset Server: nginx/1.19.10
- RespUnset X-Varnish: 2
- RespUnset Via: 1.1 varnish (Varnish/6.2)
- VCL_return deliver
- Timestamp Process: 1621875862.529782 4.757399 0.000036
- Filters gunzip
- RespUnset Content-Encoding: gzip
- RespHeader Accept-Ranges: bytes
- RespHeader Content-Length: 32559
- RespHeader Connection: keep-alive
- Gzip U D - 2474 32559 80 19712 19722
- Timestamp Resp: 1621875862.530004 4.757622 0.000222
- ReqAcct 167 0 167 318 32559 32877
- End
* << Session >> 1
- Begin sess 0 HTTP/1
- SessOpen 172.29.0.10 50238 a0 172.29.0.7 80 1621875857.772310 23
- Link req 2 rxreq
- SessClose REM_CLOSE 4.759
- End
* << Request >> 5
- Begin req 4 rxreq
- Timestamp Start: 1621875862.876542 0.000000 0.000000
- Timestamp Req: 1621875862.876542 0.000000 0.000000
- VCL_use boot
- ReqStart 172.29.0.10 50260 a0
- ReqMethod GET
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqProtocol HTTP/1.1
- ReqHeader Host: aws-cloud.docker
- ReqHeader Accept: */*
- ReqHeader X-Forwarded-For: 172.29.0.10
- VCL_call RECV
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- VCL_return hash
- VCL_call HASH
- VCL_return lookup
- Hit 3 119.651942 60.000000 0.000000
- VCL_call HIT
- VCL_return deliver
- RespProtocol HTTP/1.1
- RespStatus 200
- RespReason OK
- RespHeader Server: nginx/1.19.10
- RespHeader Date: Mon, 24 May 2021 17:04:22 GMT
- RespHeader Content-Type: text/xml; charset=UTF-8
- RespHeader Vary: Accept-Encoding
- RespHeader X-Powered-By: PHP/7.4.16
- RespHeader Pragma: no-cache
- RespHeader Expires: -1
- RespHeader Cache-Control: no-store, no-cache, must-revalidate, max-age=0
- RespHeader Content-Encoding: gzip
- RespHeader X-Varnish: 5 3
- RespHeader Age: 0
- RespHeader Via: 1.1 varnish (Varnish/6.2)
- VCL_call DELIVER
- RespHeader X-Magento-Cache-Debug: HIT
- RespUnset X-Powered-By: PHP/7.4.16
- RespUnset Server: nginx/1.19.10
- RespUnset X-Varnish: 5 3
- RespUnset Via: 1.1 varnish (Varnish/6.2)
- VCL_return deliver
- Timestamp Process: 1621875862.876600 0.000058 0.000058
- Filters gunzip
- RespUnset Content-Encoding: gzip
- RespHeader Accept-Ranges: bytes
- RespHeader Content-Length: 32559
- RespHeader Connection: keep-alive
- Gzip U D - 2474 32559 80 19712 19722
- Timestamp Resp: 1621875862.876796 0.000254 0.000196
- ReqAcct 111 0 111 317 32559 32876
- End
* << Session >> 4
- Begin sess 0 HTTP/1
- SessOpen 172.29.0.10 50260 a0 172.29.0.7 80 1621875862.876503 24
- Link req 5 rxreq
- SessClose REM_CLOSE 0.001
- End
varnishlog
running phpunit with --filter '/testSingleServiceWsdl|testNoAuthorizedServices/'
after proposed fix:
* << BeReq >> 6
- Begin bereq 5 fetch
- VCL_use boot
- Timestamp Start: 1621875623.040282 0.000000 0.000000
- BereqMethod GET
- BereqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- BereqProtocol HTTP/1.1
- BereqHeader Host: aws-cloud.docker
- BereqHeader Accept: */*
- BereqHeader Authorization: Bearer qh59baz8yz7xtrxynomtm1ciny9ogf52
- BereqHeader X-Forwarded-For: 172.29.0.10
- BereqHeader Accept-Encoding: gzip
- BereqHeader X-Varnish: 6
- VCL_call BACKEND_FETCH
- VCL_return fetch
- BackendOpen 25 default 172.29.0.9 8080 172.29.0.7 39390
- BackendStart 172.29.0.9 8080
- Timestamp Bereq: 1621875623.040480 0.000198 0.000198
- Timestamp Beresp: 1621875627.816329 4.776048 4.775849
- BerespProtocol HTTP/1.1
- BerespStatus 200
- BerespReason OK
- BerespHeader Server: nginx/1.19.10
- BerespHeader Date: Mon, 24 May 2021 17:00:27 GMT
- BerespHeader Content-Type: text/xml; charset=UTF-8
- BerespHeader Transfer-Encoding: chunked
- BerespHeader Connection: keep-alive
- BerespHeader Vary: Accept-Encoding
- BerespHeader X-Powered-By: PHP/7.4.16
- BerespHeader Cache-Control: no-store
- BerespHeader Content-Encoding: gzip
- TTL RFC 120 10 0 1621875628 1621875628 1621875627 0 0 cacheable
- VCL_call BACKEND_RESPONSE
- BerespHeader Pragma: no-cache
- BerespHeader Expires: -1
- BerespUnset Cache-Control: no-store
- BerespHeader Cache-Control: no-store, no-cache, must-revalidate, max-age=0
- TTL VCL 120 60 0 1621875628 cacheable
- TTL VCL 120 60 0 1621875628 cacheable
- TTL VCL 120 60 0 1621875628 uncacheable
- VCL_return deliver
- Filters gunzip esi_gzip
- BerespUnset Content-Encoding: gzip
- BerespHeader Content-Encoding: gzip
- Storage malloc Transient
- Fetch_Body 2 chunked -
- Gzip G F E 32559 2474 80 19712 19722
- Gzip U F - 2462 32559 80 80 19630
- BackendReuse 25 default
- Timestamp BerespBody: 1621875627.817522 4.777241 0.001193
- Length 2474
- BereqAcct 234 0 234 268 0 268
- End
* << Request >> 5
- Begin req 4 rxreq
- Timestamp Start: 1621875623.040180 0.000000 0.000000
- Timestamp Req: 1621875623.040180 0.000000 0.000000
- VCL_use boot
- ReqStart 172.29.0.10 50074 a0
- ReqMethod GET
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqProtocol HTTP/1.1
- ReqHeader Host: aws-cloud.docker
- ReqHeader Accept: */*
- ReqHeader Authorization: Bearer qh59baz8yz7xtrxynomtm1ciny9ogf52
- ReqHeader X-Forwarded-For: 172.29.0.10
- VCL_call RECV
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- VCL_return hash
- VCL_call HASH
- VCL_return lookup
- VCL_call MISS
- VCL_return fetch
- Link bereq 6 fetch
- Timestamp Fetch: 1621875627.817562 4.777382 4.777382
- RespProtocol HTTP/1.1
- RespStatus 200
- RespReason OK
- RespHeader Server: nginx/1.19.10
- RespHeader Date: Mon, 24 May 2021 17:00:27 GMT
- RespHeader Content-Type: text/xml; charset=UTF-8
- RespHeader Vary: Accept-Encoding
- RespHeader X-Powered-By: PHP/7.4.16
- RespHeader Pragma: no-cache
- RespHeader Expires: -1
- RespHeader Cache-Control: no-store, no-cache, must-revalidate, max-age=0
- RespHeader Content-Encoding: gzip
- RespHeader X-Varnish: 5
- RespHeader Age: 0
- RespHeader Via: 1.1 varnish (Varnish/6.2)
- VCL_call DELIVER
- RespHeader X-Magento-Cache-Debug: MISS
- RespUnset X-Powered-By: PHP/7.4.16
- RespUnset Server: nginx/1.19.10
- RespUnset X-Varnish: 5
- RespUnset Via: 1.1 varnish (Varnish/6.2)
- VCL_return deliver
- Timestamp Process: 1621875627.817589 4.777409 0.000027
- Filters gunzip
- RespUnset Content-Encoding: gzip
- RespHeader Accept-Ranges: bytes
- RespHeader Content-Length: 32559
- RespHeader Connection: keep-alive
- Gzip U D - 2474 32559 80 19712 19722
- Timestamp Resp: 1621875627.817812 4.777632 0.000224
- ReqAcct 167 0 167 318 32559 32877
- End
* << Session >> 4
- Begin sess 0 HTTP/1
- SessOpen 172.29.0.10 50074 a0 172.29.0.7 80 1621875623.040137 23
- Link req 5 rxreq
- SessClose REM_CLOSE 4.779
- End
* << BeReq >> 9
- Begin bereq 8 fetch
- VCL_use boot
- Timestamp Start: 1621875628.162795 0.000000 0.000000
- BereqMethod GET
- BereqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- BereqProtocol HTTP/1.1
- BereqHeader Host: aws-cloud.docker
- BereqHeader Accept: */*
- BereqHeader X-Forwarded-For: 172.29.0.10
- BereqHeader Accept-Encoding: gzip
- BereqHeader X-Varnish: 9
- VCL_call BACKEND_FETCH
- VCL_return fetch
- BackendOpen 25 default 172.29.0.9 8080 172.29.0.7 39390
- BackendStart 172.29.0.9 8080
- Timestamp Bereq: 1621875628.162881 0.000086 0.000086
- Timestamp Beresp: 1621875628.310431 0.147636 0.147550
- BerespProtocol HTTP/1.1
- BerespStatus 401
- BerespReason Unauthorized
- BerespHeader Server: nginx/1.19.10
- BerespHeader Date: Mon, 24 May 2021 17:00:28 GMT
- BerespHeader Content-Type: text/xml; charset=UTF-8
- BerespHeader Transfer-Encoding: chunked
- BerespHeader Connection: keep-alive
- BerespHeader X-Powered-By: PHP/7.4.16
- BerespHeader Cache-Control: no-store
- TTL RFC -1 10 0 1621875628 1621875628 1621875628 0 0 cacheable
- VCL_call BACKEND_RESPONSE
- TTL VCL 0 10 0 1621875628 cacheable
- TTL VCL 0 10 0 1621875628 uncacheable
- VCL_return deliver
- Filters esi_gzip
- BerespHeader Content-Encoding: gzip
- BerespHeader Vary: Accept-Encoding
- Storage malloc Transient
- Fetch_Body 2 chunked -
- Gzip G F E 745 393 80 3064 3074
- BackendReuse 25 default
- Timestamp BerespBody: 1621875628.310731 0.147936 0.000300
- Length 393
- BereqAcct 178 0 178 231 0 231
- End
* << Request >> 8
- Begin req 7 rxreq
- Timestamp Start: 1621875628.162701 0.000000 0.000000
- Timestamp Req: 1621875628.162701 0.000000 0.000000
- VCL_use boot
- ReqStart 172.29.0.10 50098 a0
- ReqMethod GET
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqProtocol HTTP/1.1
- ReqHeader Host: aws-cloud.docker
- ReqHeader Accept: */*
- ReqHeader X-Forwarded-For: 172.29.0.10
- VCL_call RECV
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- ReqURL /soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
- VCL_return hash
- VCL_call HASH
- VCL_return lookup
- HitMiss 6 119.653625
- VCL_call MISS
- VCL_return fetch
- Link bereq 9 fetch
- Timestamp Fetch: 1621875628.310768 0.148067 0.148067
- RespProtocol HTTP/1.1
- RespStatus 401
- RespReason Unauthorized
- RespHeader Server: nginx/1.19.10
- RespHeader Date: Mon, 24 May 2021 17:00:28 GMT
- RespHeader Content-Type: text/xml; charset=UTF-8
- RespHeader X-Powered-By: PHP/7.4.16
- RespHeader Cache-Control: no-store
- RespHeader Content-Encoding: gzip
- RespHeader Vary: Accept-Encoding
- RespHeader X-Varnish: 8
- RespHeader Age: 0
- RespHeader Via: 1.1 varnish (Varnish/6.2)
- VCL_call DELIVER
- RespHeader X-Magento-Cache-Debug: MISS
- RespUnset X-Powered-By: PHP/7.4.16
- RespUnset Server: nginx/1.19.10
- RespUnset X-Varnish: 8
- RespUnset Via: 1.1 varnish (Varnish/6.2)
- VCL_return deliver
- Timestamp Process: 1621875628.310794 0.148093 0.000026
- Filters gunzip
- RespUnset Content-Encoding: gzip
- RespHeader Content-Length: 745
- RespHeader Connection: keep-alive
- Gzip U D - 393 745 80 3064 3074
- Timestamp Resp: 1621875628.310886 0.148184 0.000091
- ReqAcct 111 0 111 235 745 980
- End
* << Session >> 7
- Begin sess 0 HTTP/1
- SessOpen 172.29.0.10 50098 a0 172.29.0.7 80 1621875628.162621 24
- Link req 8 rxreq
- SessClose REM_CLOSE 0.149
- End
:x: One or more functional acceptance tests have failed.
Output for failed tests is below. If many tests have failed only the first 5 will be included. If you need additional information please reach out to the Magento Cloud team for more details.
This comment was generated by Jenkins job magento-cloud-docker/functional build 28.
Codeception PHP Testing Framework v4.1.20
Powered by PHPUnit 8.5.15 by Sebastian Bergmann and contributors.
Acceptance Tests (1) ---------------------------------------
SplitDbCest: Test split db on production mode
Signature: Magento\CloudDocker\Test\Functional\Acceptance\SplitDbCest:testSplitDbOnProductionMode
Test: src/Test/Functional/Acceptance/SplitDbCest.php:testSplitDbOnProductionMode
Scenario --
I cleanup work dir
I is cache work dir exists "master"
I clone template to work dir "master"
I create auth json
I create artifacts dir
I create artifact current tested code "docker","1.2.99"
I add artifacts repo to composer
I add dependency to composer "magento/magento-...","1.2.99"
I add ece tools git repo to composer
I add dependency to composer "magento/e...","dev-devel..."
I composer update
I assert true true,"Composer update failed"
I cache work dir "master"
sh: rsync: not found
I read services yaml
I read app magento yaml
I write services yaml {"mysql":{"type":"mysql:10.3","di...}
I write app magento yaml {"name":"mymagento","type":"ph...}
I write env magento yaml {"stage":{"global":{"SCD_ON_DE...}
I get exposed port
I get exposed port "db_quote"
I get exposed port "db_sales"
I generate docker compose "--mode=production --expose-d..."
I replace images with custom
I start environment
I run docker compose command "run build cloud-build"
I run docker compose command "run deploy cloud-deploy"
I am connected to database "db_quote"
I grab num records "quote_id_mask"
I stop environment
I remove work dir
ERROR
------------------------------------------------------------
13x DEPRECATION: Passing a command as string when creating a "Symfony\Component\Process\Process" instance is deprecated since Symfony 4.2, pass it as an array of its arguments instead, or use the "Process::fromShellCommandline()" constructor if you need features provided by the shell. /app/vendor/symfony/process/Process.php:147
4x DEPRECATION: The Robo\Common\ProcessUtils::escapeArgument() method is a copy of a method that was deprecated by Symfony 3.3 and removed in Symfony 4; it will be removed in Robo 2.0. /app/vendor/consolidation/robo/src/Common/ProcessUtils.php:39
Time: 15.99 minutes, Memory: 16.00 MB
There was 1 error:
---------
1) SplitDbCest: Test split db on production mode
Test src/Test/Functional/Acceptance/SplitDbCest.php:testSplitDbOnProductionMode
[PDOException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento2.quote_id_mask' doesn't exist
Scenario Steps:
30. $I->removeWorkDir() at src/Test/Functional/Acceptance/AbstractCest.php:53
29. $I->stopEnvironment() at src/Test/Functional/Acceptance/AbstractCest.php:52
28. $I->grabNumRecords("quote_id_mask") at src/Test/Functional/Acceptance/SplitDbCest.php:72
27. $I->amConnectedToDatabase("db_quote") at src/Test/Functional/Acceptance/SplitDbCest.php:70
26. $I->runDockerComposeCommand("run deploy cloud-deploy") at src/Test/Functional/Acceptance/SplitDbCest.php:68
25. $I->runDockerComposeCommand("run build cloud-build") at src/Test/Functional/Acceptance/SplitDbCest.php:67
#1 Codeception\Module\Db->grabNumRecords
#2 /app/tests/functional/_support/_generated/CliTesterActions.php:1228
#3 /app/src/Test/Functional/Acceptance/SplitDbCest.php:72
#4 Magento\CloudDocker\Test\Functional\Acceptance\SplitDbCest->testSplitDbOnProductionMode
ERRORS!
Tests: 1, Assertions: 1, Errors: 1.
- XML report generated in file:///app/tests/functional/_output/junit.xml
This comment was generated by Jenkins job magento-cloud-docker/functional build 28.
@shiftedreality , @oshmyheliuk do you know the latest status on this PR? Did we have a chance to review?
Description
Current default.vcl file is caching responses even if they contain "no-cache" or "no-store" in Cache-Control response headers. To verify this misbehavior, run \Magento\Webapi\WsdlGenerationFromDataObjectTest in SOAP mode. Notice that:
/soap/default?wsdl=1&services=testModule5AllSoapAndRestV2
with GET method; Authorization header is required to get a successful response. The Authorization header is passed in the request and generates 200 response.Compare this proposed change to repos that already use it: https://github.com/magento/magento2/blob/2.4-develop/app/code/Magento/PageCache/etc/varnish6.vcl#L184 https://github.com/magento-cicd/cicd-docker/blob/master/dfiles/mdc-jenkins/scripts/varnish.vcl#L191
Fixed Issues (if relevant)
Manual testing scenarios
Release notes
For user-facing changes, add a meaningful release note. For examples, see Magento Cloud Docker release notes.
Associated documentation updates
Add link to Magento DevDocs PR or Issue, if needed.
Contribution checklist