From 082dbc9ee430066812e2fde9a7648c0edb05e444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 17:17:46 +0100 Subject: [PATCH 01/22] Debug build workflows --- .github/workflows/build-and-test-windows.yml | 77 ++------------------ .github/workflows/build-and-test.yml | 1 - tools/Lombiq.GitHub.Actions | 2 +- 3 files changed, 7 insertions(+), 73 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 4c594c745..575bdcb1c 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -6,37 +6,11 @@ name: Build and Test Windows on: workflow_dispatch: pull_request: - types: [labeled] - push: - branches: - - dev - pull_request_review: - types: [submitted] jobs: - remove-run-windows-build-label: - if: github.ref_name != github.event.repository.default_branch && - github.event.label.name == 'run-windows-build' - name: Remove Run Windows Build Label - runs-on: ubuntu-24.04 - timeout-minutes: 2 - steps: - - name: Remove Run Windows Build Label - uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev - with: - # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request - # coming from a fork. - token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} - labels: run-windows-build - type: remove - build-and-test-larger-runners: - if: github.ref_name != github.event.repository.default_branch && - (github.event_name == 'workflow_dispatch' || - github.event.label.name == 'run-windows-build' || - (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build'))) name: Build and Test Windows - root solution (larger runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-larger-runners machine-types: '["windows-2022-8core"]' @@ -50,11 +24,11 @@ jobs: # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) # can only be used on Linux. test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' build-and-test-standard-runners: - if: github.ref_name == github.event.repository.default_branch name: Build and Test Windows - root solution (standard runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners # Since dev builds are not awaited by anyone, they can run on the slower free runners. @@ -69,14 +43,11 @@ jobs: # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) # can only be used on Linux. test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' build-and-test-nuget-test: - if: github.ref_name == github.event.repository.default_branch || - github.event_name == 'workflow_dispatch' || - github.event.label.name == 'run-windows-build' || - (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) name: Build and Test Windows - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: nuget-solution machine-types: '["windows-2022"]' @@ -91,40 +62,4 @@ jobs: # every value being the same as with quotes. # yamllint disable-line rule:quoted-strings test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - - powershell-static-code-analysis: - if: github.ref_name == github.event.repository.default_branch || - github.event_name == 'workflow_dispatch' || - github.event.label.name == 'run-windows-build' || - (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) - name: PowerShell Static Code Analysis Windows - uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev - with: - machine-types: '["windows-2022"]' - run-windows-powershell: 'false' - - post-pull-request-checks-automation: - name: Post Pull Request Checks Automation - needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] - if: github.event.pull_request != '' - uses: Lombiq/GitHub-Actions/.github/workflows/post-pull-request-checks-automation.yml@dev - secrets: - JIRA_BASE_URL: ${{ secrets.DEFAULT_JIRA_BASE_URL }} - JIRA_USER_EMAIL: ${{ secrets.DEFAULT_JIRA_USER_EMAIL }} - JIRA_API_TOKEN: ${{ secrets.DEFAULT_JIRA_API_TOKEN }} - MERGE_TOKEN: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} - - remove-windows-build-warning-label: - name: Remove Windows Build Warning Label - runs-on: ubuntu-24.04 - timeout-minutes: 2 - needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] - steps: - - name: Remove Windows Build Warning Label - uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev - with: - # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request - # coming from a fork. - token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} - labels: requires-windows-build - type: remove + cancel-in-progress-for-this-pr: 'false' diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 058966db8..f925548d0 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -2,7 +2,6 @@ name: Build and Test # Runs for PRs opened for any branch, and pushes to the dev branch. on: - pull_request: push: branches: - dev diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index c1cdbb81b..d3c5f3585 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit c1cdbb81b39842e47dddf6943ca745f9fb79a53e +Subproject commit d3c5f35852a193bbfc08ca96bab400ead886f180 From 07a12c5bdd8701309503f7c918026d6a48c8dcdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 17:26:22 +0100 Subject: [PATCH 02/22] Better debug workflow --- .github/workflows/build-and-test-windows.yml | 394 +++++++++++++++++-- tools/Lombiq.GitHub.Actions | 2 +- 2 files changed, 370 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 575bdcb1c..8c033365b 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -8,58 +8,402 @@ on: pull_request: jobs: - build-and-test-larger-runners: - name: Build and Test Windows - root solution (larger runners) + build-and-test-larger-runners0: + name: Build and Test Windows - root solution (larger runners) 0 uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: - parent-job-name: root-solution-larger-runners + parent-job-name: root-solution-larger-runners0 machine-types: '["windows-2022-8core"]' timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' dotnet-test-process-timeout: 720000 - # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not - # supported by GHA. - # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) - # can only be used on Linux. test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' - build-and-test-standard-runners: - name: Build and Test Windows - root solution (standard runners) + build-and-test-larger-runners1: + name: Build and Test Windows - root solution (larger runners) 1 uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: - parent-job-name: root-solution-standard-runners - # Since dev builds are not awaited by anyone, they can run on the slower free runners. + parent-job-name: root-solution-larger-runners1 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners2: + name: Build and Test Windows - root solution (larger runners) 2 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners2 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners3: + name: Build and Test Windows - root solution (larger runners) 3 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners3 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners4: + name: Build and Test Windows - root solution (larger runners) 4 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners4 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners5: + name: Build and Test Windows - root solution (larger runners) 5 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners5 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners6: + name: Build and Test Windows - root solution (larger runners) 6 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners6 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners7: + name: Build and Test Windows - root solution (larger runners) 7 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners7 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners8: + name: Build and Test Windows - root solution (larger runners) 8 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners8 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-larger-runners9: + name: Build and Test Windows - root solution (larger runners) 9 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners9 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners0: + name: Build and Test Windows - root solution (standard runners) 0 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners0 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners1: + name: Build and Test Windows - root solution (standard runners) 1 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners1 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners2: + name: Build and Test Windows - root solution (standard runners) 2 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners2 machine-types: '["windows-2022"]' timeout-minutes: 70 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' dotnet-test-process-timeout: 840000 - # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not - # supported by GHA. - # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) - # can only be used on Linux. test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' - build-and-test-nuget-test: - name: Build and Test Windows - NuGetTest solution + build-and-test-standard-runners3: + name: Build and Test Windows - root solution (standard runners) 3 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners3 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners4: + name: Build and Test Windows - root solution (standard runners) 4 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners4 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners5: + name: Build and Test Windows - root solution (standard runners) 5 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners5 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners6: + name: Build and Test Windows - root solution (standard runners) 6 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners6 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners7: + name: Build and Test Windows - root solution (standard runners) 7 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners7 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners8: + name: Build and Test Windows - root solution (standard runners) 8 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners8 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-standard-runners9: + name: Build and Test Windows - root solution (standard runners) 9 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners9 + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test0: + name: Build and Test Windows - NuGetTest solution 0 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution0 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test1: + name: Build and Test Windows - NuGetTest solution 1 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution1 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test2: + name: Build and Test Windows - NuGetTest solution 2 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution2 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test3: + name: Build and Test Windows - NuGetTest solution 3 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution3 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test4: + name: Build and Test Windows - NuGetTest solution 4 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution4 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test5: + name: Build and Test Windows - NuGetTest solution 5 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution5 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test6: + name: Build and Test Windows - NuGetTest solution 6 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution6 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test7: + name: Build and Test Windows - NuGetTest solution 7 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution7 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test8: + name: Build and Test Windows - NuGetTest solution 8 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution8 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + + build-and-test-nuget-test9: + name: Build and Test Windows - NuGetTest solution 9 uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: - parent-job-name: nuget-solution + parent-job-name: nuget-solution9 machine-types: '["windows-2022"]' build-directory: NuGetTest timeout-minutes: 30 dotnet-test-process-timeout: 540000 - # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not - # supported by GHA. - # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) - # can only be used on Linux. - # Without quotes, somehow the value won't be passed properly and the test execution will hang, despite seemingly - # every value being the same as with quotes. - # yamllint disable-line rule:quoted-strings test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index d3c5f3585..f8cb6492e 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit d3c5f35852a193bbfc08ca96bab400ead886f180 +Subproject commit f8cb6492e72a84deae21a84548b777abb1f47cbb From 2122322ae312ad6b34259e77756dffb8d9016b35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 17:29:49 +0100 Subject: [PATCH 03/22] Dummy change to kick off build --- .github/workflows/build-and-test-windows.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 8c033365b..ba960805a 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -1,5 +1,6 @@ name: Build and Test Windows + # Windows builds are only run on-demand, to be run once before merging a PR, and for pushes to dev. This is because # Windows builds are much slower and more expensive than Ubuntu ones, and them catching issues that aren't surfaced # under Ubuntu is rare (but does happen). So, not running them for every push of every PR. From 07ce54e92f5d7ac45d4b728874e0a899eca38db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 17:33:08 +0100 Subject: [PATCH 04/22] Testing .NET SDK install on the D drive under Windows --- .github/workflows/build-and-test-windows.yml | 1 - tools/Lombiq.GitHub.Actions | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index ba960805a..8c033365b 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -1,6 +1,5 @@ name: Build and Test Windows - # Windows builds are only run on-demand, to be run once before merging a PR, and for pushes to dev. This is because # Windows builds are much slower and more expensive than Ubuntu ones, and them catching issues that aren't surfaced # under Ubuntu is rare (but does happen). So, not running them for every push of every PR. diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index f8cb6492e..cd6faeaa2 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit f8cb6492e72a84deae21a84548b777abb1f47cbb +Subproject commit cd6faeaa2f301d9f0108803f4080717404d7ca39 From dbaf98a652107562db95a9f2cc6552ce0d0aa04a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 17:37:58 +0100 Subject: [PATCH 05/22] Not using standard runners --- .github/workflows/build-and-test-windows.yml | 140 ------------------- tools/Lombiq.GitHub.Actions | 2 +- 2 files changed, 1 insertion(+), 141 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 8c033365b..1a62d25d4 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -8,146 +8,6 @@ on: pull_request: jobs: - build-and-test-larger-runners0: - name: Build and Test Windows - root solution (larger runners) 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners0 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners1: - name: Build and Test Windows - root solution (larger runners) 1 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners1 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners2: - name: Build and Test Windows - root solution (larger runners) 2 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners2 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners3: - name: Build and Test Windows - root solution (larger runners) 3 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners3 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners4: - name: Build and Test Windows - root solution (larger runners) 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners4 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners5: - name: Build and Test Windows - root solution (larger runners) 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners5 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners6: - name: Build and Test Windows - root solution (larger runners) 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners6 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners7: - name: Build and Test Windows - root solution (larger runners) 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners7 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners8: - name: Build and Test Windows - root solution (larger runners) 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners8 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - - build-and-test-larger-runners9: - name: Build and Test Windows - root solution (larger runners) 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners9 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - build-and-test-standard-runners0: name: Build and Test Windows - root solution (standard runners) 0 uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index cd6faeaa2..8caf9477c 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit cd6faeaa2f301d9f0108803f4080717404d7ca39 +Subproject commit 8caf9477c2e6f00527700ded9c7856a66d18cf66 From 3e8cd05c1d84482604d71060e256c50f65b04054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 17:45:10 +0100 Subject: [PATCH 06/22] No cancel --- .github/workflows/build-and-test-windows.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 1a62d25d4..3a19fe828 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -21,6 +21,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners1: name: Build and Test Windows - root solution (standard runners) 1 @@ -35,6 +36,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners2: name: Build and Test Windows - root solution (standard runners) 2 @@ -49,6 +51,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners3: name: Build and Test Windows - root solution (standard runners) 3 @@ -63,6 +66,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners4: name: Build and Test Windows - root solution (standard runners) 4 @@ -77,6 +81,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners5: name: Build and Test Windows - root solution (standard runners) 5 @@ -91,6 +96,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners6: name: Build and Test Windows - root solution (standard runners) 6 @@ -105,6 +111,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners7: name: Build and Test Windows - root solution (standard runners) 7 @@ -119,6 +126,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners8: name: Build and Test Windows - root solution (standard runners) 8 @@ -133,6 +141,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-standard-runners9: name: Build and Test Windows - root solution (standard runners) 9 @@ -147,6 +156,7 @@ jobs: dotnet-test-process-timeout: 840000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test0: name: Build and Test Windows - NuGetTest solution 0 @@ -159,6 +169,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test1: name: Build and Test Windows - NuGetTest solution 1 @@ -171,6 +182,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test2: name: Build and Test Windows - NuGetTest solution 2 @@ -183,6 +195,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test3: name: Build and Test Windows - NuGetTest solution 3 @@ -195,6 +208,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test4: name: Build and Test Windows - NuGetTest solution 4 @@ -207,6 +221,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test5: name: Build and Test Windows - NuGetTest solution 5 @@ -219,6 +234,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test6: name: Build and Test Windows - NuGetTest solution 6 @@ -231,6 +247,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test7: name: Build and Test Windows - NuGetTest solution 7 @@ -243,6 +260,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test8: name: Build and Test Windows - NuGetTest solution 8 @@ -255,6 +273,7 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' build-and-test-nuget-test9: name: Build and Test Windows - NuGetTest solution 9 @@ -267,3 +286,4 @@ jobs: dotnet-test-process-timeout: 540000 test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' From 10fb447d1dd7a3097369aeeab28eec5041aab754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 17:45:35 +0100 Subject: [PATCH 07/22] Running without D drive --- .github/workflows/build-and-test-windows.yml | 40 ++++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 3a19fe828..65a334d5e 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -10,7 +10,7 @@ on: jobs: build-and-test-standard-runners0: name: Build and Test Windows - root solution (standard runners) 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners0 machine-types: '["windows-2022"]' @@ -25,7 +25,7 @@ jobs: build-and-test-standard-runners1: name: Build and Test Windows - root solution (standard runners) 1 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners1 machine-types: '["windows-2022"]' @@ -40,7 +40,7 @@ jobs: build-and-test-standard-runners2: name: Build and Test Windows - root solution (standard runners) 2 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners2 machine-types: '["windows-2022"]' @@ -55,7 +55,7 @@ jobs: build-and-test-standard-runners3: name: Build and Test Windows - root solution (standard runners) 3 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners3 machine-types: '["windows-2022"]' @@ -70,7 +70,7 @@ jobs: build-and-test-standard-runners4: name: Build and Test Windows - root solution (standard runners) 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners4 machine-types: '["windows-2022"]' @@ -85,7 +85,7 @@ jobs: build-and-test-standard-runners5: name: Build and Test Windows - root solution (standard runners) 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners5 machine-types: '["windows-2022"]' @@ -100,7 +100,7 @@ jobs: build-and-test-standard-runners6: name: Build and Test Windows - root solution (standard runners) 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners6 machine-types: '["windows-2022"]' @@ -115,7 +115,7 @@ jobs: build-and-test-standard-runners7: name: Build and Test Windows - root solution (standard runners) 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners7 machine-types: '["windows-2022"]' @@ -130,7 +130,7 @@ jobs: build-and-test-standard-runners8: name: Build and Test Windows - root solution (standard runners) 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners8 machine-types: '["windows-2022"]' @@ -145,7 +145,7 @@ jobs: build-and-test-standard-runners9: name: Build and Test Windows - root solution (standard runners) 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners9 machine-types: '["windows-2022"]' @@ -160,7 +160,7 @@ jobs: build-and-test-nuget-test0: name: Build and Test Windows - NuGetTest solution 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution0 machine-types: '["windows-2022"]' @@ -173,7 +173,7 @@ jobs: build-and-test-nuget-test1: name: Build and Test Windows - NuGetTest solution 1 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution1 machine-types: '["windows-2022"]' @@ -186,7 +186,7 @@ jobs: build-and-test-nuget-test2: name: Build and Test Windows - NuGetTest solution 2 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution2 machine-types: '["windows-2022"]' @@ -199,7 +199,7 @@ jobs: build-and-test-nuget-test3: name: Build and Test Windows - NuGetTest solution 3 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution3 machine-types: '["windows-2022"]' @@ -212,7 +212,7 @@ jobs: build-and-test-nuget-test4: name: Build and Test Windows - NuGetTest solution 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution4 machine-types: '["windows-2022"]' @@ -225,7 +225,7 @@ jobs: build-and-test-nuget-test5: name: Build and Test Windows - NuGetTest solution 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution5 machine-types: '["windows-2022"]' @@ -238,7 +238,7 @@ jobs: build-and-test-nuget-test6: name: Build and Test Windows - NuGetTest solution 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution6 machine-types: '["windows-2022"]' @@ -251,7 +251,7 @@ jobs: build-and-test-nuget-test7: name: Build and Test Windows - NuGetTest solution 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution7 machine-types: '["windows-2022"]' @@ -264,7 +264,7 @@ jobs: build-and-test-nuget-test8: name: Build and Test Windows - NuGetTest solution 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution8 machine-types: '["windows-2022"]' @@ -277,7 +277,7 @@ jobs: build-and-test-nuget-test9: name: Build and Test Windows - NuGetTest solution 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution9 machine-types: '["windows-2022"]' From 4939c51f08fde3a29df2c9b74d085ab8b5ed72a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 4 Dec 2024 18:48:01 +0100 Subject: [PATCH 08/22] Running with the D drive but only standard runners --- .github/workflows/build-and-test-windows.yml | 150 ++----------------- 1 file changed, 10 insertions(+), 140 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 65a334d5e..ad0efdbc0 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -10,7 +10,7 @@ on: jobs: build-and-test-standard-runners0: name: Build and Test Windows - root solution (standard runners) 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners0 machine-types: '["windows-2022"]' @@ -25,7 +25,7 @@ jobs: build-and-test-standard-runners1: name: Build and Test Windows - root solution (standard runners) 1 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners1 machine-types: '["windows-2022"]' @@ -40,7 +40,7 @@ jobs: build-and-test-standard-runners2: name: Build and Test Windows - root solution (standard runners) 2 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners2 machine-types: '["windows-2022"]' @@ -55,7 +55,7 @@ jobs: build-and-test-standard-runners3: name: Build and Test Windows - root solution (standard runners) 3 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners3 machine-types: '["windows-2022"]' @@ -70,7 +70,7 @@ jobs: build-and-test-standard-runners4: name: Build and Test Windows - root solution (standard runners) 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners4 machine-types: '["windows-2022"]' @@ -85,7 +85,7 @@ jobs: build-and-test-standard-runners5: name: Build and Test Windows - root solution (standard runners) 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners5 machine-types: '["windows-2022"]' @@ -100,7 +100,7 @@ jobs: build-and-test-standard-runners6: name: Build and Test Windows - root solution (standard runners) 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners6 machine-types: '["windows-2022"]' @@ -115,7 +115,7 @@ jobs: build-and-test-standard-runners7: name: Build and Test Windows - root solution (standard runners) 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners7 machine-types: '["windows-2022"]' @@ -130,7 +130,7 @@ jobs: build-and-test-standard-runners8: name: Build and Test Windows - root solution (standard runners) 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners8 machine-types: '["windows-2022"]' @@ -145,7 +145,7 @@ jobs: build-and-test-standard-runners9: name: Build and Test Windows - root solution (standard runners) 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners9 machine-types: '["windows-2022"]' @@ -157,133 +157,3 @@ jobs: test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test0: - name: Build and Test Windows - NuGetTest solution 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution0 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test1: - name: Build and Test Windows - NuGetTest solution 1 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution1 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test2: - name: Build and Test Windows - NuGetTest solution 2 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution2 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test3: - name: Build and Test Windows - NuGetTest solution 3 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution3 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test4: - name: Build and Test Windows - NuGetTest solution 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution4 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test5: - name: Build and Test Windows - NuGetTest solution 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution5 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test6: - name: Build and Test Windows - NuGetTest solution 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution6 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test7: - name: Build and Test Windows - NuGetTest solution 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution7 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test8: - name: Build and Test Windows - NuGetTest solution 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution8 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test9: - name: Build and Test Windows - NuGetTest solution 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: nuget-solution9 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' From 4fa0bbed94034ad7b5bfc87963cb88cf09efc2f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 11 Dec 2024 17:05:07 +0100 Subject: [PATCH 09/22] Running with the D drive, and also settings NUGET_PACKAGES --- .github/workflows/build-and-test-windows.yml | 130 +++++++++++++++++++ tools/Lombiq.GitHub.Actions | 2 +- 2 files changed, 131 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index ad0efdbc0..3a19fe828 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -157,3 +157,133 @@ jobs: test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test0: + name: Build and Test Windows - NuGetTest solution 0 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution0 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test1: + name: Build and Test Windows - NuGetTest solution 1 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution1 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test2: + name: Build and Test Windows - NuGetTest solution 2 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution2 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test3: + name: Build and Test Windows - NuGetTest solution 3 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution3 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test4: + name: Build and Test Windows - NuGetTest solution 4 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution4 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test5: + name: Build and Test Windows - NuGetTest solution 5 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution5 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test6: + name: Build and Test Windows - NuGetTest solution 6 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution6 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test7: + name: Build and Test Windows - NuGetTest solution 7 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution7 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test8: + name: Build and Test Windows - NuGetTest solution 8 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution8 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' + + build-and-test-nuget-test9: + name: Build and Test Windows - NuGetTest solution 9 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution9 + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + cancel-in-progress-for-this-pr: 'false' + cancel-workflow-on-failure: 'false' diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index f65a56e4c..6e8c60b78 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit f65a56e4c625f260a95819b0b48c8ade49136f2d +Subproject commit 6e8c60b784a4816b663b15da186330cb68645881 From 68aaf5703d2f1af7c8bce7b4db3d1864585ec745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 11 Dec 2024 17:29:49 +0100 Subject: [PATCH 10/22] Larger runners for reference --- .github/workflows/build-and-test-windows.yml | 270 +++++-------------- 1 file changed, 70 insertions(+), 200 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 3a19fe828..0d03a466b 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -8,282 +8,152 @@ on: pull_request: jobs: - build-and-test-standard-runners0: - name: Build and Test Windows - root solution (standard runners) 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners0: + name: Build and Test Windows - root solution (larger runners) 0 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners0 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners0 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners1: - name: Build and Test Windows - root solution (standard runners) 1 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners1: + name: Build and Test Windows - root solution (larger runners) 1 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners1 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners1 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners2: - name: Build and Test Windows - root solution (standard runners) 2 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners2: + name: Build and Test Windows - root solution (larger runners) 2 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners2 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners2 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners3: - name: Build and Test Windows - root solution (standard runners) 3 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners3: + name: Build and Test Windows - root solution (larger runners) 3 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners3 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners3 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners4: - name: Build and Test Windows - root solution (standard runners) 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners4: + name: Build and Test Windows - root solution (larger runners) 4 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners4 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners4 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners5: - name: Build and Test Windows - root solution (standard runners) 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners5: + name: Build and Test Windows - root solution (larger runners) 5 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners5 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners5 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners6: - name: Build and Test Windows - root solution (standard runners) 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners6: + name: Build and Test Windows - root solution (larger runners) 6 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners6 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners6 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners7: - name: Build and Test Windows - root solution (standard runners) 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners7: + name: Build and Test Windows - root solution (larger runners) 7 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners7 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners7 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners8: - name: Build and Test Windows - root solution (standard runners) 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners8: + name: Build and Test Windows - root solution (larger runners) 8 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners8 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners8 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - build-and-test-standard-runners9: - name: Build and Test Windows - root solution (standard runners) 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + build-and-test-larger-runners9: + name: Build and Test Windows - root solution (larger runners) 9 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-standard-runners9 - machine-types: '["windows-2022"]' - timeout-minutes: 70 + parent-job-name: root-solution-larger-runners9 + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 + dotnet-test-process-timeout: 720000 test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests cancel-in-progress-for-this-pr: 'false' cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test0: - name: Build and Test Windows - NuGetTest solution 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution0 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test1: - name: Build and Test Windows - NuGetTest solution 1 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution1 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test2: - name: Build and Test Windows - NuGetTest solution 2 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution2 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test3: - name: Build and Test Windows - NuGetTest solution 3 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution3 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test4: - name: Build and Test Windows - NuGetTest solution 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution4 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test5: - name: Build and Test Windows - NuGetTest solution 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution5 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test6: - name: Build and Test Windows - NuGetTest solution 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution6 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test7: - name: Build and Test Windows - NuGetTest solution 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution7 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test8: - name: Build and Test Windows - NuGetTest solution 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution8 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-nuget-test9: - name: Build and Test Windows - NuGetTest solution 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution9 - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' From 2f526b1e9eb736919e4e952b8ad3f4b50bca7e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 11 Dec 2024 19:04:50 +0100 Subject: [PATCH 11/22] Reverting workflows --- .github/workflows/build-and-test-windows.yml | 221 ++++++++----------- .github/workflows/build-and-test.yml | 1 + 2 files changed, 97 insertions(+), 125 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 0d03a466b..4c594c745 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -6,154 +6,125 @@ name: Build and Test Windows on: workflow_dispatch: pull_request: + types: [labeled] + push: + branches: + - dev + pull_request_review: + types: [submitted] jobs: - build-and-test-larger-runners0: - name: Build and Test Windows - root solution (larger runners) 0 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: root-solution-larger-runners0 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' + remove-run-windows-build-label: + if: github.ref_name != github.event.repository.default_branch && + github.event.label.name == 'run-windows-build' + name: Remove Run Windows Build Label + runs-on: ubuntu-24.04 + timeout-minutes: 2 + steps: + - name: Remove Run Windows Build Label + uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev + with: + # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request + # coming from a fork. + token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} + labels: run-windows-build + type: remove - build-and-test-larger-runners1: - name: Build and Test Windows - root solution (larger runners) 1 + build-and-test-larger-runners: + if: github.ref_name != github.event.repository.default_branch && + (github.event_name == 'workflow_dispatch' || + github.event.label.name == 'run-windows-build' || + (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build'))) + name: Build and Test Windows - root solution (larger runners) uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-larger-runners1 + parent-job-name: root-solution-larger-runners machine-types: '["windows-2022-8core"]' timeout-minutes: 50 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' dotnet-test-process-timeout: 720000 + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. + # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) + # can only be used on Linux. test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - build-and-test-larger-runners2: - name: Build and Test Windows - root solution (larger runners) 2 + build-and-test-standard-runners: + if: github.ref_name == github.event.repository.default_branch + name: Build and Test Windows - root solution (standard runners) uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-larger-runners2 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 + parent-job-name: root-solution-standard-runners + # Since dev builds are not awaited by anyone, they can run on the slower free runners. + machine-types: '["windows-2022"]' + timeout-minutes: 70 set-up-sql-server: 'true' set-up-azurite: 'true' build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 + dotnet-test-process-timeout: 840000 + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. + # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) + # can only be used on Linux. test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - build-and-test-larger-runners3: - name: Build and Test Windows - root solution (larger runners) 3 + build-and-test-nuget-test: + if: github.ref_name == github.event.repository.default_branch || + github.event_name == 'workflow_dispatch' || + github.event.label.name == 'run-windows-build' || + (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) + name: Build and Test Windows - NuGetTest solution uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - parent-job-name: root-solution-larger-runners3 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' + parent-job-name: nuget-solution + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. + # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) + # can only be used on Linux. + # Without quotes, somehow the value won't be passed properly and the test execution will hang, despite seemingly + # every value being the same as with quotes. + # yamllint disable-line rule:quoted-strings + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - build-and-test-larger-runners4: - name: Build and Test Windows - root solution (larger runners) 4 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + powershell-static-code-analysis: + if: github.ref_name == github.event.repository.default_branch || + github.event_name == 'workflow_dispatch' || + github.event.label.name == 'run-windows-build' || + (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) + name: PowerShell Static Code Analysis Windows + uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev with: - parent-job-name: root-solution-larger-runners4 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' + machine-types: '["windows-2022"]' + run-windows-powershell: 'false' - build-and-test-larger-runners5: - name: Build and Test Windows - root solution (larger runners) 5 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: root-solution-larger-runners5 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' + post-pull-request-checks-automation: + name: Post Pull Request Checks Automation + needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] + if: github.event.pull_request != '' + uses: Lombiq/GitHub-Actions/.github/workflows/post-pull-request-checks-automation.yml@dev + secrets: + JIRA_BASE_URL: ${{ secrets.DEFAULT_JIRA_BASE_URL }} + JIRA_USER_EMAIL: ${{ secrets.DEFAULT_JIRA_USER_EMAIL }} + JIRA_API_TOKEN: ${{ secrets.DEFAULT_JIRA_API_TOKEN }} + MERGE_TOKEN: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} - build-and-test-larger-runners6: - name: Build and Test Windows - root solution (larger runners) 6 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: root-solution-larger-runners6 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-larger-runners7: - name: Build and Test Windows - root solution (larger runners) 7 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: root-solution-larger-runners7 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-larger-runners8: - name: Build and Test Windows - root solution (larger runners) 8 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: root-solution-larger-runners8 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' - - build-and-test-larger-runners9: - name: Build and Test Windows - root solution (larger runners) 9 - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - parent-job-name: root-solution-larger-runners9 - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - cancel-in-progress-for-this-pr: 'false' - cancel-workflow-on-failure: 'false' + remove-windows-build-warning-label: + name: Remove Windows Build Warning Label + runs-on: ubuntu-24.04 + timeout-minutes: 2 + needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] + steps: + - name: Remove Windows Build Warning Label + uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev + with: + # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request + # coming from a fork. + token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} + labels: requires-windows-build + type: remove diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f925548d0..058966db8 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -2,6 +2,7 @@ name: Build and Test # Runs for PRs opened for any branch, and pushes to the dev branch. on: + pull_request: push: branches: - dev From c12e18d2c76e04fafe212eeef1dda0f205f9440d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 11 Dec 2024 19:05:16 +0100 Subject: [PATCH 12/22] Using LGHA branch --- .github/workflows/build-and-test-windows.yml | 6 +++--- tools/Lombiq.GitHub.Actions | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 4c594c745..a18a82bd9 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -36,7 +36,7 @@ jobs: github.event.label.name == 'run-windows-build' || (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build'))) name: Build and Test Windows - root solution (larger runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-larger-runners machine-types: '["windows-2022-8core"]' @@ -54,7 +54,7 @@ jobs: build-and-test-standard-runners: if: github.ref_name == github.event.repository.default_branch name: Build and Test Windows - root solution (standard runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-standard-runners # Since dev builds are not awaited by anyone, they can run on the slower free runners. @@ -76,7 +76,7 @@ jobs: github.event.label.name == 'run-windows-build' || (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) name: Build and Test Windows - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: nuget-solution machine-types: '["windows-2022"]' diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index 6e8c60b78..8ea961564 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit 6e8c60b784a4816b663b15da186330cb68645881 +Subproject commit 8ea96156431b8e2250ae2a48e4c084bb4bc606c8 From fab165432c7d536dec2f6e3b2b0309011fede4ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 11 Dec 2024 19:10:59 +0100 Subject: [PATCH 13/22] Updating LGHA --- tools/Lombiq.GitHub.Actions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index 8ea961564..a4134a5d9 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit 8ea96156431b8e2250ae2a48e4c084bb4bc606c8 +Subproject commit a4134a5d94340bd07a27f54cae6b50d068641e12 From 7f743366879e5f8d323a8c232eab61efbf8935d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 11 Dec 2024 19:12:07 +0100 Subject: [PATCH 14/22] More LGHA references --- .github/workflows/build-and-test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 058966db8..f5bb11806 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -11,7 +11,7 @@ jobs: build-and-test-larger-runners: if: github.ref_name != github.event.repository.default_branch name: Build and Test - root solution (larger runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: root-solution-larger-runners machine-types: '["warp-ubuntu-2404-x64-4x"]' @@ -27,7 +27,7 @@ jobs: build-and-test-standard-runners: if: github.ref_name == github.event.repository.default_branch name: Build and Test - root solution (standard runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: # Since dev builds are not awaited by anyone, they can run on the slower free runners. parent-job-name: root-solution-standard-runners @@ -40,7 +40,7 @@ jobs: build-and-test-nuget-test: name: Build and Test - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 with: parent-job-name: nuget-solution build-directory: NuGetTest From f8898bcf2c074d5e4696c4aea8fd4c860eefc6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 14 Dec 2024 17:18:01 +0100 Subject: [PATCH 15/22] Debug workflow --- .github/workflows/build-and-test-windows.yml | 131 ++----------------- .github/workflows/build-and-test.yml | 2 +- 2 files changed, 14 insertions(+), 119 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index a18a82bd9..73d2f55ad 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -4,127 +4,22 @@ name: Build and Test Windows # Windows builds are much slower and more expensive than Ubuntu ones, and them catching issues that aren't surfaced # under Ubuntu is rare (but does happen). So, not running them for every push of every PR. on: - workflow_dispatch: pull_request: - types: [labeled] - push: - branches: - - dev - pull_request_review: - types: [submitted] jobs: - remove-run-windows-build-label: - if: github.ref_name != github.event.repository.default_branch && - github.event.label.name == 'run-windows-build' - name: Remove Run Windows Build Label - runs-on: ubuntu-24.04 - timeout-minutes: 2 + dump-github-context-8-core: + runs-on: windows-2022-8core steps: - - name: Remove Run Windows Build Label - uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev - with: - # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request - # coming from a fork. - token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} - labels: run-windows-build - type: remove + - env: + GITHUB_CONTEXT: ${{ toJSON(github) }} + shell: pwsh + run: Write-Output $Env:GITHUB_CONTEXT - build-and-test-larger-runners: - if: github.ref_name != github.event.repository.default_branch && - (github.event_name == 'workflow_dispatch' || - github.event.label.name == 'run-windows-build' || - (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build'))) - name: Build and Test Windows - root solution (larger runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-larger-runners - machine-types: '["windows-2022-8core"]' - timeout-minutes: 50 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 720000 - # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not - # supported by GHA. - # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) - # can only be used on Linux. - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - - build-and-test-standard-runners: - if: github.ref_name == github.event.repository.default_branch - name: Build and Test Windows - root solution (standard runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: root-solution-standard-runners - # Since dev builds are not awaited by anyone, they can run on the slower free runners. - machine-types: '["windows-2022"]' - timeout-minutes: 70 - set-up-sql-server: 'true' - set-up-azurite: 'true' - build-create-binary-log: 'true' - dotnet-test-process-timeout: 840000 - # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not - # supported by GHA. - # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) - # can only be used on Linux. - test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests - - build-and-test-nuget-test: - if: github.ref_name == github.event.repository.default_branch || - github.event_name == 'workflow_dispatch' || - github.event.label.name == 'run-windows-build' || - (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) - name: Build and Test Windows - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 - with: - parent-job-name: nuget-solution - machine-types: '["windows-2022"]' - build-directory: NuGetTest - timeout-minutes: 30 - dotnet-test-process-timeout: 540000 - # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not - # supported by GHA. - # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) - # can only be used on Linux. - # Without quotes, somehow the value won't be passed properly and the test execution will hang, despite seemingly - # every value being the same as with quotes. - # yamllint disable-line rule:quoted-strings - test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' - - powershell-static-code-analysis: - if: github.ref_name == github.event.repository.default_branch || - github.event_name == 'workflow_dispatch' || - github.event.label.name == 'run-windows-build' || - (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) - name: PowerShell Static Code Analysis Windows - uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev - with: - machine-types: '["windows-2022"]' - run-windows-powershell: 'false' - - post-pull-request-checks-automation: - name: Post Pull Request Checks Automation - needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] - if: github.event.pull_request != '' - uses: Lombiq/GitHub-Actions/.github/workflows/post-pull-request-checks-automation.yml@dev - secrets: - JIRA_BASE_URL: ${{ secrets.DEFAULT_JIRA_BASE_URL }} - JIRA_USER_EMAIL: ${{ secrets.DEFAULT_JIRA_USER_EMAIL }} - JIRA_API_TOKEN: ${{ secrets.DEFAULT_JIRA_API_TOKEN }} - MERGE_TOKEN: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} - - remove-windows-build-warning-label: - name: Remove Windows Build Warning Label - runs-on: ubuntu-24.04 - timeout-minutes: 2 - needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] +dump-github-context-standard: + runs-on: windows-2022 steps: - - name: Remove Windows Build Warning Label - uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev - with: - # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request - # coming from a fork. - token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} - labels: requires-windows-build - type: remove + - env: + GITHUB_CONTEXT: ${{ toJSON(github) }} + shell: pwsh + run: Write-Output $Env:GITHUB_CONTEXT + \ No newline at end of file diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f5bb11806..a99220562 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -2,7 +2,7 @@ name: Build and Test # Runs for PRs opened for any branch, and pushes to the dev branch. on: - pull_request: + #pull_request: push: branches: - dev From b4eba486a3dff1d08523cba5dafa5bdfea8dafe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 14 Dec 2024 17:19:06 +0100 Subject: [PATCH 16/22] YML syntax --- .github/workflows/build-and-test-windows.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 73d2f55ad..316977864 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -15,11 +15,11 @@ jobs: shell: pwsh run: Write-Output $Env:GITHUB_CONTEXT -dump-github-context-standard: - runs-on: windows-2022 - steps: - - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} - shell: pwsh - run: Write-Output $Env:GITHUB_CONTEXT + dump-github-context-standard: + runs-on: windows-2022 + steps: + - env: + GITHUB_CONTEXT: ${{ toJSON(github) }} + shell: pwsh + run: Write-Output $Env:GITHUB_CONTEXT \ No newline at end of file From d6016f67fbbf1e3e99dda8a786f9360cc65c66a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 14 Dec 2024 17:21:29 +0100 Subject: [PATCH 17/22] Runner context --- .github/workflows/build-and-test-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 316977864..36592d600 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -11,7 +11,7 @@ jobs: runs-on: windows-2022-8core steps: - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} + GITHUB_CONTEXT: ${{ toJSON(runner) }} shell: pwsh run: Write-Output $Env:GITHUB_CONTEXT @@ -19,7 +19,7 @@ jobs: runs-on: windows-2022 steps: - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} + GITHUB_CONTEXT: ${{ toJSON(runner) }} shell: pwsh run: Write-Output $Env:GITHUB_CONTEXT \ No newline at end of file From 7c8f8b00eb6a6c10885d79a19b51b85ba8838acb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 14 Dec 2024 17:25:06 +0100 Subject: [PATCH 18/22] Testing WarpBuild --- .github/workflows/build-and-test-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 36592d600..155241891 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -8,7 +8,7 @@ on: jobs: dump-github-context-8-core: - runs-on: windows-2022-8core + runs-on: warp-ubuntu-2404-x64-8x steps: - env: GITHUB_CONTEXT: ${{ toJSON(runner) }} @@ -16,7 +16,7 @@ jobs: run: Write-Output $Env:GITHUB_CONTEXT dump-github-context-standard: - runs-on: windows-2022 + runs-on: warp-ubuntu-2404-x64-4x steps: - env: GITHUB_CONTEXT: ${{ toJSON(runner) }} From a2daf268698adefe70690fa18a7afcf32d31de4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 14 Dec 2024 17:28:26 +0100 Subject: [PATCH 19/22] Normal workflows --- .github/workflows/build-and-test-windows.yml | 135 ++++++++++++++++--- .github/workflows/build-and-test.yml | 2 +- 2 files changed, 121 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 155241891..a18a82bd9 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -4,22 +4,127 @@ name: Build and Test Windows # Windows builds are much slower and more expensive than Ubuntu ones, and them catching issues that aren't surfaced # under Ubuntu is rare (but does happen). So, not running them for every push of every PR. on: + workflow_dispatch: pull_request: + types: [labeled] + push: + branches: + - dev + pull_request_review: + types: [submitted] jobs: - dump-github-context-8-core: - runs-on: warp-ubuntu-2404-x64-8x + remove-run-windows-build-label: + if: github.ref_name != github.event.repository.default_branch && + github.event.label.name == 'run-windows-build' + name: Remove Run Windows Build Label + runs-on: ubuntu-24.04 + timeout-minutes: 2 steps: - - env: - GITHUB_CONTEXT: ${{ toJSON(runner) }} - shell: pwsh - run: Write-Output $Env:GITHUB_CONTEXT - - dump-github-context-standard: - runs-on: warp-ubuntu-2404-x64-4x - steps: - - env: - GITHUB_CONTEXT: ${{ toJSON(runner) }} - shell: pwsh - run: Write-Output $Env:GITHUB_CONTEXT - \ No newline at end of file + - name: Remove Run Windows Build Label + uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev + with: + # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request + # coming from a fork. + token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} + labels: run-windows-build + type: remove + + build-and-test-larger-runners: + if: github.ref_name != github.event.repository.default_branch && + (github.event_name == 'workflow_dispatch' || + github.event.label.name == 'run-windows-build' || + (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build'))) + name: Build and Test Windows - root solution (larger runners) + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-larger-runners + machine-types: '["windows-2022-8core"]' + timeout-minutes: 50 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 720000 + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. + # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) + # can only be used on Linux. + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + + build-and-test-standard-runners: + if: github.ref_name == github.event.repository.default_branch + name: Build and Test Windows - root solution (standard runners) + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: root-solution-standard-runners + # Since dev builds are not awaited by anyone, they can run on the slower free runners. + machine-types: '["windows-2022"]' + timeout-minutes: 70 + set-up-sql-server: 'true' + set-up-azurite: 'true' + build-create-binary-log: 'true' + dotnet-test-process-timeout: 840000 + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. + # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) + # can only be used on Linux. + test-filter: FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests + + build-and-test-nuget-test: + if: github.ref_name == github.event.repository.default_branch || + github.event_name == 'workflow_dispatch' || + github.event.label.name == 'run-windows-build' || + (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) + name: Build and Test Windows - NuGetTest solution + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + with: + parent-job-name: nuget-solution + machine-types: '["windows-2022"]' + build-directory: NuGetTest + timeout-minutes: 30 + dotnet-test-process-timeout: 540000 + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. + # The currently used Elasticsearch setup action (https://github.com/elastic/elastic-github-actions/tree/master/elasticsearch) + # can only be used on Linux. + # Without quotes, somehow the value won't be passed properly and the test execution will hang, despite seemingly + # every value being the same as with quotes. + # yamllint disable-line rule:quoted-strings + test-filter: 'FullyQualifiedName!~SecurityScanningTests&FullyQualifiedName!~BehaviorElasticsearchTests' + + powershell-static-code-analysis: + if: github.ref_name == github.event.repository.default_branch || + github.event_name == 'workflow_dispatch' || + github.event.label.name == 'run-windows-build' || + (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) + name: PowerShell Static Code Analysis Windows + uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev + with: + machine-types: '["windows-2022"]' + run-windows-powershell: 'false' + + post-pull-request-checks-automation: + name: Post Pull Request Checks Automation + needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] + if: github.event.pull_request != '' + uses: Lombiq/GitHub-Actions/.github/workflows/post-pull-request-checks-automation.yml@dev + secrets: + JIRA_BASE_URL: ${{ secrets.DEFAULT_JIRA_BASE_URL }} + JIRA_USER_EMAIL: ${{ secrets.DEFAULT_JIRA_USER_EMAIL }} + JIRA_API_TOKEN: ${{ secrets.DEFAULT_JIRA_API_TOKEN }} + MERGE_TOKEN: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} + + remove-windows-build-warning-label: + name: Remove Windows Build Warning Label + runs-on: ubuntu-24.04 + timeout-minutes: 2 + needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] + steps: + - name: Remove Windows Build Warning Label + uses: Lombiq/GitHub-Actions/.github/actions/add-remove-label@dev + with: + # The token is necessary to be able to remove the label even if the workflow is triggered by a pull request + # coming from a fork. + token: ${{ secrets.LOMBIQBOT_GITHUB_PERSONAL_ACCESS_TOKEN }} + labels: requires-windows-build + type: remove diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index a99220562..f5bb11806 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -2,7 +2,7 @@ name: Build and Test # Runs for PRs opened for any branch, and pushes to the dev branch. on: - #pull_request: + pull_request: push: branches: - dev From f992494a4a63ba041529fed436c7e8fe2a490dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 14 Dec 2024 17:28:44 +0100 Subject: [PATCH 20/22] Checking for runner.environment too --- tools/Lombiq.GitHub.Actions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index a4134a5d9..902ce71df 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit a4134a5d94340bd07a27f54cae6b50d068641e12 +Subproject commit 902ce71dfe247735e5a4c6c33784522d88df0e61 From d737d496fc77913c6564ce3be7187c572782b9ed Mon Sep 17 00:00:00 2001 From: Benedek Farkas Date: Tue, 17 Dec 2024 11:59:18 +0100 Subject: [PATCH 21/22] Updating LGHA to dev after merging issue branch --- tools/Lombiq.GitHub.Actions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Lombiq.GitHub.Actions b/tools/Lombiq.GitHub.Actions index 902ce71df..0759b8d37 160000 --- a/tools/Lombiq.GitHub.Actions +++ b/tools/Lombiq.GitHub.Actions @@ -1 +1 @@ -Subproject commit 902ce71dfe247735e5a4c6c33784522d88df0e61 +Subproject commit 0759b8d37ab97880bc6151ff31e9d2cd1584ef35 From 05d8687f4177cce0b43445472286bb0b0896f5d6 Mon Sep 17 00:00:00 2001 From: Benedek Farkas Date: Tue, 17 Dec 2024 12:00:43 +0100 Subject: [PATCH 22/22] Reverting workflow branch references to dev --- .github/workflows/build-and-test-windows.yml | 6 +++--- .github/workflows/build-and-test.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index a18a82bd9..4c594c745 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -36,7 +36,7 @@ jobs: github.event.label.name == 'run-windows-build' || (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build'))) name: Build and Test Windows - root solution (larger runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-larger-runners machine-types: '["windows-2022-8core"]' @@ -54,7 +54,7 @@ jobs: build-and-test-standard-runners: if: github.ref_name == github.event.repository.default_branch name: Build and Test Windows - root solution (standard runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-standard-runners # Since dev builds are not awaited by anyone, they can run on the slower free runners. @@ -76,7 +76,7 @@ jobs: github.event.label.name == 'run-windows-build' || (github.event.review.state == 'APPROVED' && contains(github.event.pull_request.labels.*.name, 'requires-windows-build')) name: Build and Test Windows - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution machine-types: '["windows-2022"]' diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f5bb11806..058966db8 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -11,7 +11,7 @@ jobs: build-and-test-larger-runners: if: github.ref_name != github.event.repository.default_branch name: Build and Test - root solution (larger runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: root-solution-larger-runners machine-types: '["warp-ubuntu-2404-x64-4x"]' @@ -27,7 +27,7 @@ jobs: build-and-test-standard-runners: if: github.ref_name == github.event.repository.default_branch name: Build and Test - root solution (standard runners) - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: # Since dev builds are not awaited by anyone, they can run on the slower free runners. parent-job-name: root-solution-standard-runners @@ -40,7 +40,7 @@ jobs: build-and-test-nuget-test: name: Build and Test - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@issue/OSOE-928 + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: parent-job-name: nuget-solution build-directory: NuGetTest