From 290c90be57152c94d92a2edd37433294921dcd9c Mon Sep 17 00:00:00 2001 From: Luis Couto Date: Thu, 25 Jan 2024 14:45:47 +0000 Subject: [PATCH] chore: metrics action --- .github/workflows/metrics.yml | 89 +++++++++++++++++++++++++++++++++++ deploy/docker/Dockerfile | 2 +- 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/metrics.yml diff --git a/.github/workflows/metrics.yml b/.github/workflows/metrics.yml new file mode 100644 index 0000000..a0aae71 --- /dev/null +++ b/.github/workflows/metrics.yml @@ -0,0 +1,89 @@ +name: Monthly Metrics +on: + workflow_dispatch: + inputs: + dates: + required: false + schedule: + - cron: '3 2 1 * *' + +permissions: + issues: write + pull-requests: read + +jobs: + run: + name: Calculate Metrics + runs-on: ubuntu-latest + steps: + + - name: Get dates for last month + id: get-dates + shell: bash + run: | + # Calculate the first day of the previous month + first_day=$(date -d "last month" +%Y-%m-01) + # Calculate the last day of the previous month + last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d) + #Set an environment variable with the date range + echo "$first_day..$last_day" + echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV" + + - name: Use input dates + if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.dates != '' }} + shell: bash + run: | + echo "${{github.event.inputs.dates}}" + echo "last_month=${{github.event.inputs.dates}}" >> "$GITHUB_ENV" + + - name: Run issue-metrics tool for items opened last month + id: opened-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/kafkaflow created:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for opened items + uses: actions/upload-artifact@v3 + with: + name: items-opened + path: ./issue_metrics.md + + - name: Run issue-metrics tool for items closed last month + id: closed-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/kafkaflow closed:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for closed items + uses: actions/upload-artifact@v3 + with: + name: items-closed + path: ./issue_metrics.md + + - name: Run issue-metrics tool for discussions opened last month + id: opened-discussions-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/kafkaflow type:discussions created:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for opened discussions + uses: actions/upload-artifact@v3 + with: + name: discussions-opened + path: ./issue_metrics.md + + - name: Run issue-metrics tool for discussions closed last month + id: closed-discussions-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/kafkaflow type:discussions closed:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for closed discussions + uses: actions/upload-artifact@v3 + with: + name: discussions-closed + path: ./issue_metrics.md \ No newline at end of file diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index 82f8cbc..6dd526e 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -43,7 +43,7 @@ RUN for file in $(ls *.csproj); do mkdir -p tests/unit-tests/${file%.*}/ && mv $ # 1.3 Integration tests COPY tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Farfetch.LoadShedding.IntegrationTests.csproj tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Farfetch.LoadShedding.IntegrationTests.csproj -# 1.4 Perfornance tests +# 1.4 Performance tests COPY tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj # 1.5 - Restore nuget packages