2-update-readme-with-github-repositories-details #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |