mirror of
https://github.com/edoardottt/awesome-hacker-search-engines.git
synced 2024-10-01 01:05:51 -04:00
Merge pull request #95 from milinddethe15/check-duplicate
Added github action and updated check-dups.sh
This commit is contained in:
commit
b464cf2178
22
.github/workflows/check-duplicates.yml
vendored
Normal file
22
.github/workflows/check-duplicates.yml
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
name: Check Duplicates
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
check-duplicates:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check Out Code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Run Check Duplicates Script
|
||||
run: |
|
||||
chmod +x scripts/check-dups.sh
|
||||
./scripts/check-dups.sh
|
||||
working-directory: ${{ github.workspace }}
|
@ -14,15 +14,23 @@ then
|
||||
readme="../README.md"
|
||||
fi
|
||||
|
||||
links=$(cat $readme | egrep "\- \[" | wc -l)
|
||||
# Function to extract links from a section and check for duplicates
|
||||
check_section() {
|
||||
section=$1
|
||||
section_content=$(awk -v section="$section" '/^### / {p=0} {if(p)print} /^### '"$section"'/ {p=1}' "$readme")
|
||||
duplicate_links=$(echo "$section_content" | grep -oP '\[.*?\]\(\K[^)]+' | sort | uniq -d)
|
||||
if [[ -n $duplicate_links ]]; then
|
||||
echo "[ ERR ] DUPLICATE LINKS FOUND"
|
||||
echo "$duplicate_links"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
uniqlinks=$(cat $readme | egrep "\- \[" | uniq | wc -l)
|
||||
# Get all unique section headings from the README file and handle spaces and slashes
|
||||
sections=$(grep '^### ' "$readme" | sed 's/^### //' | sed 's/[\/&]/\\&/g')
|
||||
|
||||
if [[ $links -eq $uniqlinks ]];
|
||||
then
|
||||
echo "[ OK! ] NO DUPLICATES FOUND."
|
||||
echo "$links links in README."
|
||||
else
|
||||
echo "[ ERR ] DUPLICATES FOUND!"
|
||||
cat $readme | egrep "\- \[" | uniq -c | egrep -iv "1 - ["
|
||||
fi
|
||||
# Call the function for each section
|
||||
for section in $sections; do
|
||||
check_section "$section"
|
||||
done
|
||||
echo "[ OK! ] NO DUPLICATES FOUND."
|
Loading…
Reference in New Issue
Block a user