Giter Club home page Giter Club logo

Comments (8)

emmenko avatar emmenko commented on June 14, 2024 1

Sounds a bit fishy as well. What does this mean?

Third-party service needs to implement a new authentication method on the server side so that the JWT token is recognized and verified.

Also, this means that everyone contributing from a fork, has to change .travis.yml in order to provide the custom credentials.
Additionally, this will require that all external contributors have to do this even though they didn't provide any integration test, otherwise the build won't run.
I still think that disabling is the better solution for now.

from nodejs.

emmenko avatar emmenko commented on June 14, 2024 1

That's unfortunately not easy to do, and not reliable. Also, bootstrapping / deleting projects takes more time than the actual integration test itself :/

But that's already a discussion that has been going on for a long time.

from nodejs.

PhilippSpo avatar PhilippSpo commented on June 14, 2024 1

Sorry wrong button 🙈

from nodejs.

Siilwyn avatar Siilwyn commented on June 14, 2024

So any external PR doesn't get the results of integration tests? That sounds like a really bad idea to me or am I missing something?

from nodejs.

emmenko avatar emmenko commented on June 14, 2024

Exactly. I mean this is a fundamental problem with a build system (like travis) that has encrypted variables and it's a big security issue.

https://docs.travis-ci.com/user/pull-requests#Pull-Requests-and-Security-Restrictions

I read some discussions about this and most of the time people just recommend to disable such tasks from an external PR. I also read that for example saucelabs was thinking of having a complex "authentication" mechanism with like public/private keys to allow such cases.

But I don't see much of a problem to be honest:

  • integration tests are decoupled from the packages, so providing unit tests when contributing to packages still allows PRs to be built correctly
  • external contributors can still provide integration tests and run them locally with their own credentials
  • when we merge, integration tests will run again, so we will see anyway if something broke

from nodejs.

Siilwyn avatar Siilwyn commented on June 14, 2024

Yeah it seems like a tough 🥜 too crack.

when we merge, integration tests will run again, so we will see anyway if something broke

That sounds a bit late. What about this solution?

from nodejs.

emmenko avatar emmenko commented on June 14, 2024

I had a quick chat with @PhilippSpo. The jwt approach is not good.

Ideally we should just get from the API a way of getting a temporary token (e.g. valid for 10min) for one of the test projects. No client credentials needed anymore.
More ideally, the API should provide a pool of test projects to use for integration tests, which can be cleaned from the backend.

Until then, I think this is the best way to go ahead with it. But we should bring up this conversation with the backend team.

from nodejs.

Siilwyn avatar Siilwyn commented on June 14, 2024

Well ideally we can create and delete projects. Because afaik that's how they do tests on the backend team. :)

from nodejs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.