|
22 | 22 | # The output of this job is used to trigger the following builds.
|
23 | 23 | changes:
|
24 | 24 | name: "Detect Modified Files"
|
| 25 | + # The filtering action does not deal with well scheduled events so skip to avoid errors. |
| 26 | + # See https://github.com/dorny/paths-filter/issues/100 for more info. |
| 27 | + # This is okay this workflow is only scheduled on master, where we want to build everything |
| 28 | + # so filtering is not required. Use always() in each start block to force the start task. |
| 29 | + if: github.event_name != 'schedule' |
25 | 30 | runs-on: ubuntu-latest
|
26 | 31 | outputs:
|
27 | 32 | backend: ${{ steps.filter.outputs.backend }}
|
|
70 | 75 | octavia-cli-build:
|
71 | 76 | needs: changes
|
72 | 77 | runs-on: ubuntu-latest
|
73 |
| - if: needs.changes.outputs.cli == 'true' || needs.changes.outputs.build == 'true' || github.ref == 'refs/heads/master' |
| 78 | + # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master. |
| 79 | + if: needs.changes.outputs.cli == 'true' || needs.changes.outputs.build == 'true' || (always() && github.ref == 'refs/heads/master') |
74 | 80 | name: "Octavia CLI: Build"
|
75 | 81 | timeout-minutes: 90
|
76 | 82 | steps:
|
@@ -141,9 +147,10 @@ jobs:
|
141 | 147 | start-connectors-base-build-runner:
|
142 | 148 | name: "Connectors Base: Start Build EC2 Runner"
|
143 | 149 | needs: changes
|
| 150 | + # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master. |
144 | 151 | if: |
|
145 | 152 | needs.changes.outputs.build == 'true' || needs.changes.outputs.connectors == 'true' || needs.changes.outputs.db == 'true'
|
146 |
| - || github.ref == 'refs/heads/master' |
| 153 | + || (always() && github.ref == 'refs/heads/master') |
147 | 154 | timeout-minutes: 10
|
148 | 155 | runs-on: ubuntu-latest
|
149 | 156 | outputs:
|
@@ -265,9 +272,10 @@ jobs:
|
265 | 272 | start-frontend-test-runner:
|
266 | 273 | name: "Frontend: Start Test EC2 Runner"
|
267 | 274 | needs: changes
|
| 275 | + # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master. |
268 | 276 | if: |
|
269 | 277 | needs.changes.outputs.frontend == 'true' || needs.changes.outputs.build == 'true' || github.ref == 'refs/heads/master'
|
270 |
| - || needs.changes.outputs.backend == 'true' |
| 278 | + || (always() && needs.changes.outputs.backend == 'true') |
271 | 279 | timeout-minutes: 10
|
272 | 280 | runs-on: ubuntu-latest
|
273 | 281 | outputs:
|
@@ -359,7 +367,8 @@ jobs:
|
359 | 367 | start-platform-build-runner:
|
360 | 368 | name: "Platform: Start Build EC2 Runner"
|
361 | 369 | needs: changes
|
362 |
| - if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || github.ref == 'refs/heads/master' |
| 370 | + # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master. |
| 371 | + if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || (always() && github.ref == 'refs/heads/master') |
363 | 372 | timeout-minutes: 10
|
364 | 373 | runs-on: ubuntu-latest
|
365 | 374 | outputs:
|
@@ -497,7 +506,8 @@ jobs:
|
497 | 506 | start-platform-new-scheduler-acceptance-runner:
|
498 | 507 | name: "Platform: Start Docker w/ Scheduler v2 Test Runner"
|
499 | 508 | needs: changes
|
500 |
| - if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || github.ref == 'refs/heads/master' |
| 509 | + # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master. |
| 510 | + if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || (always() && github.ref == 'refs/heads/master') |
501 | 511 | timeout-minutes: 10
|
502 | 512 | runs-on: ubuntu-latest
|
503 | 513 | outputs:
|
@@ -621,7 +631,8 @@ jobs:
|
621 | 631 | start-kube-acceptance-test-runner:
|
622 | 632 | name: "Platform: Start Kube Acceptance Test EC2 Runner"
|
623 | 633 | needs: changes
|
624 |
| - if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || github.ref == 'refs/heads/master' |
| 634 | + # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master. |
| 635 | + if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || (always() && github.ref == 'refs/heads/master') |
625 | 636 | timeout-minutes: 10
|
626 | 637 | runs-on: ubuntu-latest
|
627 | 638 | outputs:
|
@@ -786,7 +797,8 @@ jobs:
|
786 | 797 | start-kube-acceptance-test-runner-v2:
|
787 | 798 | name: "Platform: Start Scheduler V2 Kube Acceptance Test Runner"
|
788 | 799 | needs: changes
|
789 |
| - if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || github.ref == 'refs/heads/master' |
| 800 | + # Because scheduled builds on master require us to skip the changes job. Use always() to force this to run on master. |
| 801 | + if: needs.changes.outputs.backend == 'true' || needs.changes.outputs.build == 'true' || (always() && github.ref == 'refs/heads/master') |
790 | 802 | timeout-minutes: 10
|
791 | 803 | runs-on: ubuntu-latest
|
792 | 804 | outputs:
|
|
0 commit comments