Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enable "got" #825

Open
targos opened this issue Sep 9, 2020 · 9 comments
Open

Re-enable "got" #825

targos opened this issue Sep 9, 2020 · 9 comments

Comments

@targos
Copy link
Member

targos commented Sep 9, 2020

Skipped in #795

Node.js v14.10.0 just broke the module: nodejs/node#35116

@richardlau
Copy link
Member

citgm got against v14.9.0: https://ci.nodejs.org/job/citgm-smoker-nobuild/935/

@richardlau
Copy link
Member

@targos
Copy link
Member Author

targos commented Sep 11, 2020

It looks like the tests are broken on macOS and flaky otherwise?

@richardlau
Copy link
Member

Looks like it is flaky on AIX and Ubuntu1804. I've started another run just to check: https://ci.nodejs.org/job/citgm-smoker-pipeline/122/

For macOS, 10.14 is timing out. Our 10.14 macs appear to be generally slow -- I don't think we've worked out why as it should be the same set up (via Orka) as the 10.15 machines (cc @AshCripps).

It does look one test is broken on macOS 10.15:

   https.ts  https request with expired certificate
   Rejected promise returned by test. Reason:
   Error {
     message: `Invalid openssl exit code: 1
     % openssl x509 -req -sha256 -days -1 -in /Users/iojs/tmp/citgm_tmp/6c71821d-852e-4a26-b762-dc7f1362e6f3/npm_config_tmp/87d41d380a85709a673f0aefce00efbdf65bc57d -CA /Users/iojs/tmp/citgm_tmp/6c71821d-852e-4a26-b762-dc7f1362e6f3/npm_config_tmp/7041f249bfd7599593ca6502cafb16db1ed995a6 -CAkey /Users/iojs/tmp/citgm_tmp/6c71821d-852e-4a26-b762-dc7f1362e6f3/npm_config_tmp/96e139c0d53bb9187dadd0ab29b49d9eee663eb9 -CAcreateserial
     bad number of days: too small
     usage: x509 args
      -inform arg     - input format - default PEM (one of DER, NET or PEM)
      -outform arg    - output format - default PEM (one of DER, NET or PEM)
      -keyform arg    - private key format - default PEM
      -CAform arg     - CA format - default PEM
      -CAkeyform arg  - CA key format - default PEM
      -in arg         - input file - default stdin
      -out arg        - output file - default stdout
      -passin arg     - private key password source
      -serial         - print serial number value
      -subject_hash   - print subject hash value
      -subject_hash_old   - print old-style (MD5) subject hash value
      -issuer_hash    - print issuer hash value
      -issuer_hash_old    - print old-style (MD5) issuer hash value
      -hash           - synonym for -subject_hash
      -subject        - print subject DN
      -issuer         - print issuer DN
      -email          - print email address(es)
      -startdate      - notBefore field
      -enddate        - notAfter field
      -purpose        - print out certificate purposes
      -dates          - both Before and After dates
      -modulus        - print the RSA key modulus
      -pubkey         - output the public key
      -fingerprint    - print the certificate fingerprint
      -alias          - output certificate alias
      -noout          - no certificate output
      -ocspid         - print OCSP hash values for the subject name and public key
      -ocsp_uri       - print OCSP Responder URL(s)
      -trustout       - output a "trusted" certificate
      -clrtrust       - clear all trusted purposes
      -clrreject      - clear all rejected purposes
      -addtrust arg   - trust certificate for a given purpose
      -addreject arg  - reject certificate for a given purpose
      -setalias arg   - set certificate alias
      -days arg       - How long till expiry of a signed certificate - def 30 days
      -checkend arg   - check whether the cert expires in the next arg seconds
                        exit 1 if so, 0 if not
      -signkey arg    - self sign cert with arg
      -x509toreq      - output a certification request object
      -req            - input is a certificate request, sign and output.
      -CA arg         - set the CA certificate, must be PEM format.
      -CAkey arg      - set the CA key, must be PEM format
                        missing, it is assumed to be in the CA file.
      -CAcreateserial - create serial number file if it does not exist
      -CAserial arg   - serial file
      -set_serial     - serial number to use
      -text           - print the certificate in text form
      -C              - print out C code forms
      -md5/-sha1      - digest to use
      -extfile        - configuration file with X509V3 extensions to add
      -extensions     - section from config file with X509V3 extensions to add
      -clrext         - delete extensions before signing and input certificate
      -nameopt arg    - various certificate name options
      -certopt arg    - various certificate text options
     `,
   }
    -certopt arg    - various certificate text options
    done (node_modules/pem/lib/openssl.js:158:27)
    ChildProcess.<anonymous> (node_modules/pem/lib/openssl.js:175:7)
    maybeClose (internal/child_process.js:1047:16)
    Socket.<anonymous> (internal/child_process.js:438:11)

I think re-enabling with flaky on AIX and Ubuntu and skipping on macOS would be a good start.

@Giotino
Copy link

Giotino commented Sep 11, 2020

This PR should address nearly all the issues: sindresorhus/got#1461

The only issue not resolved are:

About the ERR_OSSL_ASN1_WRONG_TAG I don't know what happened, I'm unable to reproduce it in docker (ubuntu:bionic, Node.JS v12.18.3 and OpenSSL 1.1.1-1ubuntu2.1~18.04.6)

@Giotino
Copy link

Giotino commented Sep 15, 2020

@richardlau
I've an update on the "compatibility" of Got with CITGM.

The current master branch of Got has the fixes needed to run on CITGM.

https://travis-ci.com/github/sindresorhus/got/builds/184382788 (we also tested it on older ubuntu versions and macOS 10.14, but we removed the tests from the CI).

The ERR_OSSL_ASN1_WRONG_TAG error seems to be a rare OpenSSL error (might be due to the pem module), in my testing I've never saw it before today (I re-ran the tests, without any modification, and it disappeared).

About the EOF errors on aix71-ppc64 currently I've no way of testing it, I think I could set-up something with QEMU...

@richardlau
Copy link
Member

@Giotino
Copy link

Giotino commented Sep 18, 2020

Another CI: ci.nodejs.org/job/citgm-smoker-pipeline/123

I see you ran CITGM on the NPM release of Got, but actually the fixes are only on the master branch, we have not yet released and update on NPM.

@targos
Copy link
Member Author

targos commented Mar 7, 2021

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

No branches or pull requests

3 participants