Regression with v7 when trying to iterate over pull requests.

オープン
#448 コメント 4 件 リアクション 3 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
github-actions, javascript, typescript

調査の方向性

Reproduce the workflow using github.rest.pulls.list and github.paginate.iterator, then inspect the v7 bundle around dist/index.js lines 6790 and 9561 shown in the stack trace. Compare the v7 behavior with v6 and verify that iterating over pull requests reaches the log statement without constructing a malformed request.

索引モデルが issue の本文から書いたものです。

説明

Describe the bug
When trying to iterate over pull requests with gh-script v7, it throws. This did not happen with v6.

To Reproduce
Steps to reproduce the behavior:

  1. Use the following workflow file:
name: Test
on:
  workflow_dispatch:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/github-script@v7
        with:
          script: |
            const {owner, repo} = context.repo;
            await (async () =>
            {
              const pulls = await github.rest.pulls.list({owner, repo});
              for await (const {data} of github.paginate.iterator(pulls))
              {
                console.log(`throws before reaching this :(`)
              }
            })();
  1. Run it manually.

Expected behavior
The runner should not throw, and the log statement should get printed.

Current behaviour
The runner throws. Stacktrace:

RequestError [HttpError]: fetch failed
Error: Unhandled error: HttpError: fetch failed
    at /home/runner/work/_actions/actions/github-script/v7/dist/index.js:9561:11
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Object.next (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:6790:28)
    at async eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35424:16), <anonymous>:7:25)
    at async eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35424:16), <anonymous>:4:22)
    at async main (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35522:20) {
  status: 500,
  request: {
    method: 'GET',
    url: 'https://api.github.com/repos/Miepee/UndertaleModTool/pulls?status=200&data=%5Bobject%20Object%5D',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'actions/github-script octokit-core.js/5.0.1 Node.js/20.8.1 (linux; x64)',
      'access-control-allow-origin': '*',
      'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset',
      'cache-control': 'private, max-age=60, s-maxage=60',
      'content-encoding': 'gzip',
      'content-security-policy': "default-src 'none'",
      'content-type': 'application/json; charset=utf-8',
      date: 'Thu, 11 Jan 2024 23:12:31 GMT',
      etag: 'W/"1165e356503087f242702ad9929ff805d799a1c781f263c5403dfdc189df3eee"',
      'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
      server: 'GitHub.com',
      'strict-transport-security': 'max-age=31536000; includeSubdomains; preload',
      'transfer-encoding': 'chunked',
      vary: 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With',
      'x-accepted-github-permissions': 'pull_requests=read',
      'x-content-type-options': 'nosniff',
      'x-frame-options': 'deny',
      'x-github-api-version-selected': '2022-11-28',
      'x-github-media-type': 'github.v3; format=json',
      'x-github-request-id': '3889:755A:50E4AD4:A717D92:65A075DE',
      'x-ratelimit-limit': '1000',
      'x-ratelimit-remaining': '997',
      'x-ratelimit-reset': '1705018126',
      'x-ratelimit-resource': 'core',
      'x-ratelimit-used': '3',
      'x-xss-protection': '0',
      authorization: 'token [REDACTED]'
    },
    request: {
      agent: [Agent],
      fetch: [Function: proxyFetch],
      hook: [Function: bound bound register]
    }
  }
}
主要言語
TypeScript
スター
5k
フォーク
586
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

actions/github-script のほかの issue

actions/github-script の issue をすべて見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。