From 6fdbaed5686aa9d8185eecf90458adcb66490e5f Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Mon, 16 Dec 2024 23:45:35 +0000 Subject: [PATCH 1/3] Improve update-dependencies Use a better time schedule --- .github/workflows/update-dependencies-1.yml | 6 +++--- .github/workflows/update-dependencies-2.yml | 8 ++++---- .github/workflows/update-dependencies-3.yml | 8 ++++---- .github/workflows/update-dependencies-4.yml | 6 +++--- .github/workflows/update-dependencies-5.yml | 9 ++++----- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/.github/workflows/update-dependencies-1.yml b/.github/workflows/update-dependencies-1.yml index 10d730f168..45d5e1512e 100644 --- a/.github/workflows/update-dependencies-1.yml +++ b/.github/workflows/update-dependencies-1.yml @@ -7,8 +7,8 @@ name: Update dependencies (round 1) on: schedule: - # At 00:00 UTC. - - cron: '00 00 * * Wed,Fri' + # At 02:00 UTC. + - cron: '00 02 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -19,7 +19,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 180 # Non default as IoT devices has lots of solutions to update! + timeout-minutes: 15 # The next round will start after. workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | diff --git a/.github/workflows/update-dependencies-2.yml b/.github/workflows/update-dependencies-2.yml index 39f93f6e8f..2564db31cb 100644 --- a/.github/workflows/update-dependencies-2.yml +++ b/.github/workflows/update-dependencies-2.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 2) on: schedule: - # At 00:15 UTC . - # Set 15 min apart from previous round to allow enough time for any changes to propagate. - - cron: '15 00 * * Wed,Fri' + # At 02:15 UTC. + # Set 15 min offset from round one to allow enough time for any changes to propagate. + - cron: '15 02 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -20,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 180 # Non default as IoT devices has lots of solutions to update! + timeout-minutes: 15 # The next round will start after. workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | diff --git a/.github/workflows/update-dependencies-3.yml b/.github/workflows/update-dependencies-3.yml index b31f0c2765..2354c8f44b 100644 --- a/.github/workflows/update-dependencies-3.yml +++ b/.github/workflows/update-dependencies-3.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 3) on: schedule: - # At 00:30 UTC . - # Set 15 min apart from previous round to allow enough time for any changes to propagate. - - cron: '30 00 * * Wed,Fri' + # At 02:30 UTC. + # Set 15 min offset from round two to allow enough time for any changes to propagate. + - cron: '30 02 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -20,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 180 # Non default as IoT devices has lots of solutions to update! + timeout-minutes: 15 # The next round will start after. workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | diff --git a/.github/workflows/update-dependencies-4.yml b/.github/workflows/update-dependencies-4.yml index b366ae3719..a458e6c99d 100644 --- a/.github/workflows/update-dependencies-4.yml +++ b/.github/workflows/update-dependencies-4.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 4) on: schedule: - # At 01:45 UTC. - # Set 15 min apart from previous round to allow enough time for any changes to propagate. - - cron: '45 01 * * Wed,Fri' + # At 02:45 UTC. + # Set 15 min apart from round three to allow enough time for any changes to propagate. + - cron: '45 02 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: diff --git a/.github/workflows/update-dependencies-5.yml b/.github/workflows/update-dependencies-5.yml index 06b1d61447..710af87138 100644 --- a/.github/workflows/update-dependencies-5.yml +++ b/.github/workflows/update-dependencies-5.yml @@ -2,15 +2,14 @@ # See LICENSE file in the project root for full license information. # This workflow will periodically check .NET nanoFramework dependencies and updates them in the repository it's running. -# Second round, because of dependencies from other IoT bindings. name: Update dependencies (round 5) on: schedule: - # At 03:30 UTC. - # Set 3 hours apart from previous round to allow enough time for any changes to propagate. - - cron: '30 04 * * Wed,Fri' + # At 05:45 UTC. + # Set 3 hours apart from round four to allow enough time for any changes to propagate. + - cron: '45 05 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -21,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 180 # Non default as IoT devices has lots of solutions to update! + timeout-minutes: 15 # It should not take longer! workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | From 3c00032c8c13b2d1c9ad346aa42775a72f5745a9 Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Tue, 17 Dec 2024 00:08:26 +0000 Subject: [PATCH 2/3] Further improvements take into account PR merge and branch build. --- .github/workflows/update-dependencies-1.yml | 2 +- .github/workflows/update-dependencies-2.yml | 8 ++++---- .github/workflows/update-dependencies-3.yml | 8 ++++---- .github/workflows/update-dependencies-4.yml | 8 ++++---- .github/workflows/update-dependencies-5.yml | 6 +++--- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/update-dependencies-1.yml b/.github/workflows/update-dependencies-1.yml index 45d5e1512e..b14472b2dd 100644 --- a/.github/workflows/update-dependencies-1.yml +++ b/.github/workflows/update-dependencies-1.yml @@ -19,7 +19,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 15 # The next round will start after. + timeout-minutes: 15 # The next round will start after (taking into account PR merge and build branch). workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | diff --git a/.github/workflows/update-dependencies-2.yml b/.github/workflows/update-dependencies-2.yml index 2564db31cb..0dfa4275db 100644 --- a/.github/workflows/update-dependencies-2.yml +++ b/.github/workflows/update-dependencies-2.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 2) on: schedule: - # At 02:15 UTC. - # Set 15 min offset from round one to allow enough time for any changes to propagate. - - cron: '15 02 * * Mon,Wed' + # At 02:30 UTC. + # Set 30 min offset from round one to allow enough time for any changes to propagate. + - cron: '30 02 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -20,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 15 # The next round will start after. + timeout-minutes: 15 # The next round will start after (taking into account PR merge and build branch). workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | diff --git a/.github/workflows/update-dependencies-3.yml b/.github/workflows/update-dependencies-3.yml index 2354c8f44b..29c4eabc0f 100644 --- a/.github/workflows/update-dependencies-3.yml +++ b/.github/workflows/update-dependencies-3.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 3) on: schedule: - # At 02:30 UTC. - # Set 15 min offset from round two to allow enough time for any changes to propagate. - - cron: '30 02 * * Mon,Wed' + # At 03:00 UTC. + # Set 30 min offset from round two to allow enough time for any changes to propagate. + - cron: '00 03 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -20,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 15 # The next round will start after. + timeout-minutes: 15 # The next round will start after (taking into account PR merge and build branch). workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | diff --git a/.github/workflows/update-dependencies-4.yml b/.github/workflows/update-dependencies-4.yml index a458e6c99d..5a35799a4d 100644 --- a/.github/workflows/update-dependencies-4.yml +++ b/.github/workflows/update-dependencies-4.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 4) on: schedule: - # At 02:45 UTC. - # Set 15 min apart from round three to allow enough time for any changes to propagate. - - cron: '45 02 * * Mon,Wed' + # At 03:30 UTC. + # Set 30 min apart from round three to allow enough time for any changes to propagate. + - cron: '30 03 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -20,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 180 # Non default as IoT devices has lots of solutions to update! + timeout-minutes: 120 # Non default as IoT devices has lots of solutions to update (taking into account PR merge and build branch)! solutionsToCheck: '*.sln' workingDirectory: devices branchToPr: 'develop' diff --git a/.github/workflows/update-dependencies-5.yml b/.github/workflows/update-dependencies-5.yml index 710af87138..77beda3799 100644 --- a/.github/workflows/update-dependencies-5.yml +++ b/.github/workflows/update-dependencies-5.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 5) on: schedule: - # At 05:45 UTC. - # Set 3 hours apart from round four to allow enough time for any changes to propagate. - - cron: '45 05 * * Mon,Wed' + # At 06:30 UTC. + # Set 3 hours apart from round four to allow enough time for any changes to propagate (taking into account PR merge and build branch of last round). + - cron: '30 06 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: From cb3b92199b6239c3d2a04d6691f0134937425cc2 Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Tue, 17 Dec 2024 00:45:47 +0000 Subject: [PATCH 3/3] Further comment improvements --- .github/workflows/update-dependencies-1.yml | 4 ++-- .github/workflows/update-dependencies-2.yml | 6 +++--- .github/workflows/update-dependencies-3.yml | 8 ++++---- .github/workflows/update-dependencies-4.yml | 8 ++++---- .github/workflows/update-dependencies-5.yml | 6 +++--- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/update-dependencies-1.yml b/.github/workflows/update-dependencies-1.yml index b14472b2dd..390f6f83b4 100644 --- a/.github/workflows/update-dependencies-1.yml +++ b/.github/workflows/update-dependencies-1.yml @@ -7,8 +7,8 @@ name: Update dependencies (round 1) on: schedule: - # At 02:00 UTC. - - cron: '00 02 * * Mon,Wed' + # Round 1/5: (02:00 UTC). + - cron: '00 02 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: diff --git a/.github/workflows/update-dependencies-2.yml b/.github/workflows/update-dependencies-2.yml index 0dfa4275db..00d3cf234f 100644 --- a/.github/workflows/update-dependencies-2.yml +++ b/.github/workflows/update-dependencies-2.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 2) on: schedule: - # At 02:30 UTC. - # Set 30 min offset from round one to allow enough time for any changes to propagate. - - cron: '30 02 * * Mon,Wed' + # Round 2/5: Executes 30 minutes after round 1 (02:30 UTC) to allow enough time for any changes to propagate. + # (taking into account PR merge and build branch). + - cron: '30 02 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: diff --git a/.github/workflows/update-dependencies-3.yml b/.github/workflows/update-dependencies-3.yml index 29c4eabc0f..feb79076fe 100644 --- a/.github/workflows/update-dependencies-3.yml +++ b/.github/workflows/update-dependencies-3.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 3) on: schedule: - # At 03:00 UTC. - # Set 30 min offset from round two to allow enough time for any changes to propagate. - - cron: '00 03 * * Mon,Wed' + # Round 3/5: Executes 30 minutes after round 2 (03:00 UTC) to allow enough time for any changes to propagate. + # (taking into account PR merge and build branch). + - cron: '00 03 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -20,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 15 # The next round will start after (taking into account PR merge and build branch). + timeout-minutes: 15 workingDirectory: devices branchToPr: 'develop' solutionsToCheck: | diff --git a/.github/workflows/update-dependencies-4.yml b/.github/workflows/update-dependencies-4.yml index 5a35799a4d..a5c6c0e8ee 100644 --- a/.github/workflows/update-dependencies-4.yml +++ b/.github/workflows/update-dependencies-4.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 4) on: schedule: - # At 03:30 UTC. - # Set 30 min apart from round three to allow enough time for any changes to propagate. - - cron: '30 03 * * Mon,Wed' + # Round 4/5: Executes 30 minutes after round 3 (03:30 UTC) to allow enough time for any changes to propagate. + # (taking into account PR merge and build branch). + - cron: '30 03 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: @@ -20,7 +20,7 @@ jobs: uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main secrets: inherit with: - timeout-minutes: 120 # Non default as IoT devices has lots of solutions to update (taking into account PR merge and build branch)! + timeout-minutes: 120 # It takes a long time as IoT devices has lots of solutions to update! solutionsToCheck: '*.sln' workingDirectory: devices branchToPr: 'develop' diff --git a/.github/workflows/update-dependencies-5.yml b/.github/workflows/update-dependencies-5.yml index 77beda3799..cc5da7741c 100644 --- a/.github/workflows/update-dependencies-5.yml +++ b/.github/workflows/update-dependencies-5.yml @@ -7,9 +7,9 @@ name: Update dependencies (round 5) on: schedule: - # At 06:30 UTC. - # Set 3 hours apart from round four to allow enough time for any changes to propagate (taking into account PR merge and build branch of last round). - - cron: '30 06 * * Mon,Wed' + # Round 5/5: Executes 3 hours after round 4 (06:30 UTC) to allow enough time for any changes to propagate. + # (taking into account PR merge and build branch). + - cron: '30 06 * * Mon,Wed' repository_dispatch: types: update-dependencies workflow_dispatch: