From 70f8c22e288574a243d4d3aea770eaa202793ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 03:05:47 +0100 Subject: [PATCH 01/65] Prototype ZAP security scanning --- src/Libraries/Lombiq.HelpfulLibraries | 2 +- test/Lombiq.UITestingToolbox | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Libraries/Lombiq.HelpfulLibraries b/src/Libraries/Lombiq.HelpfulLibraries index ffd7762a1..21b3ed214 160000 --- a/src/Libraries/Lombiq.HelpfulLibraries +++ b/src/Libraries/Lombiq.HelpfulLibraries @@ -1 +1 @@ -Subproject commit ffd7762a17ffdde07e3508654b362de7d099deaa +Subproject commit 21b3ed2142e65b57ce44d8b918a9b5e817922319 diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index f6dab68c4..338811b83 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit f6dab68c49529e708d5a71516d1cabfab8d8c082 +Subproject commit 338811b83d66621a2fdd2bc0e11bf75821607b65 From 0d15a1df5a00f25147eaf96dd3ff5095729dcc69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 14:07:30 +0100 Subject: [PATCH 02/65] Minimal CI build --- .github/workflows/build-and-test.yml | 72 +--------------------------- 1 file changed, 2 insertions(+), 70 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 709a3e3ab..8acb1b3a2 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -22,73 +22,5 @@ jobs: blame-hang-timeout: "5m" build-enable-nuget-caching: "true" build-enable-npm-caching: "true" - - build-and-test-standard-runners: - # Since dev builds are not awaited by anyone, they can run on the slower free 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 - with: - timeout-minutes: 40 - set-up-sql-server: "true" - set-up-azurite: "true" - build-create-binary-log: "true" - blame-hang-timeout: "5m" - - build-and-test-nuget-test: - name: Build and Test - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - build-directory: NuGetTest - timeout-minutes: 15 - blame-hang-timeout: "5m" - - spelling: - name: Spelling - uses: Lombiq/GitHub-Actions/.github/workflows/spelling.yml@dev - with: - additional-dictionaries: | - cspell:csharp/csharp.txt - cspell:css/dict/css.txt - cspell:fullstack/dict/fullstack.txt - cspell:html-symbol-entities/entities.txt - cspell:html/dict/html.txt - cspell:html/src/svg.txt - cspell:node/dict/node.txt - cspell:npm/dict/npm.txt - lombiq-lgha:dictionaries/Liquid.txt - lombiq-lgha:dictionaries/Xml.txt - lombiq-lgha:dictionaries/Lombiq.people.txt - - powershell-static-code-analysis: - name: PowerShell Static Code Analysis - uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev - with: - machine-types: "['ubuntu-22.04']" - - post-pull-request-checks-automation: - name: Post Pull Request Checks Automation - needs: [build-and-test-larger-runners, build-and-test-nuget-test, spelling, 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 }} - - add-windows-build-warning-label: - name: Add Windows Build Warning Label - runs-on: ubuntu-22.04 - timeout-minutes: 2 - needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] - steps: - - name: Add Windows Build Warning Label - # v2.0.0 - uses: buildsville/add-remove-label@eeae411a9be2e173f2420e1644514edbecc4e835 - with: - # The token is necessary to be able to add 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: add + build-enable-code-analysis: false + test-filter: "SecurityScanningTests" From a5279b9b8ba1c818bacad1b617d6e2b05730ba0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 18:54:10 +0100 Subject: [PATCH 03/65] Test run of security scans --- src/Modules/Lombiq.TrainingDemo | 2 +- test/Lombiq.UITestingToolbox | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Modules/Lombiq.TrainingDemo b/src/Modules/Lombiq.TrainingDemo index a961b39eb..a81ac1a1b 160000 --- a/src/Modules/Lombiq.TrainingDemo +++ b/src/Modules/Lombiq.TrainingDemo @@ -1 +1 @@ -Subproject commit a961b39ebab34730eb56c3c7108d2c83b4b02a3e +Subproject commit a81ac1a1b49fcb6c63208a6cb3248bebc17434e2 diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 338811b83..290aa3da5 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 338811b83d66621a2fdd2bc0e11bf75821607b65 +Subproject commit 290aa3da56f2d4b58fa7bba53c02e498243d4b2d From 43cd4a5634f41b48117ff3a74203cc3418ef8285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 19:02:26 +0100 Subject: [PATCH 04/65] Even leaner CI build --- .github/workflows/build-and-test.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 8acb1b3a2..6a276d205 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -15,12 +15,11 @@ jobs: with: machine-types: "['buildjet-4vcpu-ubuntu-2204']" timeout-minutes: 20 - set-up-sql-server: "true" - set-up-azurite: "true" ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" build-enable-nuget-caching: "true" build-enable-npm-caching: "true" - build-enable-code-analysis: false + build-enable-code-analysis: "false" test-filter: "SecurityScanningTests" + warnings-as-errors: "false" From 180c561a1dfd51209bb595591f7f113db0a46039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 19:19:44 +0100 Subject: [PATCH 05/65] Fixing ZAP network access under Linux --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 290aa3da5..ed3183267 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 290aa3da56f2d4b58fa7bba53c02e498243d4b2d +Subproject commit ed318326758c1cdecdce79e10d3a38dceb2efc75 From 28dffac7a06939657f3899aeddf0df69ac286bae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 21:50:22 +0100 Subject: [PATCH 06/65] ZAP-using test now passes --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index ed3183267..f174c2f0f 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit ed318326758c1cdecdce79e10d3a38dceb2efc75 +Subproject commit f174c2f0f7631ef99127a90362f5a1a5173f37e7 From 5d4e43729f6abb33a2780ccbae75255d78465a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 22:39:52 +0100 Subject: [PATCH 07/65] Lean Windows build --- .github/workflows/build-and-test-windows.yml | 65 +------------------- 1 file changed, 3 insertions(+), 62 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index f37cd3e4a..26f8988f8 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -42,65 +42,6 @@ jobs: ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" - - build-and-test-standard-runners: - # Since dev builds are not awaited by anyone, they can run on the slower free 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: - machine-types: "['windows-2022']" - timeout-minutes: 60 - set-up-sql-server: "true" - set-up-azurite: "true" - build-create-binary-log: "true" - blame-hang-timeout: "5m" - - 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' - name: Build and Test Windows - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - machine-types: "['windows-2022']" - build-directory: NuGetTest - timeout-minutes: 25 - blame-hang-timeout: "5m" - - 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' - 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-22.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 - # v2.0.0 - uses: buildsville/add-remove-label@eeae411a9be2e173f2420e1644514edbecc4e835 - 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 + build-enable-code-analysis: "false" + test-filter: "SecurityScanningTests" + warnings-as-errors: "false" From 040d25b55a76aa51852b115c1f2e64905e7cecdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 14 Nov 2023 22:59:05 +0100 Subject: [PATCH 08/65] Even leaner Windows build --- .github/workflows/build-and-test-windows.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 26f8988f8..0bafcbba7 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -37,8 +37,6 @@ jobs: with: machine-types: "['gitrunners-windows-2022-x64-8vcpu']" timeout-minutes: 30 - set-up-sql-server: "true" - set-up-azurite: "true" ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" From 441515754b05f9ecd4f4370066dd4ec399c9a328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 15 Nov 2023 00:17:57 +0100 Subject: [PATCH 09/65] Windows builds now exclude security tests since those won't run on GitHub Actions --- .github/workflows/build-and-test-windows.yml | 69 +++++++++++++++++++- 1 file changed, 66 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 0bafcbba7..9551c4a90 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -37,9 +37,72 @@ jobs: with: machine-types: "['gitrunners-windows-2022-x64-8vcpu']" timeout-minutes: 30 + set-up-sql-server: "true" + set-up-azurite: "true" ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" - build-enable-code-analysis: "false" - test-filter: "SecurityScanningTests" - warnings-as-errors: "false" + test-filter: "FullyQualifiedName!~SecurityScanningTests" + + build-and-test-standard-runners: + # Since dev builds are not awaited by anyone, they can run on the slower free 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: + machine-types: "['windows-2022']" + timeout-minutes: 60 + set-up-sql-server: "true" + set-up-azurite: "true" + build-create-binary-log: "true" + blame-hang-timeout: "5m" + test-filter: "FullyQualifiedName!~SecurityScanningTests" + + 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' + name: Build and Test Windows - NuGetTest solution + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + with: + machine-types: "['windows-2022']" + build-directory: NuGetTest + timeout-minutes: 25 + blame-hang-timeout: "5m" + + 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' + 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-22.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 + # v2.0.0 + uses: buildsville/add-remove-label@eeae411a9be2e173f2420e1644514edbecc4e835 + 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 From 99fcb1e50803ecac827bf9d4b9af1d667f2cd404 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 15 Nov 2023 00:28:58 +0100 Subject: [PATCH 10/65] Temporarily disabling code analysis for Windows builds too --- .github/workflows/build-and-test-windows.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 9551c4a90..3cd2e07ea 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -43,6 +43,8 @@ jobs: build-create-binary-log: "true" blame-hang-timeout: "5m" test-filter: "FullyQualifiedName!~SecurityScanningTests" + build-enable-code-analysis: "false" + warnings-as-errors: "false" build-and-test-standard-runners: # Since dev builds are not awaited by anyone, they can run on the slower free runners. From b7db6ca593a4b4204dc8ba2fff98d7d66babf12b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 15 Nov 2023 01:08:20 +0100 Subject: [PATCH 11/65] Revert "Temporarily disabling code analysis for Windows builds too" This reverts commit 99fcb1e50803ecac827bf9d4b9af1d667f2cd404. --- .github/workflows/build-and-test-windows.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 3cd2e07ea..9551c4a90 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -43,8 +43,6 @@ jobs: build-create-binary-log: "true" blame-hang-timeout: "5m" test-filter: "FullyQualifiedName!~SecurityScanningTests" - build-enable-code-analysis: "false" - warnings-as-errors: "false" build-and-test-standard-runners: # Since dev builds are not awaited by anyone, they can run on the slower free runners. From 5735311d57379468d6289f40d92b8ef833141793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 15 Nov 2023 03:45:00 +0100 Subject: [PATCH 12/65] Adding support for ZAP YAML config files --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index f174c2f0f..540dc9e8e 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit f174c2f0f7631ef99127a90362f5a1a5173f37e7 +Subproject commit 540dc9e8e861fd57bed03b2f888818dcdd2c807d From ad0a4a516a6306c025c90b9488e927674501685a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 15 Nov 2023 22:54:25 +0100 Subject: [PATCH 13/65] Ability to assert on SARIF security reports --- src/Libraries/Lombiq.HelpfulLibraries | 2 +- test/Lombiq.UITestingToolbox | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Libraries/Lombiq.HelpfulLibraries b/src/Libraries/Lombiq.HelpfulLibraries index 21b3ed214..9fcb88e1f 160000 --- a/src/Libraries/Lombiq.HelpfulLibraries +++ b/src/Libraries/Lombiq.HelpfulLibraries @@ -1 +1 @@ -Subproject commit 21b3ed2142e65b57ce44d8b918a9b5e817922319 +Subproject commit 9fcb88e1f9d39f841445c9890bdb61727668466c diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 540dc9e8e..c5fc6636f 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 540dc9e8e861fd57bed03b2f888818dcdd2c807d +Subproject commit c5fc6636f1510cd2ab041abcc5712d985eaf7823 From fe1003930f8dd194ef33f524278319894b30e0a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 15 Nov 2023 23:04:33 +0100 Subject: [PATCH 14/65] Making SecurityScanShouldPass pass --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index c5fc6636f..4fbd32a90 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit c5fc6636f1510cd2ab041abcc5712d985eaf7823 +Subproject commit 4fbd32a9016715c006f9ef79404890e66ebdf0f7 From 30deed4bed0e2264d378dd9dc29a6fac44453bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 16 Nov 2023 02:57:43 +0100 Subject: [PATCH 15/65] Refactoring and docs --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 4fbd32a90..0a5f60856 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 4fbd32a9016715c006f9ef79404890e66ebdf0f7 +Subproject commit 0a5f60856fdd54a5399aeb1ab8bdc317ec96045f From 76ea893ec58be2faa5912650671a81698a72eee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 16 Nov 2023 03:22:35 +0100 Subject: [PATCH 16/65] Simpler sample assertion in SecurityScanningTests --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 0a5f60856..f2b5407f3 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 0a5f60856fdd54a5399aeb1ab8bdc317ec96045f +Subproject commit f2b5407f35a3c94f3364c217e89c5b8ea05b73a8 From 1ee97a20b2f34469d49fbf17837e4b9e104e3d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 16 Nov 2023 22:29:35 +0100 Subject: [PATCH 17/65] Removing spiderAjax from the default plans, more configurability --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index f2b5407f3..c4ae3291f 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit f2b5407f35a3c94f3364c217e89c5b8ea05b73a8 +Subproject commit c4ae3291f24126edccea77990c1adcc4d3f99185 From 33d3a9df46412b46bf1b3800e6967fbf552aa50f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 16 Nov 2023 23:28:47 +0100 Subject: [PATCH 18/65] Second security scanning sample test with more configurability --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index c4ae3291f..0980b9d95 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit c4ae3291f24126edccea77990c1adcc4d3f99185 +Subproject commit 0980b9d957741ae2f2f2e6354156dbd5c223b431 From aa815f93207759e585a2ccbf6b4c6d1eb1349b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 17 Nov 2023 01:48:31 +0100 Subject: [PATCH 19/65] Small improvements, docs --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 0980b9d95..e6cfe4662 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 0980b9d957741ae2f2f2e6354156dbd5c223b431 +Subproject commit e6cfe4662931655767be845f4ebe6cb9ccca1aae From b6ed30b8c8426c4d4dc07d751cf02f72e46384b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Mon, 20 Nov 2023 00:58:24 +0100 Subject: [PATCH 20/65] Configurability for disabling a rule just for a single URL --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index e6cfe4662..74c2b43d0 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit e6cfe4662931655767be845f4ebe6cb9ccca1aae +Subproject commit 74c2b43d03a642d261f1f13acfc7acc4500501b8 From 0ffbfe9d30f55a3152cb07ccfc78252a667e4cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Mon, 20 Nov 2023 20:37:32 +0100 Subject: [PATCH 21/65] Adding simplified fluent configuration --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 74c2b43d0..b983c3071 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 74c2b43d03a642d261f1f13acfc7acc4500501b8 +Subproject commit b983c30717794c7e1d1ecf3d7ffd87aaf0e20d1b From f418fbfaf997b5c8c9c3a336897f09db0427e7db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 21 Nov 2023 02:09:53 +0100 Subject: [PATCH 22/65] ZAP scans can now log in --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index b983c3071..9e027f438 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit b983c30717794c7e1d1ecf3d7ffd87aaf0e20d1b +Subproject commit 9e027f4389c1e43f8e1c07b0b2ac7b691ca658e3 From e77c0bafd1a5674c122d83feb18f1aaf0ea5a752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 21 Nov 2023 16:06:14 +0100 Subject: [PATCH 23/65] Low-level config sample, docs, refactoring --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 9e027f438..cd99756e9 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 9e027f4389c1e43f8e1c07b0b2ac7b691ca658e3 +Subproject commit cd99756e9ce2fc9898f2b64ebbb956da4558a412 From a65033f08c1879b95b2ec86e26d22e006fffd3f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 21 Nov 2023 16:30:18 +0100 Subject: [PATCH 24/65] Docs --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index cd99756e9..023c25aef 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit cd99756e9ce2fc9898f2b64ebbb956da4558a412 +Subproject commit 023c25aefe548bb1ef10481f7da40b98ecca4efc From 53a387d8c40de7dd755f0e3e3da27abac4db12da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 21 Nov 2023 16:34:51 +0100 Subject: [PATCH 25/65] Code styling --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 023c25aef..8ab559014 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 023c25aefe548bb1ef10481f7da40b98ecca4efc +Subproject commit 8ab559014fd6563c7fc08e1fdd3e1770e88a5eb9 From d7f7968fac699404eca5f7d8295340720a898d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 21 Nov 2023 16:51:36 +0100 Subject: [PATCH 26/65] Code styling --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 8ab559014..e9ac2f6cc 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 8ab559014fd6563c7fc08e1fdd3e1770e88a5eb9 +Subproject commit e9ac2f6cc1d5a817a553b0b25e1727754362b283 From 24e24b9c7e683ce5835e7d0d1083b9915c902925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 22 Nov 2023 15:46:19 +0100 Subject: [PATCH 27/65] Excluding irrelevant technologies from ZAP scans, making them faster --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index f4a31f774..033e23bce 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit f4a31f77495bacf9e0ec8070d9facb37ee8bce48 +Subproject commit 033e23bcecfad20cc71129b35914223856216ccc From 3c5d2272172ecdf7608564178cbf7db8172918bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Wed, 22 Nov 2023 23:32:28 +0100 Subject: [PATCH 28/65] Removing now unnecessary browser configs --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index b41d9d25e..e8ac89716 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit b41d9d25e8b6b8566de82bea3e47d9796d8bc095 +Subproject commit e8ac89716b343984a3cd6bcd55f447c856df286e From 63b6d1184937a5101c62489762287901d780add0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 18:46:12 +0100 Subject: [PATCH 29/65] Resetting debug code --- .github/workflows/build-and-test.yml | 75 ++++++++++++++++++++++++++-- test/Lombiq.UITestingToolbox | 2 +- 2 files changed, 73 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 6a276d205..709a3e3ab 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -15,11 +15,80 @@ jobs: with: machine-types: "['buildjet-4vcpu-ubuntu-2204']" timeout-minutes: 20 + set-up-sql-server: "true" + set-up-azurite: "true" ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" build-enable-nuget-caching: "true" build-enable-npm-caching: "true" - build-enable-code-analysis: "false" - test-filter: "SecurityScanningTests" - warnings-as-errors: "false" + + build-and-test-standard-runners: + # Since dev builds are not awaited by anyone, they can run on the slower free 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 + with: + timeout-minutes: 40 + set-up-sql-server: "true" + set-up-azurite: "true" + build-create-binary-log: "true" + blame-hang-timeout: "5m" + + build-and-test-nuget-test: + name: Build and Test - NuGetTest solution + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + with: + build-directory: NuGetTest + timeout-minutes: 15 + blame-hang-timeout: "5m" + + spelling: + name: Spelling + uses: Lombiq/GitHub-Actions/.github/workflows/spelling.yml@dev + with: + additional-dictionaries: | + cspell:csharp/csharp.txt + cspell:css/dict/css.txt + cspell:fullstack/dict/fullstack.txt + cspell:html-symbol-entities/entities.txt + cspell:html/dict/html.txt + cspell:html/src/svg.txt + cspell:node/dict/node.txt + cspell:npm/dict/npm.txt + lombiq-lgha:dictionaries/Liquid.txt + lombiq-lgha:dictionaries/Xml.txt + lombiq-lgha:dictionaries/Lombiq.people.txt + + powershell-static-code-analysis: + name: PowerShell Static Code Analysis + uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev + with: + machine-types: "['ubuntu-22.04']" + + post-pull-request-checks-automation: + name: Post Pull Request Checks Automation + needs: [build-and-test-larger-runners, build-and-test-nuget-test, spelling, 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 }} + + add-windows-build-warning-label: + name: Add Windows Build Warning Label + runs-on: ubuntu-22.04 + timeout-minutes: 2 + needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] + steps: + - name: Add Windows Build Warning Label + # v2.0.0 + uses: buildsville/add-remove-label@eeae411a9be2e173f2420e1644514edbecc4e835 + with: + # The token is necessary to be able to add 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: add diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index e8ac89716..5281dd811 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit e8ac89716b343984a3cd6bcd55f447c856df286e +Subproject commit 5281dd81191cd694253c26585179d32cc4a5b40a From 1650ef241172179e381594ca62b20f906c8c7b32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 19:05:32 +0100 Subject: [PATCH 30/65] Docs, spelling --- .github/actions/spelling/excludes.txt | 2 ++ test/Lombiq.UITestingToolbox | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt index 0b74a71f6..5b5b0ebef 100644 --- a/.github/actions/spelling/excludes.txt +++ b/.github/actions/spelling/excludes.txt @@ -1,6 +1,8 @@ Assets/Vendors/ \QLombiq.VueJs.Tests.UI/Assets/Media/\E.*\.mjpeg$ ^\Qtest/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Constants/CommonDisplayResolutions.cs\E$ +^\Qtest/Lombiq.UITestingToolbox/Lombiq.Tests.UI/SecurityScanning/AutomationFrameworkPlanFragments/\E.*.yml$ +^\Qtest/Lombiq.UITestingToolbox/Lombiq.Tests.UI/SecurityScanning/AutomationFrameworkPlans/\E.*.yml$ ^\Qtools/Lombiq.GitHub.Actions/\E \QUnmanagedNodeModules/\E \QUploadingTestFileDOCX.docx\E$ diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 5281dd811..30f9c6ab7 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 5281dd81191cd694253c26585179d32cc4a5b40a +Subproject commit 30f9c6ab72946d8af09ccdd1a9110bc36e4d26d5 From 3b571abb0ecbaa23016fc26f8260c57dac79d826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 19:08:41 +0100 Subject: [PATCH 31/65] More spelling --- .github/actions/spelling/excludes.txt | 1 + test/Lombiq.UITestingToolbox | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt index 5b5b0ebef..dba700b74 100644 --- a/.github/actions/spelling/excludes.txt +++ b/.github/actions/spelling/excludes.txt @@ -3,6 +3,7 @@ Assets/Vendors/ ^\Qtest/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Constants/CommonDisplayResolutions.cs\E$ ^\Qtest/Lombiq.UITestingToolbox/Lombiq.Tests.UI/SecurityScanning/AutomationFrameworkPlanFragments/\E.*.yml$ ^\Qtest/Lombiq.UITestingToolbox/Lombiq.Tests.UI/SecurityScanning/AutomationFrameworkPlans/\E.*.yml$ +^\Qtest/Lombiq.UITestingToolbox/Lombiq.Tests.UI.Samples/Tests/CustomZapAutomationFrameworkPlan.yml\E$ ^\Qtools/Lombiq.GitHub.Actions/\E \QUnmanagedNodeModules/\E \QUploadingTestFileDOCX.docx\E$ diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 30f9c6ab7..2fffa22c0 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 30f9c6ab72946d8af09ccdd1a9110bc36e4d26d5 +Subproject commit 2fffa22c0820b1b8e615a848ac1949602910b8dc From 3ed2d38a205699a74659ce3ee042f9a8368ea9b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 19:31:54 +0100 Subject: [PATCH 32/65] Updating the NuGetTest solution too --- .../Lombiq.OSOCE.NuGet.Web.csproj | 4 ++-- .../Lombiq.OSOCE.NuGet.TestModule.csproj | 2 +- .../Lombiq.OSOCE.NuGet.Tests.UI.csproj | 2 +- .../Tests/SecurityScanningTests.cs | 23 +++++++++++++++++++ .../Lombiq.OSOCE.NuGet.Tests.csproj | 2 +- test/Lombiq.UITestingToolbox | 2 +- 6 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs diff --git a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj index 29ed7ff4e..ffaf2bbcf 100644 --- a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj +++ b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj @@ -47,8 +47,8 @@ - - + + diff --git a/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj b/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj index 97869c0bf..355206270 100644 --- a/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj +++ b/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj @@ -16,7 +16,7 @@ - + diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj index c5765ecb1..2f9089f5e 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj @@ -34,7 +34,7 @@ - + diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs new file mode 100644 index 000000000..d1a8aa6e3 --- /dev/null +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs @@ -0,0 +1,23 @@ +using Lombiq.Tests.UI.SecurityScanning; +using Shouldly; +using System.Threading.Tasks; +using Xunit; +using Xunit.Abstractions; + +namespace Lombiq.OSOCE.NuGet.Tests.UI.Tests; + +public class SecurityScanningTests : UITestBase +{ + public SecurityScanningTests(ITestOutputHelper testOutputHelper) + : base(testOutputHelper) + { + } + + // Only scanning the homepage, since this is just to make sure that ZAP still works from NuGet. + [Fact] + public Task BasicSecurityScanShouldPass() => + ExecuteTestAfterSetupAsync( + context => context.RunAndAssertBaselineSecurityScanAsync( + configuration => configuration.ExcludeUrlWithRegex(".*:[0-9]+\\/.+"), + sarifLog => sarifLog.Runs[0].Results.Count.ShouldBeLessThan(6))); +} diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj index ba38657b8..61badc14e 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 2fffa22c0..7212085fe 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 2fffa22c0820b1b8e615a848ac1949602910b8dc +Subproject commit 7212085fef6506875ce27768dcaee4fdcfc983d6 From 8152baf0137cf3aec55fa99fc9d48776697a5eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 20:38:30 +0100 Subject: [PATCH 33/65] Running the NuGetTest also on BuildJet to test Docker --- .github/workflows/build-and-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 709a3e3ab..c9fb45f06 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -39,6 +39,7 @@ jobs: name: Build and Test - NuGetTest solution uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: + machine-types: "['buildjet-4vcpu-ubuntu-2204']" build-directory: NuGetTest timeout-minutes: 15 blame-hang-timeout: "5m" From 44c105b86e29340ee00f1ea1e964b076c189d207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 20:46:19 +0100 Subject: [PATCH 34/65] Testing SecurityScanningTests on GitHub-hosted runner --- .github/workflows/build-and-test.yml | 79 +--------------------------- 1 file changed, 2 insertions(+), 77 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index c9fb45f06..c1c581bb0 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -13,83 +13,8 @@ jobs: name: Build and Test - root solution (larger runners) uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - machine-types: "['buildjet-4vcpu-ubuntu-2204']" - timeout-minutes: 20 - set-up-sql-server: "true" - set-up-azurite: "true" + timeout-minutes: 30 ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" - build-enable-nuget-caching: "true" - build-enable-npm-caching: "true" - - build-and-test-standard-runners: - # Since dev builds are not awaited by anyone, they can run on the slower free 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 - with: - timeout-minutes: 40 - set-up-sql-server: "true" - set-up-azurite: "true" - build-create-binary-log: "true" - blame-hang-timeout: "5m" - - build-and-test-nuget-test: - name: Build and Test - NuGetTest solution - uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev - with: - machine-types: "['buildjet-4vcpu-ubuntu-2204']" - build-directory: NuGetTest - timeout-minutes: 15 - blame-hang-timeout: "5m" - - spelling: - name: Spelling - uses: Lombiq/GitHub-Actions/.github/workflows/spelling.yml@dev - with: - additional-dictionaries: | - cspell:csharp/csharp.txt - cspell:css/dict/css.txt - cspell:fullstack/dict/fullstack.txt - cspell:html-symbol-entities/entities.txt - cspell:html/dict/html.txt - cspell:html/src/svg.txt - cspell:node/dict/node.txt - cspell:npm/dict/npm.txt - lombiq-lgha:dictionaries/Liquid.txt - lombiq-lgha:dictionaries/Xml.txt - lombiq-lgha:dictionaries/Lombiq.people.txt - - powershell-static-code-analysis: - name: PowerShell Static Code Analysis - uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev - with: - machine-types: "['ubuntu-22.04']" - - post-pull-request-checks-automation: - name: Post Pull Request Checks Automation - needs: [build-and-test-larger-runners, build-and-test-nuget-test, spelling, 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 }} - - add-windows-build-warning-label: - name: Add Windows Build Warning Label - runs-on: ubuntu-22.04 - timeout-minutes: 2 - needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] - steps: - - name: Add Windows Build Warning Label - # v2.0.0 - uses: buildsville/add-remove-label@eeae411a9be2e173f2420e1644514edbecc4e835 - with: - # The token is necessary to be able to add 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: add + test-filter: "SecurityScanningTests" From a0d2d2cfbf0ae32f848f6b39cfcfd58b6793f2a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 21:10:38 +0100 Subject: [PATCH 35/65] Leaner build --- .github/workflows/build-and-test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index c1c581bb0..3f5bb3584 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -18,3 +18,5 @@ jobs: build-create-binary-log: "true" blame-hang-timeout: "5m" test-filter: "SecurityScanningTests" + build-enable-code-analysis: "false" + warnings-as-errors: "false" From 8971049a1114cdcf3ed1fd61ee8586d9b99279b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 21:10:58 +0100 Subject: [PATCH 36/65] Trying to fix report creation issue under GitHub-hosted GHA runners --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 7212085fe..3724507fe 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 7212085fef6506875ce27768dcaee4fdcfc983d6 +Subproject commit 3724507fe3245452f4cd5a7f9154b44bb68b6b54 From 679ff2ccfd1d89c9a2010ccc05ae7be1261c4e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 21:33:41 +0100 Subject: [PATCH 37/65] Another attempt to fix ZAP report creation issue under GitHub-hosted GHA runners --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 3724507fe..8ceaf8d62 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 3724507fe3245452f4cd5a7f9154b44bb68b6b54 +Subproject commit 8ceaf8d62ee7498e14a89a56818fb2d3d60cec6f From 26da24a9c3c277b4f321dd430f08c2765006cd6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 21:56:26 +0100 Subject: [PATCH 38/65] Another attempt to fix report creation issue under GitHub-hosted GHA runners with chmod --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 8ceaf8d62..eca957d40 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 8ceaf8d62ee7498e14a89a56818fb2d3d60cec6f +Subproject commit eca957d401ef1f9b5984eb51bb45c7770057d9cf From d4569352158d302b4cb731e732b11b8d0da17897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 22:15:42 +0100 Subject: [PATCH 39/65] Attempting to fix test temp directory cleanup failing due to something related to ZAP keeping a handle on it --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index eca957d40..1328958bc 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit eca957d401ef1f9b5984eb51bb45c7770057d9cf +Subproject commit 1328958bc43ca26b610cbf13dc7aa095711d883d From f4117a781e0be9c2087b94e2e0ebfa1286f8daa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 22:46:20 +0100 Subject: [PATCH 40/65] How about chmod a+x? --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 1328958bc..a9bf935fb 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 1328958bc43ca26b610cbf13dc7aa095711d883d +Subproject commit a9bf935fb66df4d57c3807157a61276a9e3afaef From eef8241cf748a6ac3c22f4edce50e9130d2b95cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 22:51:00 +0100 Subject: [PATCH 41/65] Trying to restore the original permissions of the reports folder --- src/Libraries/Lombiq.HelpfulLibraries | 2 +- test/Lombiq.UITestingToolbox | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Libraries/Lombiq.HelpfulLibraries b/src/Libraries/Lombiq.HelpfulLibraries index 9fcb88e1f..3c685e1f1 160000 --- a/src/Libraries/Lombiq.HelpfulLibraries +++ b/src/Libraries/Lombiq.HelpfulLibraries @@ -1 +1 @@ -Subproject commit 9fcb88e1f9d39f841445c9890bdb61727668466c +Subproject commit 3c685e1f1592ebaf7c086d51f9655a15eaceb910 diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index a9bf935fb..1a9868c8c 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit a9bf935fb66df4d57c3807157a61276a9e3afaef +Subproject commit 1a9868c8cd9c971c1c114e59260bd9f66e8e7538 From 4ac0fbb806732563785a4fdb2bd6aeecc0a28593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 23:07:55 +0100 Subject: [PATCH 42/65] Workarounds for making the clean-up succeed under GHA --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 1a9868c8c..db617f2e9 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 1a9868c8cd9c971c1c114e59260bd9f66e8e7538 +Subproject commit db617f2e99dde71dc484b18bc0751c210231ed9c From b0fb2e0e7c47ffdfa2f3b440f1f9f25ce27d2e63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 23:23:49 +0100 Subject: [PATCH 43/65] Fixing restoring the original folder permission --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index db617f2e9..b65ccd929 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit db617f2e99dde71dc484b18bc0751c210231ed9c +Subproject commit b65ccd92927d029f4e9f234eeabcb161d7afa420 From fe41747cefee7b812277293dbf22803e19ee40e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 23:25:56 +0100 Subject: [PATCH 44/65] Removing leftover directory deletion --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index b65ccd929..3a9b0f624 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit b65ccd92927d029f4e9f234eeabcb161d7afa420 +Subproject commit 3a9b0f6243ce5ccfe0309ab520a0a16f06a92d6f From 075e5dd51e7c5201a1c0d220809326154c98ac1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 23:41:20 +0100 Subject: [PATCH 45/65] Adding debug code to see if the chmod alone breaks clean-up --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 3a9b0f624..7b9e58ddd 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 3a9b0f6243ce5ccfe0309ab520a0a16f06a92d6f +Subproject commit 7b9e58ddd288849214526db302b15606283cb9c3 From 8825edc7ab34bcfa84af1c96b93c6c6ad6657ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 23 Nov 2023 23:42:08 +0100 Subject: [PATCH 46/65] Removing chmod to see if anything else breaks clean-up --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 7b9e58ddd..624bd3cf6 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 7b9e58ddd288849214526db302b15606283cb9c3 +Subproject commit 624bd3cf66f797fda32ef527046bae6377e25c76 From 18cb1fec5b041f8f70ce1be00f757db1aff57af4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 24 Nov 2023 00:00:35 +0100 Subject: [PATCH 47/65] Intentionally failing security scan to test artifacts --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 624bd3cf6..a26715199 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 624bd3cf66f797fda32ef527046bae6377e25c76 +Subproject commit a26715199137ee9978839193264d43701b37531f From 26199581528b4b84e7432bca3448e6cad4410808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 24 Nov 2023 00:01:55 +0100 Subject: [PATCH 48/65] Removing MaxRetryCount = 0 --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index a26715199..879570dfb 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit a26715199137ee9978839193264d43701b37531f +Subproject commit 879570dfbd46a10a874afd7b4a3a52ea6d3937da From 9d9e20814603ea759d404dad7c3e638b24a8dd9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 24 Nov 2023 00:23:14 +0100 Subject: [PATCH 49/65] Removing intentional test fail --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 879570dfb..c16dcc9f8 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 879570dfbd46a10a874afd7b4a3a52ea6d3937da +Subproject commit c16dcc9f809dd0fcb60102a0f0b052e9a153f5ab From a4ffd0e4ad3e8614257ad151f49c9a79ec2b4bae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 24 Nov 2023 00:41:22 +0100 Subject: [PATCH 50/65] Restoring original CI workflow --- .github/workflows/build-and-test.yml | 80 ++++++++++++++++++- .../Lombiq.OSOCE.NuGet.Web.csproj | 4 +- .../Lombiq.OSOCE.NuGet.Tests.UI.csproj | 2 +- test/Lombiq.UITestingToolbox | 2 +- 4 files changed, 80 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 3f5bb3584..709a3e3ab 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -13,10 +13,82 @@ jobs: name: Build and Test - root solution (larger runners) uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev with: - timeout-minutes: 30 + machine-types: "['buildjet-4vcpu-ubuntu-2204']" + timeout-minutes: 20 + set-up-sql-server: "true" + set-up-azurite: "true" ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" - test-filter: "SecurityScanningTests" - build-enable-code-analysis: "false" - warnings-as-errors: "false" + build-enable-nuget-caching: "true" + build-enable-npm-caching: "true" + + build-and-test-standard-runners: + # Since dev builds are not awaited by anyone, they can run on the slower free 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 + with: + timeout-minutes: 40 + set-up-sql-server: "true" + set-up-azurite: "true" + build-create-binary-log: "true" + blame-hang-timeout: "5m" + + build-and-test-nuget-test: + name: Build and Test - NuGetTest solution + uses: Lombiq/GitHub-Actions/.github/workflows/build-and-test-orchard-core.yml@dev + with: + build-directory: NuGetTest + timeout-minutes: 15 + blame-hang-timeout: "5m" + + spelling: + name: Spelling + uses: Lombiq/GitHub-Actions/.github/workflows/spelling.yml@dev + with: + additional-dictionaries: | + cspell:csharp/csharp.txt + cspell:css/dict/css.txt + cspell:fullstack/dict/fullstack.txt + cspell:html-symbol-entities/entities.txt + cspell:html/dict/html.txt + cspell:html/src/svg.txt + cspell:node/dict/node.txt + cspell:npm/dict/npm.txt + lombiq-lgha:dictionaries/Liquid.txt + lombiq-lgha:dictionaries/Xml.txt + lombiq-lgha:dictionaries/Lombiq.people.txt + + powershell-static-code-analysis: + name: PowerShell Static Code Analysis + uses: Lombiq/PowerShell-Analyzers/.github/workflows/static-code-analysis.yml@dev + with: + machine-types: "['ubuntu-22.04']" + + post-pull-request-checks-automation: + name: Post Pull Request Checks Automation + needs: [build-and-test-larger-runners, build-and-test-nuget-test, spelling, 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 }} + + add-windows-build-warning-label: + name: Add Windows Build Warning Label + runs-on: ubuntu-22.04 + timeout-minutes: 2 + needs: [build-and-test-larger-runners, build-and-test-nuget-test, powershell-static-code-analysis] + steps: + - name: Add Windows Build Warning Label + # v2.0.0 + uses: buildsville/add-remove-label@eeae411a9be2e173f2420e1644514edbecc4e835 + with: + # The token is necessary to be able to add 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: add diff --git a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj index ffaf2bbcf..cdbf8bfa8 100644 --- a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj +++ b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj @@ -47,8 +47,8 @@ - - + + diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj index 2f9089f5e..97d287766 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj @@ -34,7 +34,7 @@ - + diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index c16dcc9f8..2122a9916 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit c16dcc9f809dd0fcb60102a0f0b052e9a153f5ab +Subproject commit 2122a9916dfc22e970a100b3064ff137d23c8d05 From c165996d90fa1cf17910bfd6a5f23bb95bf79cf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 24 Nov 2023 00:57:26 +0100 Subject: [PATCH 51/65] Fixing and simplifying SQL Server Docker CLI calls --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 2122a9916..6272d305c 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 2122a9916dfc22e970a100b3064ff137d23c8d05 +Subproject commit 6272d305cbd253b089c71b2b010e6269fa9b1e57 From 242f2ee2efd4fe8a1172dd369012017b47637b83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 24 Nov 2023 14:20:18 +0100 Subject: [PATCH 52/65] Adding script to display display the runtime of scan rules --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 6272d305c..44b117b09 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 6272d305cbd253b089c71b2b010e6269fa9b1e57 +Subproject commit 44b117b0919acadc67b718b82741cad85ecceaa1 From 604b13b35fca2e7ef1fab755e58367ec60a8689d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Fri, 24 Nov 2023 14:27:21 +0100 Subject: [PATCH 53/65] Spelling --- .github/actions/spelling/allow.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt index dbe169530..224f1502e 100644 --- a/.github/actions/spelling/allow.txt +++ b/.github/actions/spelling/allow.txt @@ -13,6 +13,7 @@ Overconstrained parallelizable qrcode retriable +Runtimes sanitizers scrollbars shortcutting From fe048bd806d0602adc2f09e1550a1ee1a62ae570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Mon, 27 Nov 2023 13:48:50 +0100 Subject: [PATCH 54/65] Updating Lombiq.Tests.UI* NuGet references --- .../src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj | 4 ++-- .../Lombiq.OSOCE.NuGet.Tests.UI.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj index 0d68e843f..0a61ca2d9 100644 --- a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj +++ b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj @@ -47,8 +47,8 @@ - - + + diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj index 88076196a..0218201bb 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj @@ -34,7 +34,7 @@ - + From ae5ca845f19d215dcc19f6aff7d06df0bc876696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Mon, 27 Nov 2023 14:30:29 +0100 Subject: [PATCH 55/65] Excluding SecurityScanningTests from Windows builds for the NuGet solution too --- .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 9551c4a90..4d2b32eb2 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -69,6 +69,7 @@ jobs: build-directory: NuGetTest timeout-minutes: 25 blame-hang-timeout: "5m" + test-filter: "FullyQualifiedName!~SecurityScanningTests" powershell-static-code-analysis: if: github.ref_name == github.event.repository.default_branch || From a79f97bddfd968a427cacb9ba6bf06a6a84b78ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 30 Nov 2023 19:15:18 +0100 Subject: [PATCH 56/65] Comment on why SecurityScanningTests is excluded under Windows CI runs --- .github/workflows/build-and-test-windows.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index 4d2b32eb2..f698b6f5f 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -42,6 +42,8 @@ jobs: ui-test-parallelism: 0 build-create-binary-log: "true" blame-hang-timeout: "5m" + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. test-filter: "FullyQualifiedName!~SecurityScanningTests" build-and-test-standard-runners: @@ -56,6 +58,8 @@ jobs: set-up-azurite: "true" build-create-binary-log: "true" blame-hang-timeout: "5m" + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. test-filter: "FullyQualifiedName!~SecurityScanningTests" build-and-test-nuget-test: @@ -69,6 +73,8 @@ jobs: build-directory: NuGetTest timeout-minutes: 25 blame-hang-timeout: "5m" + # Running ZAP for security scans in Docker under GHA Windows runners won't work since such virtualization is not + # supported by GHA. test-filter: "FullyQualifiedName!~SecurityScanningTests" powershell-static-code-analysis: From dc692d396356d2adf06ff0ad7c30a4547f79146a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 30 Nov 2023 19:19:49 +0100 Subject: [PATCH 57/65] NuGetTest docs --- .../Tests/SecurityScanningTests.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs index d1a8aa6e3..1bb45480c 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Tests/SecurityScanningTests.cs @@ -1,4 +1,4 @@ -using Lombiq.Tests.UI.SecurityScanning; +using Lombiq.Tests.UI.SecurityScanning; using Shouldly; using System.Threading.Tasks; using Xunit; @@ -19,5 +19,9 @@ public Task BasicSecurityScanShouldPass() => ExecuteTestAfterSetupAsync( context => context.RunAndAssertBaselineSecurityScanAsync( configuration => configuration.ExcludeUrlWithRegex(".*:[0-9]+\\/.+"), + // We expect 5 alerts from ZAP. This is using "less than" not to fail the test, should ZAP be a bit + // inconsistent, which it can be (see https://www.zaproxy.org/faq/why-can-zap-scans-be-inconsistent/). + // If this starts failing after some update, then inspect the scan report in the failure dump to see if + // the alerts can be simply expected and this number should be increased. sarifLog => sarifLog.Runs[0].Results.Count.ShouldBeLessThan(6))); } From f1658024e1f5f55803bcb54cdeee33907e4c21e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 30 Nov 2023 20:39:43 +0100 Subject: [PATCH 58/65] Docs, cleaning up the ZAP container after completion, simplification --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index b47fdd66a..462d7b13e 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit b47fdd66a791b1520e5169fe034cefce1437c74b +Subproject commit 462d7b13e8dca4d8d703d56333ae2717e968e6c6 From 01b28ab898379c43ee8ea95142d12bbc8dea1b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 30 Nov 2023 21:05:42 +0100 Subject: [PATCH 59/65] Updating NuGetTest too --- .../src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj | 4 ++-- .../Lombiq.OSOCE.NuGet.Tests.UI.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj index 0a61ca2d9..d46fcc16f 100644 --- a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj +++ b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj @@ -47,8 +47,8 @@ - - + + diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj index 0218201bb..6f62a53ee 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj @@ -34,7 +34,7 @@ - + From c42f76c7d47fd7f2b7ac079d6e0588b2d864d4c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 2 Dec 2023 01:33:27 +0100 Subject: [PATCH 60/65] Ability to configure active scan rules to optimize "Cross Site Scripting (DOM Based)" --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 462d7b13e..558b6ad3a 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 462d7b13e8dca4d8d703d56333ae2717e968e6c6 +Subproject commit 558b6ad3ab110cafe936ce8a655eed1e552525a5 From 7ffba26d659f451a6934aeea0f06e1b3cd4f72aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 2 Dec 2023 01:35:55 +0100 Subject: [PATCH 61/65] Fixing scan config --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 558b6ad3a..b39e37e98 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 558b6ad3ab110cafe936ce8a655eed1e552525a5 +Subproject commit b39e37e981b84f1dc183940e2ef1405621aa72ac From a5f6bc927af50774ed32231feedbe384feb764ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 2 Dec 2023 01:43:45 +0100 Subject: [PATCH 62/65] MD, C# linting fixes --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index b39e37e98..5f7480524 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit b39e37e981b84f1dc183940e2ef1405621aa72ac +Subproject commit 5f748052466b2f977a50853f9f0f73617f896d89 From c23a33694dea617d01e15a7e5084ef3b77ae03c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Sat, 2 Dec 2023 01:55:57 +0100 Subject: [PATCH 63/65] Fixing MD indentation again --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 5f7480524..61d16f8ff 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 5f748052466b2f977a50853f9f0f73617f896d89 +Subproject commit 61d16f8ffaa4959adf74c8f7896c80bc37cb3553 From 4fbd5b32014f0ae252adf63730750be84424d650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Mon, 4 Dec 2023 14:17:54 +0100 Subject: [PATCH 64/65] Code styling and docs --- test/Lombiq.UITestingToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 61d16f8ff..72496e9f4 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 61d16f8ffaa4959adf74c8f7896c80bc37cb3553 +Subproject commit 72496e9f40e9cbeb19f6824c0daf8ce4e7ab5463 From c45b826567389e92ac0648aed7a3a70d879d5eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Tue, 5 Dec 2023 17:59:37 +0100 Subject: [PATCH 65/65] Releasing the UI Testing Toolbox --- .../src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj | 4 ++-- .../Lombiq.OSOCE.NuGet.TestModule.csproj | 2 +- .../Lombiq.OSOCE.NuGet.Tests.UI.csproj | 2 +- .../Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj | 2 +- src/Libraries/Lombiq.HelpfulLibraries | 2 +- src/Modules/Lombiq.TrainingDemo | 2 +- test/Lombiq.UITestingToolbox | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj index d46fcc16f..7f103d42f 100644 --- a/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj +++ b/NuGetTest/src/Lombiq.OSOCE.NuGet.Web/Lombiq.OSOCE.NuGet.Web.csproj @@ -47,8 +47,8 @@ - - + + diff --git a/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj b/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj index 355206270..7cc730af0 100644 --- a/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj +++ b/NuGetTest/src/Modules/Lombiq.OSOCE.NuGet.TestModule/Lombiq.OSOCE.NuGet.TestModule.csproj @@ -16,7 +16,7 @@ - + diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj index 6f62a53ee..6bea20471 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests.UI/Lombiq.OSOCE.NuGet.Tests.UI.csproj @@ -34,7 +34,7 @@ - + diff --git a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj index 61badc14e..c08ab31f9 100644 --- a/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj +++ b/NuGetTest/test/Lombiq.OSOCE.NuGet.Tests/Lombiq.OSOCE.NuGet.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/Libraries/Lombiq.HelpfulLibraries b/src/Libraries/Lombiq.HelpfulLibraries index 83df679d3..9346c1c5d 160000 --- a/src/Libraries/Lombiq.HelpfulLibraries +++ b/src/Libraries/Lombiq.HelpfulLibraries @@ -1 +1 @@ -Subproject commit 83df679d35209c368b0fc8ed5b3ade2b03708c18 +Subproject commit 9346c1c5daa632afb6f1127ad5547d578680a246 diff --git a/src/Modules/Lombiq.TrainingDemo b/src/Modules/Lombiq.TrainingDemo index a81ac1a1b..b5611dfeb 160000 --- a/src/Modules/Lombiq.TrainingDemo +++ b/src/Modules/Lombiq.TrainingDemo @@ -1 +1 @@ -Subproject commit a81ac1a1b49fcb6c63208a6cb3248bebc17434e2 +Subproject commit b5611dfeb1245a5b260dc2f879507319c027e62e diff --git a/test/Lombiq.UITestingToolbox b/test/Lombiq.UITestingToolbox index 72496e9f4..659d8a3e4 160000 --- a/test/Lombiq.UITestingToolbox +++ b/test/Lombiq.UITestingToolbox @@ -1 +1 @@ -Subproject commit 72496e9f40e9cbeb19f6824c0daf8ce4e7ab5463 +Subproject commit 659d8a3e4bafc41fb09ee8242c8f14dbec1074ed