nodejs / nodejs/reliability

CI Reliability 2023-10-08

Open
#687 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
57
Forks
20
PR merge metrics
No merged PRs in 30d

Description

Failures in node-test-pull-request/54508 to node-test-pull-request/54605 that failed 2 or more PRs
(Generated with ncu-ci walk pr --stats=true --markdown /home/runner/work/reliability/reliability/results.md)

UTC Time RUNNING SUCCESS UNSTABLE ABORTED FAILURE Green Rate
2023-10-08 00:13 2 16 19 0 63 16.33%
JSTest Failure
Reason pummel/test-heapdump-shadow-realm
Type JS_TEST_FAILURE
Failed PR 9 (https://github.com/nodejs/node/pull/50035/, https://github.com/nodejs/node/pull/50037/, https://github.com/nodejs/node/pull/49990/, https://github.com/nodejs/node/pull/49635/, https://github.com/nodejs/node/pull/50047/, https://github.com/nodejs/node/pull/50057/, https://github.com/nodejs/node/pull/50025/, https://github.com/nodejs/node/pull/49051/, https://github.com/nodejs/node/pull/49823/)
Appeared test-azure_msft-win2016_vs2017-x64-3, test-azure_msft-win2016_vs2017-x64-6, test-azure_msft-win2016_vs2017-x64-2, test-azure_msft-win2016_vs2017-x64-1, test-softlayer-debian10-x64-1
First CI https://ci.nodejs.org/job/node-test-pull-request/54523/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54600/
Example
not ok 915 pummel/test-heapdump-shadow-realm
  ---
  duration_ms: 21274.54700
  severity: fail
  exitcode: 134
  stack: |-
    (node:6112) internal/test/binding: These APIs are for internal testing only. Do not use them.
    (Use `node --trace-warnings ...` to show where the warning was created)
    
    <--- Last few GCs --->
    
    [6112:05C29C08]    20381 ms: Mark-Compact (reduce) 408.6 (429.7) -> 276.6 (282.4) MB, 481.42 / 0.00 ms  (average mu = 0.939, current mu = 0.919) last resort; GC in old space requested
    [6112:05C29C08]    20817 ms: Mark-Compact (reduce) 276.6 (282.4) -> 276.6 (282.4) MB, 435.59 / 0.00 ms  (average mu = 0.859, current mu = 0.000) last resort; GC in old space requested
    
    
    <--- JS stacktrace --->
    
    FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
  ...


Reason parallel/test-fs-watch-recursive-symlink
Type JS_TEST_FAILURE
Failed PR 4 (https://github.com/nodejs/node/pull/50018/, https://github.com/nodejs/node/pull/50077/, https://github.com/nodejs/node/pull/50073/, https://github.com/nodejs/node/pull/50025/)
Appeared test-nearform-macos11.0-arm64-1
First CI https://ci.nodejs.org/job/node-test-pull-request/54579/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54605/
Example
not ok 3831 parallel/test-fs-watch-recursive-symlink
  ---
  duration_ms: 360090.21400
  severity: fail
  exitcode: -15
  stack: |-
    timeout
  ...


Reason parallel/test-whatwg-webstreams-transfer
Type JS_TEST_FAILURE
Failed PR 4 (https://github.com/nodejs/node/pull/50034/, https://github.com/nodejs/node/pull/50035/, https://github.com/nodejs/node/pull/49990/, https://github.com/nodejs/node/pull/49831/)
Appeared undefined, test-digitalocean-ubuntu1804_sharedlibs_container-x64-4
First CI https://ci.nodejs.org/job/node-test-pull-request/54519/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54570/
Example
not ok 3645 parallel/test-whatwg-webstreams-transfer
  ---
  duration_ms: 120092.97500
  severity: fail
  exitcode: -15
  stack: |-
    timeout
  ...


Reason wpt/test-blob
Type JS_TEST_FAILURE
Failed PR 3 (https://github.com/nodejs/node/pull/50025/, https://github.com/nodejs/node/pull/49051/, https://github.com/nodejs/node/pull/50077/)
Appeared test-rackspace-win2022_vs2022-x64-2
First CI https://ci.nodejs.org/job/node-test-pull-request/54591/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54595/
Example
not ok 954 wpt/test-blob
  ---
  duration_ms: 765.99300
  severity: crashed
  exitcode: 3221225477
  stack: |-
    [SKIPPED] Blob-constructor-dom.window.js: Depends on DOM API
    [SKIPPED] Blob-in-worker.worker.js: Depends on Web Workers API
    [SKIPPED] Blob-slice.any.js: Depends on File API
    [PASS] slice start is negative, relativeStart will be max((size + start), 0)
    [PASS] slice start is greater than blob size, relativeStart will be min(start, size)
    [PASS] slice end is negative, relativeEnd will be max((size + end), 0)
    [PASS] slice end is greater than blob size, relativeEnd will be min(end, size)
    [PASS] Blob.arrayBuffer()
    [PASS] Blob.arrayBuffer() empty Blob data
    [PASS] Blob.arrayBuffer() non-ascii input
    [PASS] Blob.arrayBuffer() non-unicode input
    [PASS] Blob.arrayBuffer() concurrent reads
    [PASS] Blob interface object
    [PASS] Blob constructor with no arguments
    [PASS] Blob constructor with no arguments, without 'new'
    [PASS] Blob constructor without bracket...

Reason node-api/test_threadsafe_function/test
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/49963/, https://github.com/nodejs/node/pull/49855/)
Appeared test-equinix-ubuntu1804_container-arm64-2, test-equinix-ubuntu2004_container-armv7l-1
First CI https://ci.nodejs.org/job/node-test-pull-request/54536/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54555/
Example
not ok 3841 node-api/test_threadsafe_function/test
  ---
  duration_ms: 360067.20300
  severity: fail
  exitcode: -15
  stack: |-
    timeout
  ...


Reason parallel/test-debugger-heap-profiler
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/49963/, https://github.com/nodejs/node/pull/50026/)
Appeared test-rackspace-win2022_vs2022-x64-4, test-rackspace-win2012r2_vs2019-x64-2
First CI https://ci.nodejs.org/job/node-test-pull-request/54548/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54581/
Example
not ok 193 parallel/test-debugger-heap-profiler
  ---
  duration_ms: 2056.02500
  severity: fail
  exitcode: 1
  stack: |-
    Can't clean tmpdir: C:\workspace\node-test-binary-windows-js-suites\node\test\.tmp.179
    Files blocking: [ 'node.heapsnapshot' ]
    
    C:\workspace\node-test-binary-windows-js-suites\node\test\common\tmpdir.js:69
        throw e;
        ^
    
    Error: EBUSY: resource busy or locked, rmdir '\\?\C:\workspace\node-test-binary-windows-js-suites\node\test\.tmp.179'
        at rmdirSync (node:fs:1232:10)
        at _rmdirSync (node:internal/fs/rimraf:235:5)
        at rimrafSync (node:internal/fs/rimraf:193:7)
        at Object.rmSync (node:fs:1281:10)
        at rmSync (C:\workspace\node-test-binary-windows-js-suites\node\test\common\tmpdir.js:20:8)
        at onexit (C:\workspace\node-test-binary-windows-js-suites\node\test\common\tmpdir.js:54:5)
        at process.<anonymous> (C:\workspace\node-test-binary-windows-js-suites\node\test\common\tmpdir.js:43:14)
        at process.em...

Reason parallel/test-fs-watch-recursive-add-file-with-url
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/49639/, https://github.com/nodejs/node/pull/50026/)
Appeared test-nearform-macos11.0-arm64-1, test-digitalocean-alpine315_container-x64-1
First CI https://ci.nodejs.org/job/node-test-pull-request/54550/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54581/
Example
not ok 3839 parallel/test-fs-watch-recursive-add-file-with-url
  ---
  duration_ms: 360087.45000
  severity: fail
  exitcode: -15
  stack: |-
    timeout
  ...


Reason parallel/test-inspector-async-stack-traces-set-interval
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/50035/, https://github.com/nodejs/node/pull/50047/)
Appeared test-ibm-rhel8-s390x-4, test-ibm-rhel8-s390x-1
First CI https://ci.nodejs.org/job/node-test-pull-request/54523/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54557/
Example
not ok 2004 parallel/test-inspector-async-stack-traces-set-interval
  ---
  duration_ms: 15294.05600
  severity: fail
  exitcode: 1
  stack: |-
    [test] Connecting to a child Node process
    [test] Testing /json/list
    [err] Debugger listening on ws://127.0.0.1:35455/ed10fed7-af72-40d3-8ddf-5affb2748b5d
    [err] For help, see: https://nodejs.org/en/docs/inspector
    [err] 
    [err] Debugger attached.
    [err] 
    [test] Skipping the first breakpoint in the eval script
    Timed out waiting for matching notification (break on [eval]:0)
    1
  ...


Reason parallel/test-inspector-console
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/31137/, https://github.com/nodejs/node/pull/49824/)
Appeared test-ibm-rhel7-s390x-3
First CI https://ci.nodejs.org/job/node-test-pull-request/54580/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54588/
Example
not ok 2169 parallel/test-inspector-console
  ---
  duration_ms: 15328.22200
  severity: fail
  exitcode: 1
  stack: |-
    [test] Connecting to a child Node process
    [test] Testing /json/list
    [err] Debugger listening on ws://127.0.0.1:44428/a175de77-b5f0-45c3-a2c1-1eb99a8df1ee
    [err] 
    [err] For help, see: https://nodejs.org/en/docs/inspector
    [err] 
    [err] Debugger attached.
    [err] 
    Timed out waiting for matching notification (Runtime.consoleAPICalled)
    1
  ...


Reason parallel/test-runner-output
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/50018/, https://github.com/nodejs/node/pull/49824/)
Appeared test-digitalocean-rhel8-x64-1, test-rackspace-win2012r2_vs2015-x64-2, test-azure_msft-win2016_vs2017-x64-1, test-rackspace-win2019_vs2019-x64-4, test-rackspace-win2022_vs2022-x64-5, test-azure_msft-win2022_vs2019-x64-2, test-azure_msft-win11_vs2022-arm64-3, test-azure_msft-win11_vs2022-arm64-5, test-rackspace-win2012r2_vs2019-x64-1, test-azure_msft-win2016_vs2017-x64-4, test-rackspace-win2019_vs2019-x64-1, test-azure_msft-win2022_vs2019-x64-3, test-azure_msft-win2022_vs2019-x64-1, test-azure_msft-win11_vs2022-arm64-1, test-digitalocean-ubuntu1804_sharedlibs_container-x64-2, test-rackspace-win2022_vs2022-x64-3, test-azure_msft-win2022_vs2019-x64-4, test-azure_msft-win11_vs2022-arm64-2
First CI https://ci.nodejs.org/job/node-test-pull-request/54579/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54588/
Example
not ok 2589 parallel/test-runner-output
  ---
  duration_ms: 3694.80700
  severity: fail
  exitcode: 1
  stack: |-
    TAP version 13
    # Subtest: test runner output
        # Subtest: test-runner/output/abort.js
        ok 1 - test-runner/output/abort.js
          ---
          duration_ms: 1818.43021
          ...


Reason parallel/test-tls-ticket-cluster
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/50039/, https://github.com/nodejs/node/pull/50030/)
Appeared test-rackspace-win2022_vs2022-x64-3, test-azure_msft-win2022_vs2019-x64-2
First CI https://ci.nodejs.org/job/node-test-pull-request/54531/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54584/
Example
not ok 749 parallel/test-tls-ticket-cluster
  ---
  duration_ms: 1100.03800
  severity: fail
  exitcode: 1
  stack: |-
    [primary] got "listening"
    [primary] connecting 54033 session? false
    [primary] got "listening"
    [primary] got "listening"
    [primary] got "listening"
    [worker] connection reused? false
    [primary] got "not-reused"
    [primary] connecting 54033 session? true
    [worker] connection reused? true
    [primary] got "reused"
    [primary] connecting 54033 session? true
    [worker] connection reused? true
    [primary] got "reused"
    [primary] connecting 54033 session? true
    [worker] connection reused? true
    [primary] got "reused"
    [primary] connecting 54033 session? true
    [worker] connection reused? true
    [primary] got "reused"
    [primary] connecting 54033 session? true
    [primary] connecting 54033 session? true
    [worker] connection reused? true
    [primary] got "reused"
    [primary] connecting 54033 session? true
    [worker] connection reused? tru...

Reason pummel/test-fs-watch-non-recursive
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/49953/, https://github.com/nodejs/node/pull/50036/)
Appeared test-orka-macos11-x64-2, test-digitalocean-ubuntu1804_sharedlibs_container-x64-2
First CI https://ci.nodejs.org/job/node-test-pull-request/54508/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54522/
Example
not ok 3530 pummel/test-fs-watch-non-recursive
  ---
  duration_ms: 159.84300
  severity: fail
  exitcode: 1
  stack: |-
    node:assert:125
      throw new AssertionError(obj);
      ^
    
    AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
    + actual - expected
    
    + 'foo.json'
    - 'testsubdir'
        at FSWatcher.<anonymous> (/Users/iojs/build/workspace/node-test-commit-osx/nodes/osx11-x64/test/pummel/test-fs-watch-non-recursive.js:44:10)
        at FSWatcher.emit (node:events:517:28)
        at FSWatcher._handle.onchange (node:internal/fs/watchers:215:12) {
      generatedMessage: true,
      code: 'ERR_ASSERTION',
      actual: 'foo.json',
      expected: 'testsubdir',
      operator: 'strictEqual'
    }
    
    Node.js v18.18.1-pre
  ...


Reason sequential/test-worker-prof
Type JS_TEST_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/50026/, https://github.com/nodejs/node/pull/47839/)
Appeared test-ibm-rhel7-s390x-3, test-equinix-ubuntu2004_sharedlibs_container-arm64-5
First CI https://ci.nodejs.org/job/node-test-pull-request/54581/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54601/
Example
not ok 3749 sequential/test-worker-prof
  ---
  duration_ms: 0.694
  severity: fail
  exitcode: 1
  stack: |-
    node:assert:400
        throw err;
        ^
    
    AssertionError [ERR_ASSERTION]: 12 >= 15
        at Object.<anonymous> (/home/iojs/build/workspace/node-test-commit-linuxone/test/sequential/test-worker-prof.js:78:5)
        at Module._compile (node:internal/modules/cjs/loader:1198:14)
        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
        at Module.load (node:internal/modules/cjs/loader:1076:32)
        at Function.Module._load (node:internal/modules/cjs/loader:911:12)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
        at node:internal/main/run_main_module:22:47 {
      generatedMessage: false,
      code: 'ERR_ASSERTION',
      actual: false,
      expected: true,
      operator: '=='
    }
  ...


Jenkins Failure
Reason Backing channel 'JNLP4-connect connection from ... is disconnected.
Type JENKINS_FAILURE
Failed PR 4 (https://github.com/nodejs/node/pull/49639/, https://github.com/nodejs/node/pull/31137/, https://github.com/nodejs/node/pull/49840/, https://github.com/nodejs/node/pull/49824/)
Appeared test-osuosl-centos7_container-arm64-1, test-osuosl-rhel8_container-arm64-1, test-osuosl-ubuntu2004_sharedlibs_container-arm64-1, test-osuosl-ubuntu2004_container-armv7l-1, test-digitalocean-fedora38-x64-2, test-digitalocean-fedora37-x64-1
First CI https://ci.nodejs.org/job/node-test-pull-request/54565/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54588/
Example
java.io.IOException: Backing channel 'JNLP4-connect connection from 140-211-169-11-openstack.osuosl.org/140.211.169.11:59082' is disconnected.
	at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:215)
	at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:285)
	at jdk.proxy2/jdk.proxy2.$Proxy76.isAlive(Unknown Source)
	at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1215)
	at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1207)

Git Failure
Build Failure
Reason fatal: '/home/iojs/.ccache/node.shared.reference' does not appear to be a git repository
Type BUILD_FAILURE
Failed PR 9 (https://github.com/nodejs/node/pull/49953/, https://github.com/nodejs/node/pull/49990/, https://github.com/nodejs/node/pull/49963/, https://github.com/nodejs/node/pull/49037/, https://github.com/nodejs/node/pull/49639/, https://github.com/nodejs/node/pull/50057/, https://github.com/nodejs/node/pull/50018/, https://github.com/nodejs/node/pull/49824/, https://github.com/nodejs/node/pull/49051/)
Appeared test-equinix-ubuntu2004_container-armv7l-2, test-equinix-ubuntu2004_container-armv7l-1
First CI https://ci.nodejs.org/job/node-test-pull-request/54508/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54594/
Example
fatal: '/home/iojs/.ccache/node.shared.reference' does not appear to be a git repository
fatal: Could not read from remote repository.
fatal: failed to run repack

Reason ERROR: Step ?Publish JUnit test result report? failed: No test report files were found. Configuration error?
Type BUILD_FAILURE
Failed PR 6 (https://github.com/nodejs/node/pull/49970/, https://github.com/nodejs/node/pull/31137/, https://github.com/nodejs/node/pull/49720/, https://github.com/nodejs/node/pull/49963/, https://github.com/nodejs/node/pull/49840/, https://github.com/nodejs/node/pull/49824/)
Appeared test-equinix-centos7_container-arm64-2, test-equinix-centos7_container-arm64-1, test-equinix-ubuntu2004_container-armv7l-1, test-osuosl-ubuntu2004_container-armv7l-1, test-equinix-ubuntu2004_container-armv7l-2, test-osuosl-debian10_container-armv7l-1, test-equinix-ubuntu1804_sharedlibs_container-arm64-1, test-ibm-aix72-ppc64_be-2, test-equinix_mnx-smartos20-x64-3
First CI https://ci.nodejs.org/job/node-test-pull-request/54511/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54588/
Example
ERROR: Step ?Publish JUnit test result report? failed: No test report files were found. Configuration error?
Collecting metadata...
Metadata collection done.
Notifying upstream projects of job completion
Finished: FAILURE

Reason fatal error: string_view: No such file or directory
Type BUILD_FAILURE
Failed PR 3 (https://github.com/nodejs/node/pull/31137/, https://github.com/nodejs/node/pull/49824/, https://github.com/nodejs/node/pull/49639/)
Appeared test-rackspace-centos7-x64-1, test-ibm-ubuntu1804-x64-2, test-digitalocean-ubuntu1804_sharedlibs_container-x64-8, test-digitalocean-ubuntu1804_sharedlibs_container-x64-9, test-digitalocean-ubuntu1804_sharedlibs_container-x64-6, test-digitalocean-ubuntu1804_sharedlibs_container-x64-1, test-digitalocean-ubuntu1804_sharedlibs_container-x64-10, test-digitalocean-ubuntu1804_sharedlibs_container-x64-2, test-digitalocean-ubuntu1804_sharedlibs_container-x64-4, test-digitalocean-ubuntu1804_sharedlibs_container-x64-3, test-digitalocean-ubuntu1804_sharedlibs_container-x64-5, undefined
First CI https://ci.nodejs.org/job/node-test-pull-request/54580/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54602/
Example
fatal error: string_view: No such file or directory

Reason Error: list index out of range
Type BUILD_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/31137/, https://github.com/nodejs/node/pull/49720/)
Appeared test-equinix-debian10_container-armv7l-2
First CI https://ci.nodejs.org/job/node-test-pull-request/54580/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54583/
Example
Error: list index out of range
+ true
+ tap2junit -i cctest.tap -o out/junit/cctest.xml
usage: tap2junit [-h] --input INPUT --output OUTPUT [--compact] [--name NAME]
                 [--package PACKAGE]
tap2junit: error: argument --input/-i: can't open 'cctest.tap': [Errno 2] No such file or directory: 'cctest.tap'

Reason fatal: No rebase in progress?
Type BUILD_FAILURE
Failed PR 2 (https://github.com/nodejs/node/pull/31137/, https://github.com/nodejs/node/pull/49825/)
Appeared test-orka-macos11-x64-1, test-orka-macos10.15-x64-2
First CI https://ci.nodejs.org/job/node-test-pull-request/54580/
Last CI https://ci.nodejs.org/job/node-test-pull-request/54587/
Example
fatal: No rebase in progress?

Progress
  • pummel/test-heapdump-shadow-realm (9)
  • parallel/test-fs-watch-recursive-symlink (4)
  • parallel/test-whatwg-webstreams-transfer (4)
  • wpt/test-blob (3)
  • node-api/test_threadsafe_function/test (2)
  • parallel/test-debugger-heap-profiler (2)
  • parallel/test-fs-watch-recursive-add-file-with-url (2)
  • parallel/test-inspector-async-stack-traces-set-interval (2)
  • parallel/test-inspector-console (2)
  • parallel/test-runner-output (2)
  • parallel/test-tls-ticket-cluster (2)
  • pummel/test-fs-watch-non-recursive (2)
  • sequential/test-worker-prof (2)
  • Backing channel 'JNLP4-connect connection from ... is disconnected. (4)
  • fatal: '/home/iojs/.ccache/node.shared.reference' does not appear to be a git repository (9)
  • ERROR: Step ?Publish JUnit test result report? failed: No test report files were found. Configuration error? (6)
  • fatal error: string_view: No such file or directory (3)
  • Error: list index out of range (2)
  • fatal: No rebase in progress? (2)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the listed failing test entry points, especially pummel/test-heapdump-shadow-realm and parallel/test-fs-watch-recursive-symlink, then inspect their linked CI console runs. Compare failures across the named platforms and reproduce the affected tests; done means the reported recurring CI failures have identified causes and no longer block pull requests.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
ci-cd, testing-qa
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.