mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-14 07:29:12 +08:00
66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
name: Update Vendor
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
# At 13:37 UTC every day.
|
|
- cron: '37 13 * * *'
|
|
|
|
defaults:
|
|
run:
|
|
shell: pwsh
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
vendor:
|
|
|
|
runs-on: windows-latest
|
|
continue-on-error: false
|
|
timeout-minutes: 15
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- id: make-changes
|
|
name: Checking for updates
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
$currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
|
|
. .\scripts\update.ps1 -verbose
|
|
Set-GHVariable -Name COUNT_UPDATED -Value $count
|
|
$newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
|
|
$listUpdated = ""
|
|
$updateMessage = "| Name | Old Version | New Version |`n| :--- | ---- | ---- |`n"
|
|
foreach ($s in $newVersion) {
|
|
$oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version
|
|
if ($s.version -ne $oldVersion) {
|
|
$repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases"
|
|
$listUpdated += "$($s.name) v$($s.version), "
|
|
$updateMessage += "| **[$($s.name)]($repoUrl)** | $oldVersion | **$($s.version)** |`n"
|
|
}
|
|
}
|
|
if ($count -eq 0) { return }
|
|
Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ')
|
|
echo "UPDATE_MESSAGE<<<EOF`n$updateMessage`n<EOF" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
|
|
|
|
- uses: peter-evans/create-pull-request@v4
|
|
if: env.COUNT_UPDATED > 0
|
|
with:
|
|
title: 'Updates to `${{ env.COUNT_UPDATED }}` vendored dependencies'
|
|
body: |
|
|
### Automatically updated `${{ env.COUNT_UPDATED }}` dependencies:
|
|
${{ env.UPDATE_MESSAGE }}
|
|
---
|
|
Please verify and then **Merge** the pull request to update.
|
|
commit-message: '⬆️ Update dependencies (${{ env.LIST_UPDATED }})'
|
|
branch: update-vendor
|
|
base: master
|