From 6b57928bb15422893a0e9299f6119da90fd39e52 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 3 Jun 2026 17:00:37 +0000 Subject: [PATCH 1/3] Initial plan From 4fd4cf91f9312b91c84a39111c434cbeb0dcd4ec Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 3 Jun 2026 17:03:27 +0000 Subject: [PATCH 2/3] Fix false positives in music-social detection --- .github/workflows/music-social.yml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/music-social.yml b/.github/workflows/music-social.yml index 191c0c8a..eb555c59 100644 --- a/.github/workflows/music-social.yml +++ b/.github/workflows/music-social.yml @@ -30,22 +30,32 @@ jobs: - name: Analyser les modifications de music.html id: diff run: | - # Sur un push, comparer la plage exacte de commits de l'événement. - # En exécution manuelle (workflow_dispatch), revenir au commit précédent. if [ "${{ github.event_name }}" = "push" ] && \ [ -n "${{ github.event.before }}" ] && \ [ "${{ github.event.before }}" != "0000000000000000000000000000000000000000" ]; then - DIFF=$(git diff "${{ github.event.before }}" "${{ github.sha }}" -- music.html) + BASE_REF="${{ github.event.before }}" + TARGET_REF="${{ github.sha }}" elif git rev-parse --verify HEAD^ >/dev/null 2>&1; then - DIFF=$(git diff HEAD^ HEAD -- music.html) + BASE_REF="HEAD^" + TARGET_REF="HEAD" else - EMPTY_TREE=$(git hash-object -t tree /dev/null) - DIFF=$(git diff "$EMPTY_TREE" HEAD -- music.html) + BASE_REF="$(git hash-object -t tree /dev/null)" + TARGET_REF="HEAD" fi + # Sur un push, comparer la plage exacte de commits de l'événement. + # En exécution manuelle (workflow_dispatch), revenir au commit précédent. + DIFF=$(git diff "$BASE_REF" "$TARGET_REF" -- music.html) + # Extraire les lignes ajoutées (nouvelles entrées) ADDED=$(echo "$DIFF" | grep "^+" | grep -v "^+++" | sed 's/^+//' | head -50) + # Extraire uniquement la section auto YouTube (source réelle des nouvelles entrées musicales) + NEW_MUSIC_BLOCK=$(git show "$TARGET_REF:music.html" | sed -n '//,//p') + OLD_MUSIC_BLOCK=$(git show "$BASE_REF:music.html" 2>/dev/null | sed -n '//,//p') + MUSIC_BLOCK_DIFF=$(diff -u <(echo "$OLD_MUSIC_BLOCK") <(echo "$NEW_MUSIC_BLOCK") || true) + MUSIC_BLOCK_ADDED=$(echo "$MUSIC_BLOCK_DIFF" | grep "^+" | grep -v "^+++" | sed 's/^+//' | head -50) + # Compter les lignes modifiées en excluant les en-têtes de diff (+++ / ---) LINES_ADDED=$(echo "$DIFF" | grep "^+" | grep -v "^+++" | wc -l) LINES_REMOVED=$(echo "$DIFF" | grep "^-" | grep -v "^---" | wc -l) @@ -57,8 +67,8 @@ jobs: # Sauvegarder le diff dans un fichier temporaire pour l'issue echo "$ADDED" > /tmp/music_changes.txt - # Détecter la présence de nouveaux titres (balises audio ou liens) - if echo "$ADDED" | grep -qiE '(audio|track|mix|set|release|soundcloud|youtube)'; then + # Détecter une vraie nouveauté musicale (nouveaux liens de contenu dans le bloc auto YouTube) + if echo "$MUSIC_BLOCK_ADDED" | grep -qiE 'https?://(www\.)?(youtube\.com|youtu\.be|soundcloud\.com|bandcamp\.com)'; then echo "has_music_content=true" >> "$GITHUB_OUTPUT" else echo "has_music_content=false" >> "$GITHUB_OUTPUT" From 84b2d453d570ca8b0d9afd685cad4248bac40059 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 3 Jun 2026 17:04:50 +0000 Subject: [PATCH 3/3] Scope music-social detection to real music links --- .github/workflows/music-social.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/music-social.yml b/.github/workflows/music-social.yml index eb555c59..d0efe8d1 100644 --- a/.github/workflows/music-social.yml +++ b/.github/workflows/music-social.yml @@ -30,6 +30,8 @@ jobs: - name: Analyser les modifications de music.html id: diff run: | + EMPTY_TREE="$(git hash-object -t tree /dev/null)" + if [ "${{ github.event_name }}" = "push" ] && \ [ -n "${{ github.event.before }}" ] && \ [ "${{ github.event.before }}" != "0000000000000000000000000000000000000000" ]; then @@ -39,7 +41,7 @@ jobs: BASE_REF="HEAD^" TARGET_REF="HEAD" else - BASE_REF="$(git hash-object -t tree /dev/null)" + BASE_REF="$EMPTY_TREE" TARGET_REF="HEAD" fi @@ -51,8 +53,13 @@ jobs: ADDED=$(echo "$DIFF" | grep "^+" | grep -v "^+++" | sed 's/^+//' | head -50) # Extraire uniquement la section auto YouTube (source réelle des nouvelles entrées musicales) + MUSIC_LINK_PATTERN='https?://(www\.)?(youtube\.com|youtu\.be|soundcloud\.com|bandcamp\.com)' NEW_MUSIC_BLOCK=$(git show "$TARGET_REF:music.html" | sed -n '//,//p') - OLD_MUSIC_BLOCK=$(git show "$BASE_REF:music.html" 2>/dev/null | sed -n '//,//p') + if [ "$BASE_REF" = "$EMPTY_TREE" ]; then + OLD_MUSIC_BLOCK="" + else + OLD_MUSIC_BLOCK=$(git show "$BASE_REF:music.html" | sed -n '//,//p') + fi MUSIC_BLOCK_DIFF=$(diff -u <(echo "$OLD_MUSIC_BLOCK") <(echo "$NEW_MUSIC_BLOCK") || true) MUSIC_BLOCK_ADDED=$(echo "$MUSIC_BLOCK_DIFF" | grep "^+" | grep -v "^+++" | sed 's/^+//' | head -50) @@ -68,7 +75,7 @@ jobs: echo "$ADDED" > /tmp/music_changes.txt # Détecter une vraie nouveauté musicale (nouveaux liens de contenu dans le bloc auto YouTube) - if echo "$MUSIC_BLOCK_ADDED" | grep -qiE 'https?://(www\.)?(youtube\.com|youtu\.be|soundcloud\.com|bandcamp\.com)'; then + if echo "$MUSIC_BLOCK_ADDED" | grep -qiE "$MUSIC_LINK_PATTERN"; then echo "has_music_content=true" >> "$GITHUB_OUTPUT" else echo "has_music_content=false" >> "$GITHUB_OUTPUT"