scala-cli icon indicating copy to clipboard operation
scala-cli copied to clipboard

`winget-releaser` failure during `Update Windows packages` step: RequestError [HttpError]: other side closed

Open Gedochao opened this issue 1 year ago • 4 comments

Version(s) happens since the 1.1.1 release

Describe the bug We are getting RequestError [HttpError] when releasing Scala CLI on winget with the winget-releaser action.

RequestError [HttpError]: other side closed
    at D:\a\_actions\vedantmgoyal2009\winget-releaser\v2\dist\index.js:6964:11
    at async D:\a\_actions\vedantmgoyal2009\winget-releaser\v2\dist\index.js:30094:27 {
  status: 500,
  request: {
    method: 'GET',
    url: 'https://api.github.com/repos/microsoft/winget-pkgs/contents/manifests%2Fv%2FVirtusLab%2FScalaCLI',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'octokit-core.js/5.0.1 Node.js/20.8.1 (win32; x64)',
      authorization: 'token [REDACTED]'
    },
    request: {
      agent: Agent {
        _events: [Object: null prototype] {
          free: [Function (anonymous)],
          newListener: [Function: maybeEnableKeylog]
        },
        _eventsCount: 2,
        _maxListeners: undefined,
        defaultPort: 443,
        protocol: 'https:',
        options: [Object: null prototype] {
          keepAlive: true,
          scheduling: 'lifo',
          timeout: 5000,
          noDelay: true,
          path: null
        },
        requests: [Object: null prototype] {},
        sockets: [Object: null prototype] {},
        freeSockets: [Object: null prototype] {},
        keepAliveMsecs: 1000,
        keepAlive: true,
        maxSockets: Infinity,
        maxFreeSockets: 256,
        scheduling: 'lifo',
        maxTotalSockets: Infinity,
        totalSocketCount: 0,
        maxCachedSessions: 100,
        _sessionCache: { map: {}, list: [] },
        [Symbol(kCapture)]: false
      },
      fetch: [Function: proxyFetch],
      hook: [Function: bound bound register]
    }
  }
}

The error seems to be a false positive, as the relevant winget-pckgs PR is being created correctly and the update seems to work, otherwise.

Fortunately, it is the last step, so no important actions are aborted because of this failure.

To Reproduce Seems to happen on every Scala CLI release now. Just check the Update Windows packages step at the end of the release.

Expected behaviour When releasing Scala CLI, we shouldn't have false-positive errors.

Extra context

  • error on the v1.1.2 release job: https://github.com/VirtusLab/scala-cli/actions/runs/7553378895/job/20567398955#step:6:106
    • winget-pckgs PR: https://github.com/microsoft/winget-pkgs/pull/135148
  • error on the v1.1.1 release job: https://github.com/VirtusLab/scala-cli/actions/runs/7475067612/job/20345017036#step:6:123
    • winget-pckgs PR: https://github.com/microsoft/winget-pkgs/pull/133549

Gedochao avatar Jan 17 '24 11:01 Gedochao

Created a corresponding bug ticket on winget-releaser:

  • https://github.com/vedantmgoyal2009/winget-releaser/issues/287

Gedochao avatar Jan 24 '24 12:01 Gedochao

Interestingly, this did not occur with v1.2.0. The PR seemingly got created without any errors:

  • https://github.com/microsoft/winget-pkgs/pull/142841 The CI is green as well:
  • https://github.com/VirtusLab/scala-cli/actions/runs/8185245963/job/22386573746

If no no problems return with v1.2.1, I will close this ticket.

Gedochao avatar Mar 07 '24 11:03 Gedochao

The issue did not return in v1.2.1. Closing this.

Gedochao avatar Apr 03 '24 07:04 Gedochao

The problem came back in 1.3.0: https://github.com/VirtusLab/scala-cli/actions/runs/8844623239/job/24290002815#step:6:102

RequestError [HttpError]: read ECONNRESET
    at D:\a\_actions\vedantmgoyal2009\winget-releaser\v2\dist\index.js:6964:11
    at async D:\a\_actions\vedantmgoyal2009\winget-releaser\v2\dist\index.js:30094:27 {
  status: 500,
  request: {
    method: 'GET',
    url: 'https://api.github.com/repos/microsoft/winget-pkgs/contents/manifests%2Fv%2FVirtusLab%2FScalaCLI',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'octokit-core.js/5.0.1 Node.js/20.8.1 (win32; x64)',
      authorization: 'token [REDACTED]'
    },
    request: {
      agent: Agent {
        _events: [Object: null prototype] {
          free: [Function (anonymous)],
          newListener: [Function: maybeEnableKeylog]
        },
        _eventsCount: 2,
        _maxListeners: undefined,
        defaultPort: 443,
        protocol: 'https:',
        options: [Object: null prototype] {
          keepAlive: true,
          scheduling: 'lifo',
          timeout: 5000,
          noDelay: true,
          path: null
        },
        requests: [Object: null prototype] {},
        sockets: [Object: null prototype] {},
        freeSockets: [Object: null prototype] {},
        keepAliveMsecs: [100](https://github.com/VirtusLab/scala-cli/actions/runs/8844623239/job/24290002815#step:6:103)0,
        keepAlive: true,
        maxSockets: Infinity,
        maxFreeSockets: 256,
        scheduling: 'lifo',
        maxTotalSockets: Infinity,
        totalSocketCount: 0,
        maxCachedSessions: 100,
        _sessionCache: { map: {}, list: [] },
        [Symbol(kCapture)]: false
      },
      fetch: [Function: proxyFetch],
      hook: [Function: bound bound register]
    }
  }
}

Seems likely this is intermittent and we should expect it popping up randomly on releases. Relevant PR got created:

  • https://github.com/microsoft/winget-pkgs/pull/151151

Gedochao avatar Apr 26 '24 09:04 Gedochao