Browse Source

Create Badge_downloads.yml

pull/619/head
Dmitry Nefedov 4 months ago
parent
commit
5f184f85d2
  1. 64
      .github/workflows/Badge_downloads.yml
  2. 4
      .github/workflows/Badge_lines.yml

64
.github/workflows/Badge_downloads.yml

@ -0,0 +1,64 @@
name: Badge Downloads
on:
workflow_dispatch:
schedule:
# https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule
# At 7 am UTC every day
- cron: "0 7 * * *"
jobs:
update-badges:
name: Update Badges
runs-on: windows-latest
steps:
- name: Checkout Repository
uses: actions/checkout@main
- name: Get the Numbers
run: |
# Count downloads for the first page of the repo
# By default, GitHub parses only first page
$Token = "${{ secrets.GITHUB_TOKEN }}"
$Headers = @{
Accept = "application/json"
Authorization = "Bearer $Token"
}
$Parameters = @{
Uri = "https://api.github.com/repos/farag2/Sophia-Script-for-Windows/releases?per_page=100&page=1"
Headers = $Headers
Verbose = $true
}
$page1 = ((Invoke-RestMethod @Parameters).assets.download_count | Measure-Object -Sum).Sum
# Count downloads for the second page of the repo
$Token = "${{ secrets.GITHUB_TOKEN }}"
$Headers = @{
Accept = "application/json"
Authorization = "Bearer $Token"
Verbose = $true
}
$Parameters = @{
Uri = "https://api.github.com/repos/farag2/Sophia-Script-for-Windows/releases?per_page=100&page=2"
Headers = $Headers
Verbose = $true
}
$page2 = ((Invoke-RestMethod @Parameters).assets.download_count | Measure-Object -Sum).Sum
$Summary = $page1 + $page2
$Summary = "{0:N1}k" -f ($Summary/1000)
Write-Verbose -Message $Summary -Verbose
echo "DOWNLOADS_COUNT=$Summary" >> $env:GITHUB_ENV
- name: Writing to Gist
uses: schneegans/dynamic-badges-action@master
with:
auth: ${{ secrets.GIST_SOPHIASCRIPT_DOWNLOADS_COUNT }}
gistID: 25ddc72387f298503b752ad5b8d16eed
filename: SophiaScriptDownloadsCount.json
label: downloads (since May 2020)
message: ${{ env.DOWNLOADS_COUNT }}
namedLogo: PowerShell
color: brightgreen

4
.github/workflows/Badge.yml → .github/workflows/Badge_lines.yml

@ -1,4 +1,4 @@
name: Badge name: Badge Lines
on: on:
push: push:
@ -12,7 +12,7 @@ on:
jobs: jobs:
update-badges: update-badges:
name: Update Badges name: Update Badge Lines
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Checkout Repository - name: Checkout Repository
Loading…
Cancel
Save