Skip to content

Action does not work behind a proxy #949

Open

Description

What happened?

When using the action in a GitHub runner which is behind a proxy, the action does not work and times out waiting for connection. Tried setting necessary http_proxy, https_proxy env vars for the action but it still does not help.

/runner/_work/_actions/pulumi/actions/v4/webpack:/pulumi-github-action/node_modules/got/dist/source/core/index.js:970
            error = error instanceof timed_out_1.TimeoutError ? new TimeoutError(error, this.timings, this) : new RequestError(error.message, error, this);
^
RequestError: connect ETIMEDOUT 185.199.108.133:443
    at ClientRequest.<anonymous> (/runner/_work/_actions/pulumi/actions/v4/webpack:/pulumi-github-action/node_modules/got/dist/source/core/index.js:970:1)
    at Object.onceWrapper (node:events:642:26)
    at ClientRequest.emit (node:events:539:35)
    at ClientRequest.origin.emit (/runner/_work/_actions/pulumi/actions/v4/webpack:/pulumi-github-action/node_modules/@szmarczak/http-timer/dist/source/index.js:43:1)
    at TLSSocket.socketErrorListener (node:_http_client:454:9)
    at TLSSocket.emit (node:events:527:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16)

Expected Behavior

The action is able to run behind the proxy with necessary env vars set.

Steps to reproduce

Run the action on a runner that is behind a proxy.

Output of pulumi about

CLI
Version 3.68.0
Go Version go1.20.4
Go Compiler gc

Plugins
NAME VERSION
aws 5.18.0
awsx 1.0.2
docker 3.6.1
nodejs unknown

Host
OS ubuntu
Version 20.04
Arch x86_64

This project is written in nodejs: executable='/snap/bin/node' version='v18.16.0'

Backend
Name ********
URL s3://********
User *****
Organizations

Dependencies:
NAME VERSION
@pulumi/aws 5.18.0
@pulumi/awsx 1.0.2
@pulumi/pulumi 3.68.0
@types/node 16.18.32
typescript 4.9.5

Pulumi locates its logs in /tmp by default
warning: Failed to get information about the current stack: No current snapshot

Additional context

Upon checking the code, it seems that the error originates when getting matching version info at

const result = await got(

Adding proxy config to 'got' should fix the issue,
https://github.com/sindresorhus/got/blob/main/documentation/tips.md#proxying

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    area/cicdimpact/usabilitySomething that impacts users' ability to use the product easily and intuitivelySomething that impacts users' ability to use the product easily and intuitivelykind/bugSome behavior is incorrect or out of specSome behavior is incorrect or out of specsize/SEstimated effort to complete (1-2 days).Estimated effort to complete (1-2 days).

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions