tests: Categorize Tests into CI and Scheduled Groups (#3391)
* categoring tests * ✨ (actionsMainPage-shard-1.spec.ts): Add end-to-end tests for selecting and deleting items, searching flows, and searching components on the main page to ensure proper functionality and user experience. * 📝 (frontend/tsconfig.json): update file paths in include section to match the correct directory structure for scheduled-end-to-end tests. * 🔧 (typescript_test.yml): update path in the command to change directory to run end-to-end tests in the frontend folder 📝 (typescript_test.yml): improve comments for better readability and understanding of the workflow logic * add yml configuration to choose folder to run CI * 🔧 (ci.yml): Fix formatting issues and add support for running tests in a specific folder 📝 (ci.yml): Update job dependencies to improve readability and maintainability of the workflow configuration * ♻️ (typescript_test.yml): refactor matrix values for shardIndex and shardTotal to reduce redundancy and improve readability * categoring tests * ✨ (actionsMainPage-shard-1.spec.ts): Add end-to-end tests for selecting and deleting items, searching flows, and searching components on the main page to ensure proper functionality and user experience. * 📝 (frontend/tsconfig.json): update file paths in include section to match the correct directory structure for scheduled-end-to-end tests. * 🔧 (typescript_test.yml): update path in the command to change directory to run end-to-end tests in the frontend folder 📝 (typescript_test.yml): improve comments for better readability and understanding of the workflow logic * add yml configuration to choose folder to run CI * 🔧 (ci.yml): Fix formatting issues and add support for running tests in a specific folder 📝 (ci.yml): Update job dependencies to improve readability and maintainability of the workflow configuration * ♻️ (typescript_test.yml): refactor matrix values for shardIndex and shardTotal to reduce redundancy and improve readability * 🐛 (fileUploadComponent.spec.ts): fix file path for file upload to correctly locate the test file in the assets folder * changing test_folder * ✨ (fileUploadComponent.spec.ts): update file path for file upload test to match new file location in the project structure * fix input on playwright command
This commit is contained in:
parent
0d60fbf3e7
commit
a5cdab68bb
42 changed files with 65 additions and 59 deletions
16
.github/workflows/ci.yml
vendored
16
.github/workflows/ci.yml
vendored
|
|
@ -23,13 +23,12 @@ concurrency:
|
|||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
|
||||
jobs:
|
||||
set-ci-condition:
|
||||
name: Should Run CI
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should-run-ci: ${{ (contains( github.event.pull_request.labels.*.name, 'lgtm') && github.event.pull_request.draft == false) || (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') }}
|
||||
should-run-ci: ${{ (contains( github.event.pull_request.labels.*.name, 'lgtm') && github.event.pull_request.draft == false) || (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') }}
|
||||
steps:
|
||||
# Do anything just to make the job run
|
||||
- run: echo "Debug CI Condition"
|
||||
|
|
@ -71,6 +70,8 @@ jobs:
|
|||
name: Run Frontend Tests
|
||||
if: ${{ needs.path-filter.outputs.python == 'true' || needs.path-filter.outputs.frontend == 'true' || needs.path-filter.outputs.tests == 'true' }}
|
||||
uses: ./.github/workflows/typescript_test.yml
|
||||
with:
|
||||
tests_folder: "tests/end-to-end"
|
||||
secrets:
|
||||
OPENAI_API_KEY: "${{ secrets.OPENAI_API_KEY }}"
|
||||
STORE_API_KEY: "${{ secrets.STORE_API_KEY }}"
|
||||
|
|
@ -91,7 +92,14 @@ jobs:
|
|||
# https://github.com/langchain-ai/langchain/blob/master/.github/workflows/check_diffs.yml
|
||||
ci_success:
|
||||
name: "CI Success"
|
||||
needs: [test-backend, test-frontend, lint-backend, test-docs-build, set-ci-condition ]
|
||||
needs:
|
||||
[
|
||||
test-backend,
|
||||
test-frontend,
|
||||
lint-backend,
|
||||
test-docs-build,
|
||||
set-ci-condition,
|
||||
]
|
||||
if: always()
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
|
|
@ -104,4 +112,4 @@ jobs:
|
|||
echo $JOBS_JSON
|
||||
echo $RESULTS_JSON
|
||||
echo "Exiting with $EXIT_CODE"
|
||||
exit $EXIT_CODE
|
||||
exit $EXIT_CODE
|
||||
|
|
|
|||
43
.github/workflows/typescript_test.yml
vendored
43
.github/workflows/typescript_test.yml
vendored
|
|
@ -7,12 +7,23 @@ on:
|
|||
required: true
|
||||
STORE_API_KEY:
|
||||
required: true
|
||||
inputs:
|
||||
tests_folder:
|
||||
description: "(Optional) Tests to run"
|
||||
required: false
|
||||
type: string
|
||||
default: "tests"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: "(Optional) Branch to checkout"
|
||||
required: false
|
||||
type: string
|
||||
tests_folder:
|
||||
description: "(Optional) Tests to run"
|
||||
required: false
|
||||
type: string
|
||||
default: "tests"
|
||||
|
||||
env:
|
||||
POETRY_VERSION: "1.8.3"
|
||||
|
|
@ -29,30 +40,8 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
shardIndex:
|
||||
[
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
]
|
||||
shardTotal: [20]
|
||||
shardIndex: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
shardTotal: [10]
|
||||
env:
|
||||
OPENAI_API_KEY: ${{ inputs.openai_api_key || secrets.OPENAI_API_KEY }}
|
||||
STORE_API_KEY: ${{ inputs.store_api_key || secrets.STORE_API_KEY }}
|
||||
|
|
@ -138,7 +127,7 @@ jobs:
|
|||
max_attempts: 2
|
||||
command: |
|
||||
cd src/frontend
|
||||
npx playwright test --trace on --shard ${{ matrix.shardIndex }}/${{ matrix.shardTotal }} --workers 2
|
||||
npx playwright test ${{ inputs.tests_folder }} --trace on --shard ${{ matrix.shardIndex }}/${{ matrix.shardTotal }} --workers 2
|
||||
|
||||
- name: Upload blob report to GitHub Actions Artifacts
|
||||
if: always()
|
||||
|
|
@ -158,8 +147,8 @@ jobs:
|
|||
EXIT_CODE: ${{!contains(needs.setup-and-test.result, 'failure') && !contains(needs.setup-and-test.result, 'cancelled') && '0' || '1'}}
|
||||
steps:
|
||||
- name: "Should Merge Reports"
|
||||
# If the CI was successful, we don't need to merge the reports
|
||||
# so we can skip all the steps below
|
||||
# If the CI was successful, we don't need to merge the reports
|
||||
# so we can skip all the steps below
|
||||
id: should_merge_reports
|
||||
run: |
|
||||
if [ "$EXIT_CODE" == "0" ]; then
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue