From 92dd7f36ab3dc8a92f835028d06b76a648655276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 31 May 2024 16:29:59 +0200 Subject: [PATCH] Test run for closing community metrics issues --- .github/workflows/community_metrics.yml | 77 ++++--------------------- 1 file changed, 11 insertions(+), 66 deletions(-) diff --git a/.github/workflows/community_metrics.yml b/.github/workflows/community_metrics.yml index 720799ab124..47cc24f681b 100644 --- a/.github/workflows/community_metrics.yml +++ b/.github/workflows/community_metrics.yml @@ -1,10 +1,7 @@ name: Community Metrics on: - workflow_dispatch: - schedule: - # Run on the first day of every month at 2:19 AM UTC. - - cron: '19 2 1 * *' - + push: + permissions: issues: write pull-requests: read @@ -14,68 +11,16 @@ jobs: name: Generate Community Metrics runs-on: ubuntu-latest steps: - - name: Get Dates For Last Month - shell: pwsh - run: | - # Calculate the first day of the previous month. - $firstDay = (Get-Date).AddMonths(-1).ToString("yyyy-MM-01") - - # Calculate the last day of the previous month. - $lastDay = (Get-Date $firstDay).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") - - # Set an environment variable with the date range. - Write-Output "$firstDay..$lastDay" - Write-Output "LAST_MONTH=$firstDay..$lastDay" >> $env:GITHUB_ENV - - - name: Compute Issue Metrics - uses: github/issue-metrics@v3 - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SEARCH_QUERY: 'repo:OrchardCMS/OrchardCore is:issue created:${{ env.LAST_MONTH }} -reason:"not planned" -label:"community metrics"' - HIDE_TIME_TO_ANSWER: true - - - name: Rename Issue Metrics File - shell: pwsh - run: | - # Renaming the file wouldn't work since other scripts will be denied access to it for some reason. - Add-Content -Path ./community_metrics.md -Value (Get-Content -Path ./issue_metrics.md -Raw) - - - name: Compute Pull Request Metrics - uses: github/issue-metrics@v3 - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SEARCH_QUERY: 'repo:OrchardCMS/OrchardCore is:pr created:${{ env.LAST_MONTH }} -label:dontmerge -label:notready -is:draft' - HIDE_TIME_TO_ANSWER: true - - - name: Concatenate Issue and Pull Request Metrics + - name: Close Previous Issue shell: pwsh run: | - $content = (Get-Content -Path ./issue_metrics.md -Raw) -replace '# Issue Metrics', '# Pull Request Metrics' - Add-Content -Path ./community_metrics.md -Value ([Environment]::NewLine + $content) - - - name: Compute Q&A Discussion Request Metrics - uses: github/issue-metrics@v3 + # Without the --repo switch, the GH CLI will try to look it up from the current clone, which doesn't exist + # because we don't otherwise need checkout. + $issues = gh issue list --repo '${{ github.repository }}' --label 'community metrics' --state open --json number --jq '.[].number' + foreach ($issue in $issues) + { + gh issue close $issue --repo '${{ github.repository }}' --comment 'Closing this issue as newer community metrics are available.' + } env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SEARCH_QUERY: 'repo:OrchardCMS/OrchardCore type:discussions created:${{ env.LAST_MONTH }} category:Q&A' - HIDE_TIME_TO_CLOSE: true + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Concatenate Issue/PR and Discussion Metrics - shell: pwsh - run: | - $content = (Get-Content -Path ./issue_metrics.md -Raw) -replace '# Issue Metrics', '# Discussion Metrics' - Add-Content -Path ./community_metrics.md -Value ([Environment]::NewLine + $content) - - - name: Display Issue Metrics in Summary - shell: pwsh - run: | - Get-Content ./community_metrics.md >> $env:GITHUB_STEP_SUMMARY - - - name: Create Issue - # v5.0.0 - uses: peter-evans/create-issue-from-file@24452a72d85239eacf1468b0f1982a9f3fec4c94 - with: - title: Monthly community metrics report for ${{ env.LAST_MONTH }} - token: ${{ secrets.GITHUB_TOKEN }} - content-filepath: ./community_metrics.md - labels: community metrics