Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not excluding labels with branch-diff v2.0.0 #45

Closed
BethGriggs opened this issue Jan 24, 2022 · 2 comments · Fixed by #50
Closed

Not excluding labels with branch-diff v2.0.0 #45

BethGriggs opened this issue Jan 24, 2022 · 2 comments · Fixed by #50
Labels

Comments

@BethGriggs
Copy link
Member

In today's release session, we started preparing the next Node.js 17 and spotted that the same branch-diff command produced different results for v2.0.0 and v1.10.5. Generally, it looked like there were some commits included in the list that should have been excluded based on the labels provided.

This is the command I used:
npx branch-diff@2.0.0 upstream/v17.x-staging upstream/master --exclude-label=semver-major,dont-land-on-v17.x,backport-requested-v17.x,backport-blocked-v17.x,backport-open-v17.x,backported-to-v17.x --filter-release

Specifically for this command, I spotted that semver majors are appearing in the output for v2.0.0 but not v1.10.5.

Output
* [3ee8c3e45e] - tools: add compile_commands to ignore file (Yash Ladha) https://github.com/nodejs/node/pull/41580
* [49ba2104c4] - util: remove unused fast path in internal debuglog (Rich Trott) https://github.com/nodejs/node/pull/41605
* [c0ef0d5a66] - deps: upgrade npm to 8.3.2 (npm team) https://github.com/nodejs/node/pull/41621
* [400b7c242b] - tools: use Set instead of { [key]: true } object (Tobias Nießen) https://github.com/nodejs/node/pull/41675
* [7ce8403ef1] - test: simplify test-gc-http-client (Luigi Pinca) https://github.com/nodejs/node/pull/41620
* [a8afe26fca] - stream: add drop and take (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41630
* [3d27a04b56] - meta: update AUTHORS (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41659
* [0e6db9c3b0] - doc: modernize and simplify cluster example (Tobias Nießen) https://github.com/nodejs/node/pull/41626
* [c18ca140a1] - tools: fix typo in `tools/code_cache/README.md` (Tobias Nießen) https://github.com/nodejs/node/pull/41657
* [ca489497be] - stream: never flatten on toArray (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41615
* [cc8931a916] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41612
* [68bb83f11b] - tools: enable no-cond-assign-ESLint rule (Rich Trott) https://github.com/nodejs/node/pull/41614
* [d77754bfc7] - test: prepare tests for no-cond-assign ESLint rule (Rich Trott) https://github.com/nodejs/node/pull/41614
* [348469b87a] - repl: check for precise values rather than falsy in loops (Rich Trott) https://github.com/nodejs/node/pull/41614
* [ac06951049] - util: check for null instead of flasy in loop (Rich Trott) https://github.com/nodejs/node/pull/41614
* [bd422452da] - timers: check for nullish instead of falsy in loops (Rich Trott) https://github.com/nodejs/node/pull/41614
* [e044a5d4e9] - process: check for null instead of falsy in while loop (Rich Trott) https://github.com/nodejs/node/pull/41614
* [0bc642202f] - policy: check for null instead of falsy in loop (Rich Trott) https://github.com/nodejs/node/pull/41614
* [e6fdcbe534] - stream: check for null instead of falsy in loops (Rich Trott) https://github.com/nodejs/node/pull/41614
* [c05c8837c1] - crypto: revise variables for const use instead of let (Rich Trott) https://github.com/nodejs/node/pull/41614
* [fbfb61a029] - doc: simplify readline/stdin text (Rich Trott) https://github.com/nodejs/node/pull/41583
* [b09d1f4f04] - tools: update lint-md-dependencies to rollup@2.65.0 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41638
* [312b0fc753] - doc: suggest worker threads in cluster docs (Tobias Nießen) https://github.com/nodejs/node/pull/41616
* [d01c645b9b] - test: move test-gc-http-client-onerror to sequential (Luigi Pinca) https://github.com/nodejs/node/pull/41619
* [a96549af4f] - doc: add 16 and 17 to previous versions (Antoine du Hamel) https://github.com/nodejs/node/pull/41646
* [18365d8ee6] - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) https://github.com/nodejs/node/pull/41600
* [5aa4010503] - crypto: remove wildcard options for checkEmail (Tobias Nießen) https://github.com/nodejs/node/pull/41599
* [b8de7aa4c2] - crypto: adjust types for getRandomValues (LiviaMedeiros) https://github.com/nodejs/node/pull/41481
* [2f1700463b] - (SEMVER-MINOR) readline: add feature yank and yank pop (Ray) https://github.com/nodejs/node/pull/41301
* [dbe60a2302] - doc: improve `'hex'` Buffer decoding description and examples (Giora Guttsait) https://github.com/nodejs/node/pull/41598
* [feafea1154] - lib: fix consistency of methods that emit warnings (Yoshiki Kurihara) https://github.com/nodejs/node/pull/41249
* [806c7c13f3] - doc: add note for handling signal events in trace events (Gabriel Trujillo) https://github.com/nodejs/node/pull/41438
* [82756836b2] - process: use validateString validator (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/41595
* [d0ea81c984] - test: fix typo in test-stream-toArray (Tobias Nießen) https://github.com/nodejs/node/pull/41634
* [3d23d62373] - (SEMVER-MINOR) buffer: alias `subarray` and `slice` (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41596
* [6bf769e4e6] - (SEMVER-MINOR) benchmark: add `subarray` to `buffer-slice` (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41596
* [830cbca810] - (SEMVER-MINOR) doc: deprecate `buffer.slice` (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41596
* [290911b99a] - lib: remove erroneous JSDoc entry (Rich Trott) https://github.com/nodejs/node/pull/41604
* [ec1364b6ae] - build: enable zoslib installation on z/OS (alexcfyung) https://github.com/nodejs/node/pull/41493
* [087939471a] - doc: demonstrate dangers of `buffer.slice()` (Shalvah) https://github.com/nodejs/node/pull/41628
* [870044ffa1] - tools: increase maximum line length to 120 characters (Rich Trott) https://github.com/nodejs/node/pull/41586
* [74867f713a] - doc: add missing word in cluster.workers details (Tobias Nießen) https://github.com/nodejs/node/pull/41624
* [271725a363] - readline: undo previous edit when get key code 0x1F (Ray) https://github.com/nodejs/node/pull/41392
* [5badf46f2a] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41573
* [ef35175527] - doc: fix async_hooks example in api docs (Akhil Marsonya) https://github.com/nodejs/node/pull/41609
* [10b043287c] - test: improve test coverage of internal/worker/io (Yoshiki Kurihara) https://github.com/nodejs/node/pull/41511
* [716aefde41] - doc: fix deprecated alias description in cluster (Tobias Nießen) https://github.com/nodejs/node/pull/41618
* [110aa38c9e] - doc: fix backticks around 'default' (Tobias Nießen) https://github.com/nodejs/node/pull/41613
* [12608d3dbc] - doc: update timingSafeEqual error case (Alex Agranov) https://github.com/nodejs/node/pull/41507
* [9318408c49] - (SEMVER-MAJOR) deps: silence V8's warning on CompileFunction (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [1ad44094a2] - (SEMVER-MAJOR) tools: update V8 gypfiles for 9.7 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [e23e345b6c] - (SEMVER-MAJOR) deps: V8: cherry-pick 80bbbb143c24 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [696ce7df26] - (SEMVER-MAJOR) deps: V8: cherry-pick 1cc12b278e22 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [6ec1664dc8] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 104 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [a189dee52a] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [270253c4e2] - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) https://github.com/nodejs/node/pull/40907
* [5a407d606a] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41553
* [de9dc417fe] - test: add DataView test entry for whatwg (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/40622
* [c4a6f9ab94] - stream: rename unknown primordial (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/40622
* [5753eb102f] - dgram: remove unreachable connectState assign (Rongjian Zhang) https://github.com/nodejs/node/pull/38590
* [9759695545] - lib: modify `DOMException` to pass WPT (Khaidi Chu) https://github.com/nodejs/node/pull/41517
* [8e413ff374] - doc: simplify util.TextDecoder example (Rich Trott) https://github.com/nodejs/node/pull/41574
* [25381da6b8] - test: improve util-format code coverage (Rich Trott) https://github.com/nodejs/node/pull/41572
* [6d666491ce] - crypto: remove checkIP options argument (Tobias Nießen) https://github.com/nodejs/node/pull/41571
* [eda54bae16] - doc: move Mesteery to collaborators (Tobias Nießen) https://github.com/nodejs/node/pull/41597
* [d8f6b383f6] - doc: fix cjs example code for process.arch (Job) https://github.com/nodejs/node/pull/41593
* [da1b59fc13] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) https://github.com/nodejs/node/pull/41569
* [119519e1da] - doc: remove redunant `await` calls from stream docs (Giora Guttsait) https://github.com/nodejs/node/pull/41592
* [22792c8632] - domain: pass opts to `EventEmitter.init` (Chen Gang) https://github.com/nodejs/node/pull/41414
* [26398575dc] - build: add --v8-enable-hugepage flag (Daoming Qiu) https://github.com/nodejs/node/pull/41487
* [dbc6e39ca7] - esm: improve validation of resolved URLs (Jacob Smith) https://github.com/nodejs/node/pull/41446
* [b9258e5e81] - test: fix typo in test_js_native_api_v8 (Tobias Nießen) https://github.com/nodejs/node/pull/41584
* [51783320a4] - process: ignore asyncId 0 in exception handler (Anatoli Papirovski) https://github.com/nodejs/node/pull/41424
* [81e88f27b7] - build: add loong64 configure (Shi Pujin) https://github.com/nodejs/node/pull/41323
* [a199387f04] - doc: make contributing info more discoverable (Michael Dawson) https://github.com/nodejs/node/pull/41408
* [65910c0d6c] - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) https://github.com/nodejs/node/pull/41561
* [56679eb530] - doc: recommend package exports instead of requiring folders (Antoine du Hamel) https://github.com/nodejs/node/pull/41381
* [7a07df4329] - doc: edit async_context context loss text (Rich Trott) https://github.com/nodejs/node/pull/41550
* [f8f3d35bd6] - tools: add missing `.PHONY` and `.NOTPARALLEL` targets in `Makefile` (Antoine du Hamel) https://github.com/nodejs/node/pull/41515
* [50b7ab9659] - build: fix libuv builds for android aarch64 (Darshan Sen) https://github.com/nodejs/node/pull/41555
* [8ed577aae7] - doc,readline: add missing node protocol in example (Mestery) https://github.com/nodejs/node/pull/41560
* [98659c04d5] - doc: use sentence case for Web Crypto headers (Tobias Nießen) https://github.com/nodejs/node/pull/41577
* [cc97ea5df6] - tools: update lint-md-dependencies (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41440
* [eceb2e75d8] - doc: make Web Crypto example spec compliant (Tobias Nießen) https://github.com/nodejs/node/pull/41556
* [c4f5a4939a] - doc: do not reference SSL when discussing SNI (Tobias Nießen) https://github.com/nodejs/node/pull/41549
* [6beee312a4] - tools: bump eslint from 8.6.0 to 8.7.0 (Rich Trott) https://github.com/nodejs/node/pull/41570
* [a1f827a859] - policy: replace entries with keys (Mohammed Keyvanzadeh) https://github.com/nodejs/node/pull/41482
* [6b9d2aefdb] - test: add missing await in fs-rm/fs-rmdir tests (Benjamin Coe) https://github.com/nodejs/node/pull/41545
* [8de858b96d] - test: increase coverage for stream writable (Rich Trott) https://github.com/nodejs/node/pull/41486
* [f458f1b93b] - doc: fix typos in esm.md (Yu) https://github.com/nodejs/node/pull/41499
* [8cba65f61a] - doc: adjust assignment in condition in stream doc (Rich Trott) https://github.com/nodejs/node/pull/41510
* [d0d8320de7] - doc: improve Web Crypto headings related to ECC (Tobias Nießen) https://github.com/nodejs/node/pull/41542
* [5f4f8d417a] - tools: update doc to highlight.js@11.4.0 to-vfile@7.2.3 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41441
* [3f0bcfb203] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41445
* [87325917ec] - doc: clarify module system selection (Antoine du Hamel) https://github.com/nodejs/node/pull/41383
* [0594577e69] - test: add coverage for util.inspect() (Rich Trott) https://github.com/nodejs/node/pull/41527
* [20347d5154] - stream: avoid function call where possible (Rich Trott) https://github.com/nodejs/node/pull/41534
* [a7215c8fa7] - benchmark: remove unreachable code from crypto/hash-stream-creation (Rich Trott) https://github.com/nodejs/node/pull/41535
* [986cf3b986] - doc: remove statement about (EC)DHE performance (Tobias Nießen) https://github.com/nodejs/node/pull/41528
* [67beba879c] - meta: update AUTHORS (Node.js GitHub Bot) https://github.com/nodejs/node/pull/41548
* [807c7e14f4] - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) https://github.com/nodejs/node/pull/41479
* [74b9baa426] - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) https://github.com/nodejs/node/pull/41373
* [63bb6dcf0f] - doc: align links in table to top (nikoladev) https://github.com/nodejs/node/pull/41396
* [a706342368] - src: add kNoBrowserGlobals flag for Environment (Cheng Zhao) https://github.com/nodejs/node/pull/40532
* [48e784043d] - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) https://github.com/nodejs/node/pull/40852
* [26c973d4b3] - (SEMVER-MAJOR) child_process: improve argument validation (Rich Trott) https://github.com/nodejs/node/pull/41305
* [ce4d3adf50] - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) https://github.com/nodejs/node/pull/41271
* [6486a304d3] - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) https://github.com/nodejs/node/pull/41271
* [cea76dbf33] - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) https://github.com/nodejs/node/pull/41270
* [99c18f4786] - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) https://github.com/nodejs/node/pull/41270
* [c8f5dd64b1] - doc: fix date for v12.22.8 (Richard Lau) https://github.com/nodejs/node/pull/41213
* [dab8ab2837] - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) https://github.com/nodejs/node/pull/41020
* [340b770d3f] - stream: unify writableErrored and readableErrored (Robert Nagy) https://github.com/nodejs/node/pull/40799
* [415726b8c4] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) https://github.com/nodejs/node/pull/40802
* [f2170253b6] - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) https://github.com/nodejs/node/pull/40696

I can try and find a smaller recreate but it's evening here and I didn't want to forget to raise this issue 😅.

@richardlau
Copy link
Member

Eyeballing #43 I think branch-diff@2.0.0 is no longer fetching labels for commits before attempting to filter in

if (options.excludeLabels.length > 0) {
list = list.filter((commit) => {
return !commit.labels || !commit.labels.some((label) => {
return options.excludeLabels.indexOf(label) >= 0
})
})
}
. Previously the labels were filtered in a callback for collectCommitLabels():

branch-diff/branch-diff.js

Lines 105 to 116 in 603d3d0

collectCommitLabels(list, (err) => {
if (err) {
return callback(err)
}
if (options.excludeLabels.length > 0) {
list = list.filter((commit) => {
return !commit.labels || !commit.labels.some((label) => {
return options.excludeLabels.indexOf(label) >= 0
})
})
}

Later on

await processCommits(argv, ghId, list)

calls processCommits() in changelog-maker which does fetch labels but it doesn't do any filtering.

@github-actions
Copy link

github-actions bot commented May 5, 2022

🎉 This issue has been resolved in version 2.0.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants