From a708d8ac4724a5cd75b0fee681db65786d9ad927 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:10:00 -0400 Subject: [PATCH 01/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index e6affdcc16d..ef960185694 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -22,7 +22,7 @@ jobs: - name: Install dependencies run: | - npm install -g jscpd diff-so-fancy + npm install -g jscpd diff-so-fancy jq - name: Create jscpd config file run: | @@ -43,10 +43,6 @@ jobs: - name: Get the diff run: git diff origin/master...HEAD --name-only > changed_files.txt - - name: Filter JavaScript files - run: | - grep -E '\.js$' changed_files.txt | grep -v 'spec.js' > js_files.txt || true - - name: List generated files (debug) run: ls -l @@ -56,3 +52,21 @@ jobs: with: name: unfiltered-jscpd-report path: ./jscpd-report.json + + - name: Filter jscpd report for changed files + run: | + if [ ! -f ./jscpd-report.json ]; then + echo "jscpd-report.json not found" + exit 1 + fi + echo "Filtering jscpd report for changed files..." + CHANGED_FILES=$(jq -R -s -c 'split("\n")[:-1]' changed_files.txt) + jq --argjson changed_files "$CHANGED_FILES" '.duplicates | map(select($changed_files | index(.firstFile) or $changed_files | index(.secondFile)))' ./jscpd-report.json > filtered-jscpd-report.json + cat filtered-jscpd-report.json + + - name: Upload filtered jscpd report + if: always() + uses: actions/upload-artifact@v4 + with: + name: filtered-jscpd-report + path: ./filtered-jscpd-report.json From a185066589b59d2e0ef32546031b8928a6671640 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:11:11 -0400 Subject: [PATCH 02/16] Update 33acrossBidAdapter.js --- modules/33acrossBidAdapter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/33acrossBidAdapter.js b/modules/33acrossBidAdapter.js index d8a32d75afc..1eab05ba47f 100644 --- a/modules/33acrossBidAdapter.js +++ b/modules/33acrossBidAdapter.js @@ -15,7 +15,7 @@ import { import {BANNER, VIDEO} from '../src/mediaTypes.js'; import {isSlotMatchingAdUnitCode} from '../libraries/gptUtils/gptUtils.js'; -// **************************** UTILS *************************** // +// **************************** UTILS ************************** // const BIDDER_CODE = '33across'; const BIDDER_ALIASES = ['33across_mgni']; const END_POINT = 'https://ssc.33across.com/api/v1/hb'; From c59636e22a44212b5cf7e4a90da7ddbdcf624f84 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:16:00 -0400 Subject: [PATCH 03/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index ef960185694..2cbfef987d9 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -64,9 +64,9 @@ jobs: jq --argjson changed_files "$CHANGED_FILES" '.duplicates | map(select($changed_files | index(.firstFile) or $changed_files | index(.secondFile)))' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json - - name: Upload filtered jscpd report - if: always() - uses: actions/upload-artifact@v4 - with: - name: filtered-jscpd-report - path: ./filtered-jscpd-report.json + - name: Upload filtered jscpd report + if: always() + uses: actions/upload-artifact@v4 + with: + name: filtered-jscpd-report + path: ./filtered-jscpd-report.json From 51cd4d2ca8ef2df0f7f4699f8dedc9386884f75b Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:20:18 -0400 Subject: [PATCH 04/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 2cbfef987d9..3c388583212 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -22,7 +22,9 @@ jobs: - name: Install dependencies run: | - npm install -g jscpd diff-so-fancy jq + sudo apt-get update + sudo apt-get install -y jq + npm install -g jscpd diff-so-fancy - name: Create jscpd config file run: | From bf5f72ee9494aef61508a7dc3d8ec011447bb508 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:24:02 -0400 Subject: [PATCH 05/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 3c388583212..8898cff4a24 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -63,7 +63,8 @@ jobs: fi echo "Filtering jscpd report for changed files..." CHANGED_FILES=$(jq -R -s -c 'split("\n")[:-1]' changed_files.txt) - jq --argjson changed_files "$CHANGED_FILES" '.duplicates | map(select($changed_files | index(.firstFile) or $changed_files | index(.secondFile)))' ./jscpd-report.json > filtered-jscpd-report.json + echo "Changed files: $CHANGED_FILES" + jq --argjson changed_files "$CHANGED_FILES" '.duplicates | map(select(.firstFile | in($changed_files) or .secondFile | in($changed_files)))' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json - name: Upload filtered jscpd report From 6dd17119add762c9383386d88edf68881c8c80c6 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:30:47 -0400 Subject: [PATCH 06/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 8898cff4a24..d9e06316549 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -64,7 +64,7 @@ jobs: echo "Filtering jscpd report for changed files..." CHANGED_FILES=$(jq -R -s -c 'split("\n")[:-1]' changed_files.txt) echo "Changed files: $CHANGED_FILES" - jq --argjson changed_files "$CHANGED_FILES" '.duplicates | map(select(.firstFile | in($changed_files) or .secondFile | in($changed_files)))' ./jscpd-report.json > filtered-jscpd-report.json + jq --argjson changed_files "$CHANGED_FILES" '.duplicates | map(select($changed_files | index(.firstFile) or $changed_files | index(.secondFile)))' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json - name: Upload filtered jscpd report From 77987bf805e0d65c859a1005274a1eb5913677ed Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:37:56 -0400 Subject: [PATCH 07/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index d9e06316549..fd80de45bd2 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -22,8 +22,6 @@ jobs: - name: Install dependencies run: | - sudo apt-get update - sudo apt-get install -y jq npm install -g jscpd diff-so-fancy - name: Create jscpd config file From dd092881a66013fb5823e31363f6ab533307b143 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:45:28 -0400 Subject: [PATCH 08/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index fd80de45bd2..2f1a3d9319c 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -62,11 +62,25 @@ jobs: echo "Filtering jscpd report for changed files..." CHANGED_FILES=$(jq -R -s -c 'split("\n")[:-1]' changed_files.txt) echo "Changed files: $CHANGED_FILES" - jq --argjson changed_files "$CHANGED_FILES" '.duplicates | map(select($changed_files | index(.firstFile) or $changed_files | index(.secondFile)))' ./jscpd-report.json > filtered-jscpd-report.json + jq --argjson changed_files "$CHANGED_FILES" ' + .duplicates | map(select( + ($changed_files | index(.firstFile.name)) or + ($changed_files | index(.secondFile.name)) + )) + ' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json + - name: Check if filtered jscpd report exists + id: check_filtered_report + run: | + if [ -f ./filtered-jscpd-report.json ]; then + echo "filtered_report_exists=true" >> $GITHUB_ENV + else + echo "filtered_report_exists=false" >> $GITHUB_ENV + fi + - name: Upload filtered jscpd report - if: always() + if: env.filtered_report_exists == 'true' uses: actions/upload-artifact@v4 with: name: filtered-jscpd-report From fde6315fd425b5dd7a9a6f9cc7d5187d7adf9ea8 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 14:49:06 -0400 Subject: [PATCH 09/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 2f1a3d9319c..356fc58c59a 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -22,6 +22,8 @@ jobs: - name: Install dependencies run: | + sudo apt-get update + sudo apt-get install -y jq npm install -g jscpd diff-so-fancy - name: Create jscpd config file @@ -64,8 +66,8 @@ jobs: echo "Changed files: $CHANGED_FILES" jq --argjson changed_files "$CHANGED_FILES" ' .duplicates | map(select( - ($changed_files | index(.firstFile.name)) or - ($changed_files | index(.secondFile.name)) + ($changed_files | index(.firstFile.name)) != null or + ($changed_files | index(.secondFile.name)) != null )) ' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json From b41f33c0aefefe2097d44f63b7fd7dda5d0be74d Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 15:08:04 -0400 Subject: [PATCH 10/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 356fc58c59a..3407c1b5686 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -22,8 +22,6 @@ jobs: - name: Install dependencies run: | - sudo apt-get update - sudo apt-get install -y jq npm install -g jscpd diff-so-fancy - name: Create jscpd config file @@ -66,8 +64,8 @@ jobs: echo "Changed files: $CHANGED_FILES" jq --argjson changed_files "$CHANGED_FILES" ' .duplicates | map(select( - ($changed_files | index(.firstFile.name)) != null or - ($changed_files | index(.secondFile.name)) != null + ($changed_files | index(.firstFile.name) // -1) >= 0 or + ($changed_files | index(.secondFile.name) // -1) >= 0 )) ' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json From 648d8498b4448366ceb7020db58805d003226d74 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 15:12:35 -0400 Subject: [PATCH 11/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 3407c1b5686..9fe419b869b 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -64,8 +64,8 @@ jobs: echo "Changed files: $CHANGED_FILES" jq --argjson changed_files "$CHANGED_FILES" ' .duplicates | map(select( - ($changed_files | index(.firstFile.name) // -1) >= 0 or - ($changed_files | index(.secondFile.name) // -1) >= 0 + any($changed_files[]; . == .firstFile.name) or + any($changed_files[]; . == .secondFile.name) )) ' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json From d6052afb99efb8072968c8962064e01591740444 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 15:18:27 -0400 Subject: [PATCH 12/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 9fe419b869b..28ac9a64659 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -64,9 +64,10 @@ jobs: echo "Changed files: $CHANGED_FILES" jq --argjson changed_files "$CHANGED_FILES" ' .duplicates | map(select( - any($changed_files[]; . == .firstFile.name) or - any($changed_files[]; . == .secondFile.name) - )) + .firstFile.name as $fname | $changed_files | any(. == $fname) or + .secondFile.name as $sname | $changed_files | any(. == $sname) + ) + ) ' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json From 7910aaeea1b658ffdf8edd0cd635fa10fa12adb4 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 15:19:17 -0400 Subject: [PATCH 13/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 28ac9a64659..f54c35c56b7 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -64,8 +64,8 @@ jobs: echo "Changed files: $CHANGED_FILES" jq --argjson changed_files "$CHANGED_FILES" ' .duplicates | map(select( - .firstFile.name as $fname | $changed_files | any(. == $fname) or - .secondFile.name as $sname | $changed_files | any(. == $sname) + .firstFile?.name? as $fname | $changed_files | any(. == $fname) or + .secondFile?.name? as $sname | $changed_files | any(. == $sname) ) ) ' ./jscpd-report.json > filtered-jscpd-report.json From 5fc2fbe78ab983ae3445d3787f2883a34e78d647 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 15:24:35 -0400 Subject: [PATCH 14/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index f54c35c56b7..2aa7fa635b2 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -86,3 +86,25 @@ jobs: with: name: filtered-jscpd-report path: ./filtered-jscpd-report.json + + - name: Post GitHub comment + if: env.filtered_report_exists == 'true' + uses: actions/github-script@v6 + with: + script: | + const fs = require('fs'); + const filteredReport = JSON.parse(fs.readFileSync('filtered-jscpd-report.json', 'utf8')); + let comment = "Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:\n\n"; + filteredReport.forEach(duplication => { + const firstFile = duplication.firstFile.name; + const secondFile = duplication.secondFile.name; + const lines = duplication.lines; + comment += `- \`${firstFile}\` has ${lines} duplicated lines with \`${secondFile}\`\n`; + }); + comment += "\nReducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Keep up the great work! 🚀"; + github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: comment + }); From 44ca5a9744e49ad1cb749d99afb755d6a4c2e4eb Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 15:27:40 -0400 Subject: [PATCH 15/16] Update jscpd.yml From 0209d8ae53aab7643cb8776925b0deaaa889b144 Mon Sep 17 00:00:00 2001 From: Patrick McCann Date: Sun, 9 Jun 2024 15:29:51 -0400 Subject: [PATCH 16/16] Update jscpd.yml --- .github/workflows/jscpd.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/jscpd.yml b/.github/workflows/jscpd.yml index 2aa7fa635b2..3cdd682e740 100644 --- a/.github/workflows/jscpd.yml +++ b/.github/workflows/jscpd.yml @@ -64,17 +64,16 @@ jobs: echo "Changed files: $CHANGED_FILES" jq --argjson changed_files "$CHANGED_FILES" ' .duplicates | map(select( - .firstFile?.name? as $fname | $changed_files | any(. == $fname) or - .secondFile?.name? as $sname | $changed_files | any(. == $sname) - ) - ) + (.firstFile?.name as $fname | $changed_files | any(. == $fname)) or + (.secondFile?.name as $sname | $changed_files | any(. == $sname)) + )) ' ./jscpd-report.json > filtered-jscpd-report.json cat filtered-jscpd-report.json - name: Check if filtered jscpd report exists id: check_filtered_report run: | - if [ -f ./filtered-jscpd-report.json ]; then + if [ -s ./filtered-jscpd-report.json ]; then echo "filtered_report_exists=true" >> $GITHUB_ENV else echo "filtered_report_exists=false" >> $GITHUB_ENV @@ -87,7 +86,7 @@ jobs: name: filtered-jscpd-report path: ./filtered-jscpd-report.json - - name: Post GitHub comment + - name: Post GitHub comment if: env.filtered_report_exists == 'true' uses: actions/github-script@v6 with: