Files
runner/docs/checks/actions.md
2022-02-07 10:45:23 -05:00

4.0 KiB

Actions Connection Check

What is this check for?

Make sure the runner has access to actions service for GitHub.com or GitHub Enterprise Server

  • For GitHub.com

    • The runner needs to access https://api.github.com for downloading actions.
    • The runner needs to access https://vstoken.actions.githubusercontent.com/_apis/.../ for requesting an access token.
    • The runner needs to access https://pipelines.actions.githubusercontent.com/_apis/.../ for receiving workflow jobs.

    These can by tested by running the following curl commands from your self-hosted runner machine:

    curl -v https://api.github.com/api/v3/zen
    curl -v https://vstoken.actions.githubusercontent.com/_apis/health
    curl -v https://pipelines.actions.githubusercontent/_apis/health
    
  • For GitHub Enterprise Server

    • The runner needs to access https://[hostname]/api/v3 for downloading actions.
    • The runner needs to access https://[hostname]/_services/vstoken/_apis/.../ for requesting an access token.
    • The runner needs to access https://[hostname]/_services/pipelines/_apis/.../ for receiving workflow jobs.

    These can by tested by running the following curl commands from your self-hosted runner machine, replacing [hostname] with the hostname of your appliance, for instance github.example.com:

    curl -v https://[hostname]/api/v3/zen
    curl -v https://[hostname]/_services/vstoken/_apis/health
    curl -v https://[hostname]/_services/pipelines/_apis/health
    

    A common cause of this these connectivity issues is if your to GitHub Enterprise Server appliance is using the self-signed certificate that is enabled the first time your appliance is started. As self-signed certificates are not trusted by web browsers and Git clients, these clients (including the GitHub Actions runner) will report certificate warnings.

    We recommend upload a certificate signed by a trusted authority to GitHub Enterprise Server, or enabling the built-in ]Let's Encrypt support.

What is checked?

  • DNS lookup for api.github.com or myGHES.com using dotnet
  • Ping api.github.com or myGHES.com using dotnet
  • Make HTTP GET to https://api.github.com or https://myGHES.com/api/v3 using dotnet, check response headers contains X-GitHub-Request-Id


How to fix the issue?

1. Check the common network issue

Please check the network doc

If you are seeing System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. in the log, it means the runner can't connect to Actions service due to SSL handshake failure.

Please check the SSL cert doc

Still not working?

Contact [GitHub Support](https://support.github.com] if you have further questuons, or log an issue at https://github.com/actions/runner if you think it's a runner issue.