1+
2+ name : Update dependencies
3+
4+ on :
5+ schedule :
6+ - cron : ' 0 2 * * *' # Run at 02:00 every day
7+ workflow_dispatch : # Allow manual triggering
8+
9+ jobs :
10+ update-nuget :
11+ runs-on : windows-latest
12+ name : Update latest NuGets
13+ steps :
14+ - uses : actions/checkout@v4
15+ with :
16+ token : ${{ secrets.GITHUB_TOKEN }}
17+
18+ - uses : actions/setup-dotnet@v4
19+ with :
20+ dotnet-version : ' 10.0.x'
21+
22+ - name : Setup Android SDK
23+ uses : actions/setup-java@v4
24+ with :
25+ distribution : ' zulu'
26+ java-version : ' 17'
27+
28+ - uses : android-actions/setup-android@v3
29+
30+ - name : Install workloads for Mobile and Wasm projects
31+ run : |
32+ dotnet workload restore ./src/Avalonia.Samples/CompleteApps/AdvancedToDoList/AdvancedToDoList.Android/AdvancedToDoList.Android.csproj
33+ dotnet workload restore ./src/Avalonia.Samples/CompleteApps/AdvancedToDoList/AdvancedToDoList.Browser/AdvancedToDoList.Browser.csproj
34+ dotnet workload restore ./src/Avalonia.Samples/CompleteApps/AdvancedToDoList/AdvancedToDoList.iOS/AdvancedToDoList.iOS.csproj
35+ working-directory : ./
36+
37+ - name : Install nuget update tool
38+ run : dotnet tool install --global dotnet-outdated-tool
39+
40+ - name : Run dotnet-outdated-tool
41+ run : |
42+ $solutions = Get-ChildItem -Path "./src/Avalonia.Samples" -Filter "*.sln*" -Recurse | Select-Object -ExpandProperty FullName
43+ foreach ($solution in $solutions) {
44+ dotnet outdated $solution --upgrade
45+ }
46+ shell : pwsh
47+
48+ - name : Commit and push changes
49+ run : |
50+ git config user.name "GitHub Actions"
51+ git config user.email "actions@github.com"
52+ git add .
53+ git commit -m "Update NuGet packages" || echo "No changes to commit"
54+ git push
55+
56+ - name : Create Pull Request
57+ if : github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
58+ uses : peter-evans/create-pull-request@v5
59+ with :
60+ token : ${{ secrets.GITHUB_TOKEN }}
61+ commit-message : " Update NuGet packages"
62+ title : " chore: Update NuGet packages"
63+ body : " This PR updates NuGet packages to their latest versions."
64+ branch : " update-nuget-packages"
65+ base : " main"
0 commit comments