ci: Changes to enable rerun with custom script (#25480)
## Description - Changes to enable rerun with custom script #### Type of change - Workflow file changes ## Testing > #### How Has This Been Tested? - Workflow run ## Checklist: #### Dev activity #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
This commit is contained in:
parent
3313cdadc0
commit
07dc6ee9ad
72
.github/workflows/ci-test-custom-script.yml
vendored
72
.github/workflows/ci-test-custom-script.yml
vendored
|
|
@ -92,7 +92,7 @@ jobs:
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: failed_spec_ci
|
name: failed_spec_ci
|
||||||
path: ~/
|
path: ~/failed_spec_ci
|
||||||
|
|
||||||
# failed_spec_env will contain list of all failed specs
|
# failed_spec_env will contain list of all failed specs
|
||||||
# We are using environment variable instead of regular to support multiline
|
# We are using environment variable instead of regular to support multiline
|
||||||
|
|
@ -101,13 +101,15 @@ jobs:
|
||||||
if: steps.run_result.outputs.run_result == 'failedtest'
|
if: steps.run_result.outputs.run_result == 'failedtest'
|
||||||
working-directory: app/client
|
working-directory: app/client
|
||||||
run: |
|
run: |
|
||||||
echo "failed_spec_env=" >> $GITHUB_ENV
|
failed_spec_env=""
|
||||||
while IFS= read -r line
|
while IFS= read -r line
|
||||||
do
|
do
|
||||||
spec_name=$(echo $line | awk -F'/' '{print $NF}')
|
spec_name=$(echo $line | awk -F'/' '{print $NF}')
|
||||||
failed_spec=$(find . -name $spec_name | sed 's|./||')
|
failed_spec=$(find . -name $spec_name | sed 's|./||')
|
||||||
echo "failed_spec_env=${{ env.failed_spec_env }},$failed_spec" >> $GITHUB_ENV
|
failed_spec_env="$failed_spec_env,$failed_spec"
|
||||||
done < ~/failed_spec_ci/failed_spec_ci-${{ matrix.job }}
|
done < ~/failed_spec_ci/failed_spec_ci-${{ matrix.job }}
|
||||||
|
failed_spec_env=${failed_spec_env#,}
|
||||||
|
echo "failed_spec_env=$failed_spec_env" >> $GITHUB_ENV
|
||||||
|
|
||||||
- if: steps.run_result.outputs.run_result != 'success' && steps.run_result.outputs.run_result != 'failedtest'
|
- if: steps.run_result.outputs.run_result != 'success' && steps.run_result.outputs.run_result != 'failedtest'
|
||||||
run: echo "Starting full run" && exit 0
|
run: echo "Starting full run" && exit 0
|
||||||
|
|
@ -235,48 +237,6 @@ jobs:
|
||||||
- run: |
|
- run: |
|
||||||
echo "BROWSER_PATH=$(which chrome)" >> $GITHUB_ENV
|
echo "BROWSER_PATH=$(which chrome)" >> $GITHUB_ENV
|
||||||
|
|
||||||
# - name: Set Pull Request Title
|
|
||||||
# env:
|
|
||||||
# EVENT_COMMITS: ${{ toJson(github.event.commits[0].message) }}
|
|
||||||
# run: |
|
|
||||||
# echo "${{ env.EVENT_COMMITS }}" | awk -F '\\\\n' '{print $1}'
|
|
||||||
|
|
||||||
- name: Save Git values
|
|
||||||
# pass env variables from this step to other steps
|
|
||||||
# using GitHub Actions environment file
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#environment-files
|
|
||||||
run: |
|
|
||||||
PR_NUMBER=${{ inputs.pr }}
|
|
||||||
echo COMMIT_INFO_BRANCH=$(git rev-parse --abbrev-ref HEAD) >> $GITHUB_ENV
|
|
||||||
echo COMMIT_INFO_MESSAGE=OkToTest run on PR# ${{ inputs.pr }} >> $GITHUB_ENV
|
|
||||||
echo COMMIT_INFO_EMAIL=$(git show -s --pretty=%ae) >> $GITHUB_ENV
|
|
||||||
echo COMMIT_INFO_AUTHOR=$(git show -s --pretty=%an) >> $GITHUB_ENV
|
|
||||||
echo COMMIT_INFO_SHA=$(git show -s --pretty=%H) >> $GITHUB_ENV
|
|
||||||
echo COMMIT_INFO_TIMESTAMP=$(git show -s --pretty=%ct) >> $GITHUB_ENV
|
|
||||||
echo COMMIT_INFO_REMOTE=$(git config --get remote.origin.url) >> $GITHUB_ENV
|
|
||||||
# delete the .git folder afterwords to use the environment values
|
|
||||||
rm -rf .git
|
|
||||||
|
|
||||||
- name: Show Git values
|
|
||||||
run: |
|
|
||||||
echo Branch $COMMIT_INFO_BRANCH
|
|
||||||
echo Message $COMMIT_INFO_MESSAGE
|
|
||||||
echo Email $COMMIT_INFO_EMAIL
|
|
||||||
echo Author $COMMIT_INFO_AUTHOR
|
|
||||||
echo SHA $COMMIT_INFO_SHA
|
|
||||||
echo Timestamp $COMMIT_INFO_TIMESTAMP
|
|
||||||
echo Remote $COMMIT_INFO_REMOTE
|
|
||||||
|
|
||||||
- name: Set Commit Message
|
|
||||||
env:
|
|
||||||
EVENT_COMMITS: ${{ toJson(github.event.commits[0].message) }}
|
|
||||||
run: |
|
|
||||||
if [[ ${{ inputs.pr }} -ne 0 ]]; then
|
|
||||||
echo "COMMIT_INFO_MESSAGE=${{ env.COMMIT_INFO_MESSAGE }}" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "COMMIT_INFO_MESSAGE=$(echo \"${{ env.EVENT_COMMITS }}\" | awk -F '\\\\n' '{print $1}' | sed 's/^\"//')" >> $GITHUB_ENV
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Run the cypress test
|
- name: Run the cypress test
|
||||||
if: steps.run_result.outputs.run_result != 'success' && steps.run_result.outputs.run_result != 'failedtest'
|
if: steps.run_result.outputs.run_result != 'success' && steps.run_result.outputs.run_result != 'failedtest'
|
||||||
id: cypress_test
|
id: cypress_test
|
||||||
|
|
@ -323,8 +283,8 @@ jobs:
|
||||||
APPSMITH_GOOGLE_MAPS_API_KEY: ${{ secrets.APPSMITH_GOOGLE_MAPS_API_KEY }}
|
APPSMITH_GOOGLE_MAPS_API_KEY: ${{ secrets.APPSMITH_GOOGLE_MAPS_API_KEY }}
|
||||||
COMMIT_INFO_MESSAGE: ${{ env.COMMIT_INFO_MESSAGE }}
|
COMMIT_INFO_MESSAGE: ${{ env.COMMIT_INFO_MESSAGE }}
|
||||||
CYPRESS_VERIFY_TIMEOUT: 100000
|
CYPRESS_VERIFY_TIMEOUT: 100000
|
||||||
TOTAL_RUNNERS: 60
|
TOTAL_RUNNERS: ${{ strategy.job-total }}
|
||||||
THIS_RUNNER: ${{ matrix.job }}
|
THIS_RUNNER: ${{ strategy.job-index }}
|
||||||
CYPRESS_SPEC_PATTERN: "cypress/e2e/**/**/*"
|
CYPRESS_SPEC_PATTERN: "cypress/e2e/**/**/*"
|
||||||
CYPRESS_ENV: "NODE_ENV=development"
|
CYPRESS_ENV: "NODE_ENV=development"
|
||||||
CYPRESS_CONFIG_FILE: cypress_ci_custom.config.ts
|
CYPRESS_CONFIG_FILE: cypress_ci_custom.config.ts
|
||||||
|
|
@ -335,24 +295,6 @@ jobs:
|
||||||
working-directory: app/client
|
working-directory: app/client
|
||||||
command: yarn ts-node --require esm cypress/cypress-split.ts
|
command: yarn ts-node --require esm cypress/cypress-split.ts
|
||||||
|
|
||||||
# - name: Retrieve Retry Attempt Count
|
|
||||||
# run: |
|
|
||||||
# retry_count=$((GITHUB_RUN_NUMBER - 1))
|
|
||||||
# echo "Retry attempt count: $retry_count" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
# - name: Save Git values for Retry
|
|
||||||
# run: |
|
|
||||||
# PR_NUMBER=${{ inputs.pr }}
|
|
||||||
# echo COMMIT_INFO_MESSAGE=Retry-${{ env.retry_count }} of OkToTest on PR# ${{ inputs.pr }} >> $GITHUB_ENV
|
|
||||||
|
|
||||||
# - name: Set Re-try Commit Message
|
|
||||||
# run: |
|
|
||||||
# if [[ ${{ inputs.pr }} -ne 0 ]]; then
|
|
||||||
# echo "COMMIT_INFO_MESSAGE=${{ env.COMMIT_INFO_MESSAGE }}" >> $GITHUB_ENV
|
|
||||||
# else
|
|
||||||
# echo "COMMIT_INFO_MESSAGE=Retry-${{ env.retry_count }} of Merge on PR# ${{ inputs.pr }}" >> $GITHUB_ENV
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# In case of second attempt only run failed specs
|
# In case of second attempt only run failed specs
|
||||||
- name: Run the cypress test with failed tests
|
- name: Run the cypress test with failed tests
|
||||||
if: steps.run_result.outputs.run_result == 'failedtest'
|
if: steps.run_result.outputs.run_result == 'failedtest'
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,6 @@ export default defineConfig({
|
||||||
responseTimeout: 60000,
|
responseTimeout: 60000,
|
||||||
pageLoadTimeout: 60000,
|
pageLoadTimeout: 60000,
|
||||||
videoUploadOnPasses: false,
|
videoUploadOnPasses: false,
|
||||||
screenshotsFolder: "screenshots",
|
|
||||||
videoCompression: 5,
|
|
||||||
numTestsKeptInMemory: 5,
|
numTestsKeptInMemory: 5,
|
||||||
experimentalMemoryManagement: true,
|
experimentalMemoryManagement: true,
|
||||||
reporter: "cypress-mochawesome-reporter",
|
reporter: "cypress-mochawesome-reporter",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user