-
Notifications
You must be signed in to change notification settings - Fork 1
91 lines (75 loc) · 4.61 KB
/
update-readme-with-github-repositories-details.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
name: 2-update-readme-with-github-repositories-details
# Update the README with the details of the GitHub repositories
# Workflow triggered using GitHub CLI at the end of the execution of the update-gihub-repositories-details workflow - but can also be triggered manually without input parameters
on:
workflow_dispatch:
# Concurrency configuration for the current workflow - Keep only the latest workflow queued for the considered group and the considered issue
concurrency:
group: update-readme-with-github-repositories-details
cancel-in-progress: true
jobs:
update-readme-with-github-repositories-details:
runs-on: ubuntu-latest
env:
RUNNER_DEBUG: 1
steps:
# Action used to checkout the main branch in the current repository
# Community action: https://github.com/actions/checkout
- name: Checkout
uses: actions/checkout@v4.0.0
# Set a current date environment variable in the following format: YYYYMMDD
- name: Set current date as env variable
id: current_date
run: echo "NOW=$(date +'%Y%m%d')" >> $env:GITHUB_OUTPUT
shell: pwsh
# Set the name of the current day in the week as a variable
- name: Set the name of the current day in the week as env variable
id: current_day_in_the_week
run: echo "DAY=$(date +'%A')" >> $env:GITHUB_OUTPUT
shell: pwsh
# Update summary and repositories opened to contributions in README
- name: Update summary and repositories opened to contributions
run: |
Write-Host "/********************************************************************************/"
Write-Host "Install required modules"
Import-Module .\Scripts\Write-MarkdownSection.ps1 -Force
Import-Module .\Scripts\New-ShieldIoBadge.ps1 -Force
Import-Module .\Scripts\ConvertTo-MarkdownTable.ps1 -Force
Import-Module .\Scripts\Write-ReadmeSummarySection.ps1 -Force
Import-Module .\Scripts\Write-ReadmeRepositoriesOpenedToContributionsSection.ps1 -Force
Write-Host "/********************************************************************************/"
Write-Host "Get search criteria details"
$topics = Get-Content -Path "${{ vars.CONFIGURATION_FILE_PATH }}" | ConvertFrom-Json
Write-Host "Get repositories details"
$repositoriesDetails = Get-Content -Path "${{ vars.DATA_FILE_PATH }}" | ConvertFrom-Json
Write-Host "/********************************************************************************/"
Write-Host "Update summary"
Write-ReadmeSummarySection -GitHubRepositoriesDetails $repositoriesDetails -Topics $topics
Write-Host "/********************************************************************************/"
Write-Host "Update list of repositories opened to contributions"
Write-ReadmeRepositoriesOpenedToContributionsSection -GitHubRepositoriesDetails $repositoriesDetails
shell: pwsh
# If the current day in the week is Monday, update the list of top growing repositories
- name: Update list of top growing repositories
if: ${{ steps.current_day_in_the_week.outputs.DAY == 'Monday' }}
run: |
Write-Host "Current day of the week: ${{ steps.current_day_in_the_week.outputs.DAY }}"
Write-Host "/********************************************************************************/"
Write-Host "Install required modules"
Import-Module .\Scripts\Write-MarkdownSection.ps1 -Force
Write-Host "/********************************************************************************/"
Write-Host "Get repositories details"
$repositoriesDetails = Get-Content -Path "${{ vars.DATA_FILE_PATH }}" | ConvertFrom-Json
Write-Host "/********************************************************************************/"
Write-Host "Update the list of top growing repositories"
# Update the growing counter for each repository to do in the update-github-repositories-details workflow - Refresh of the base every Tuesday
shell: pwsh
# Push the changes in the current repository
- name: Push changes
run: |
git config --global user.name 'action@github.com'
git config --global user.email 'GitHub Action'
git add --all
git commit -m "Summary and repositories opened to contributions sections in README updated - ${{ steps.current_date.outputs.NOW }}.${{ github.run_number }}"
git -c http.extraheader="AUTHORIZATION: Bearer ${{ secrets.GITHUB_TOKEN }}" push origin main
shell: pwsh