mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Update changelog-pr.yml
This commit is contained in:
		
							
								
								
									
										106
									
								
								.github/workflows/changelog-pr.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										106
									
								
								.github/workflows/changelog-pr.yml
									
									
									
									
										vendored
									
									
								
							@@ -97,71 +97,60 @@ jobs:
 | 
				
			|||||||
                per_page: 100,
 | 
					                per_page: 100,
 | 
				
			||||||
              });
 | 
					              });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              pulls.filter(pr =>
 | 
					            const filteredPRs = pulls.filter(pr =>
 | 
				
			||||||
              pr.merged_at &&
 | 
					              pr.merged_at &&
 | 
				
			||||||
              new Date(pr.merged_at) > latestDateInChangelog &&
 | 
					              new Date(pr.merged_at) > latestDateInChangelog &&
 | 
				
			||||||
              !pr.labels.some(label =>
 | 
					              !pr.labels.some(label =>
 | 
				
			||||||
                ["invalid", "wontdo", process.env.AUTOMATED_PR_LABEL].includes(label.name.toLowerCase())
 | 
					                ["invalid", "wontdo", process.env.AUTOMATED_PR_LABEL].includes(label.name.toLowerCase())
 | 
				
			||||||
                )
 | 
					              )
 | 
				
			||||||
              ).forEach(pr => {
 | 
					            );
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
                const prLabels = pr.labels.map(label => label.name.toLowerCase());
 | 
					            for (const pr of filteredPRs) {  // ✅ for...of unterstützt await
 | 
				
			||||||
                if (pr.user.login === "push-app-to-main") {
 | 
					              const prLabels = pr.labels.map(label => label.name.toLowerCase());
 | 
				
			||||||
                  const scriptName = pr.title;
 | 
					              
 | 
				
			||||||
                  if (scriptName) {
 | 
					              let prNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([#${pr.number}](${pr.html_url}))`;
 | 
				
			||||||
                    try {
 | 
					            
 | 
				
			||||||
                      const { data: relatedIssues } = await github.rest.issues.listForRepo({
 | 
					              if (pr.user.login === "push-app-to-main") {
 | 
				
			||||||
                        owner: context.repo.owner,
 | 
					                const scriptName = pr.title;
 | 
				
			||||||
                        repo: "ProxmoxVED", 
 | 
					                if (scriptName) {
 | 
				
			||||||
                        state: "all",
 | 
					                  try {
 | 
				
			||||||
                        label: "Started Migration To ProxmoxVE",
 | 
					                    const { data: relatedIssues } = await github.rest.issues.listForRepo({
 | 
				
			||||||
                        per_page: 5
 | 
					                      owner: context.repo.owner,
 | 
				
			||||||
                      });                    
 | 
					                      repo: "ProxmoxVED", 
 | 
				
			||||||
                      const matchingIssue = relatedIssues.find(issue => 
 | 
					                      state: "all",
 | 
				
			||||||
                        issue.title.toLowerCase().includes(scriptName.toLowerCase())
 | 
					                      labels: ["Started Migration To ProxmoxVE"],  // "label" -> "labels"
 | 
				
			||||||
                      );
 | 
					                      per_page: 5
 | 
				
			||||||
                      if (matchingIssue) {
 | 
					                    });                    
 | 
				
			||||||
                        const issueAuthor = matchingIssue.user.login;
 | 
					                    const matchingIssue = relatedIssues.find(issue => 
 | 
				
			||||||
                        const issueAuthorUrl = `https://github.com/${issueAuthor}`;
 | 
					                      issue.title.toLowerCase().includes(scriptName.toLowerCase())
 | 
				
			||||||
                        const prNote = `- ${pr.title} [@${issueAuthor}](${issueAuthorUrl}) ([#${pr.number}](${pr.html_url}))`;
 | 
					                    );
 | 
				
			||||||
                      } else {
 | 
					                    if (matchingIssue) {
 | 
				
			||||||
                        const prNote = `- ${pr.title} ([#${pr.number}](${pr.html_url}))`;
 | 
					                      const issueAuthor = matchingIssue.user.login;
 | 
				
			||||||
                      }
 | 
					                      const issueAuthorUrl = `https://github.com/${issueAuthor}`;
 | 
				
			||||||
                    } catch (error) {
 | 
					                      prNote = `- ${pr.title} [@${issueAuthor}](${issueAuthorUrl}) ([#${pr.number}](${pr.html_url}))`;
 | 
				
			||||||
                      console.error(`Error fetching related issues: ${error}`);
 | 
					 | 
				
			||||||
                      const prNote = `- ${pr.title}  ([#${pr.number}](${pr.html_url}))`;
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                  } else {
 | 
					                  } catch (error) {
 | 
				
			||||||
                    const prNote = `- ${pr.title} ([#${pr.number}](${pr.html_url}))`;
 | 
					                    console.error(`Error fetching related issues: ${error}`);
 | 
				
			||||||
 | 
					 | 
				
			||||||
                }else{
 | 
					 | 
				
			||||||
                  const prNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([#${pr.number}](${pr.html_url}))`;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                const updateScriptsCategory = categorizedPRs.find(category =>
 | 
					 | 
				
			||||||
                  category.labels.some(label => prLabels.includes(label))
 | 
					 | 
				
			||||||
                );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (updateScriptsCategory) {
 | 
					 | 
				
			||||||
                  
 | 
					 | 
				
			||||||
                  const subCategory = updateScriptsCategory.subCategories.find(sub =>
 | 
					 | 
				
			||||||
                    sub.labels.some(label => prLabels.includes(label))
 | 
					 | 
				
			||||||
                  );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                  if (subCategory) {
 | 
					 | 
				
			||||||
                    subCategory.notes.push(prNote);
 | 
					 | 
				
			||||||
                  } else {
 | 
					 | 
				
			||||||
                    updateScriptsCategory.notes.push(prNote);
 | 
					 | 
				
			||||||
                  }
 | 
					                  }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              });
 | 
					              }
 | 
				
			||||||
                  
 | 
					            
 | 
				
			||||||
              console.log(JSON.stringify(categorizedPRs, null, 2));
 | 
					              const updateScriptsCategory = categorizedPRs.find(category =>
 | 
				
			||||||
 | 
					                category.labels.some(label => prLabels.includes(label))
 | 
				
			||||||
              return categorizedPRs;
 | 
					              );
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					              if (updateScriptsCategory) {
 | 
				
			||||||
 | 
					                const subCategory = updateScriptsCategory.subCategories.find(sub =>
 | 
				
			||||||
 | 
					                  sub.labels.some(label => prLabels.includes(label))
 | 
				
			||||||
 | 
					                );
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					                if (subCategory) {
 | 
				
			||||||
 | 
					                  subCategory.notes.push(prNote);
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                  updateScriptsCategory.notes.push(prNote);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            main().catch(error => {
 | 
					 | 
				
			||||||
              console.error("Error in script:", error);
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Update CHANGELOG.md
 | 
					      - name: Update CHANGELOG.md
 | 
				
			||||||
        uses: actions/github-script@v7
 | 
					        uses: actions/github-script@v7
 | 
				
			||||||
@@ -184,8 +173,6 @@ jobs:
 | 
				
			|||||||
              const hasMainNotes = notes.length > 0;
 | 
					              const hasMainNotes = notes.length > 0;
 | 
				
			||||||
              const hasSubNotes = hasSubcategories && subCategories.some(sub => sub.notes && sub.notes.length > 0);
 | 
					              const hasSubNotes = hasSubcategories && subCategories.some(sub => sub.notes && sub.notes.length > 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
              if (hasMainNotes || hasSubNotes) {
 | 
					              if (hasMainNotes || hasSubNotes) {
 | 
				
			||||||
                newReleaseNotes += `### ${title}\n\n`;
 | 
					                newReleaseNotes += `### ${title}\n\n`;
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
@@ -202,7 +189,6 @@ jobs:
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            }        
 | 
					            }        
 | 
				
			||||||
        
 | 
					 | 
				
			||||||
            const changelogContent = await fs.readFile(changelogPath, 'utf-8');
 | 
					            const changelogContent = await fs.readFile(changelogPath, 'utf-8');
 | 
				
			||||||
            const changelogIncludesTodaysReleaseNotes = changelogContent.includes(`\n## ${today}`);
 | 
					            const changelogIncludesTodaysReleaseNotes = changelogContent.includes(`\n## ${today}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user