Giter VIP home page Giter VIP logo

Comments (2)

svteb avatar svteb commented on August 17, 2024

From ChatGPT:

The error message Cannot perform an interactive login from a non TTY device is occurring because the docker login command is trying to run in a non-interactive shell, and it's failing due to the absence of the required environment variables that should be populated with secrets.

The solution would be to somehow implement the pull_request_target event. But there are possible problems with security, some described in this stackoverflow thread.

from testsuite.

kosstennbl avatar kosstennbl commented on August 17, 2024

Some analysis about secret usage in our workflows:
We have only 2 places in our actions where secrets are needed:

  1. GITHUB_TOKEN
  2. Docker login ENV

IMO GitHub token usage can be safely removed from actions as it is used for automatic creation of releases for each PR (which is redundant from my sight, we have 587 releases at the moment).

Docker login is a harder situation to solve, as i remember - we need it because of the large amounts of pulled images during testing.
I see two solutions there:

  1. Check and fix if possible that large amount of requests to DockerHub in our spec tests
  2. Pre-load all the required images to the runners before the start of the test (but it could lead to the same limitations)

About pull_request_target: Seems that it can help by running in "privileged mode" on the target branch for PR, but checking out code from the "change" branch of PR. Security measures need to be taken not to leak secrets through environment or other means. Also, it seems that we wouldn't be able to test changes to CI with this method (as it will always run CI from main), some additional tricks would be needed.
I could be missing or misunderstanding something, feel free to correct.

from testsuite.

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.