Skip to content

fix: enhance hotkeys behavior #489

fix: enhance hotkeys behavior

fix: enhance hotkeys behavior #489

Workflow file for this run

name: Testplane E2E
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
testplane-e2e:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
env:
DOCKER_IMAGE_NAME: html-reporter-browsers
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build the package
run: npm run build
- name: 'Prepare e2e tests: Install pwt-chromium'
run: npx playwright install chromium
- name: 'Prepare e2e tests: Build-packages'
run: npm run e2e:build-packages
- name: 'Prepare e2e tests: Cache browser docker image'
uses: actions/cache@v3
with:
path: ~/.docker/cache
key: docker-browser-image-${{ hashFiles('test/func/docker/Dockerfile') }}
- name: 'Prepare e2e tests: Pull browser docker image'
run: |
mkdir -p ~/.docker/cache
if [ -f ~/.docker/cache/image.tar ]; then
docker load -i ~/.docker/cache/image.tar
else
docker pull yinfra/html-reporter-browsers
docker save yinfra/html-reporter-browsers -o ~/.docker/cache/image.tar
fi
- name: 'Prepare e2e tests: Run browser docker image'
run: docker run -d --name ${{ env.DOCKER_IMAGE_NAME }} -it --rm --network=host $(which colima >/dev/null || echo --add-host=host.docker.internal:0.0.0.0) yinfra/html-reporter-browsers
- name: 'Prepare e2e tests: Generate fixtures'
run: npm run e2e:generate-fixtures || true
- name: 'e2e: Run Testplane'
id: 'testplane'
continue-on-error: true
working-directory: 'test/func/tests'
run: npm run test
- name: 'e2e: Stop browser docker image'
run: |
docker kill ${{ env.DOCKER_IMAGE_NAME }} || true
docker rm ${{ env.DOCKER_IMAGE_NAME }} || true
- name: Merge Testplane html-reporter reports
working-directory: 'test/func/tests'
run: |
mkdir -p ../../../e2e-report
npx testplane merge-reports reports/*/sqlite.db -d ../../../e2e-report
- name: Upload Testplane html-reporter reports to S3
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_S3_ENDPOINT: https://s3.yandexcloud.net/
SOURCE_DIR: "e2e-report"
DEST_DIR: "testplane-ci/e2e-tests-reports/${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}/"
- name: Construct PR comment
run: |
link="https://${{ secrets.AWS_S3_BUCKET }}.s3.yandexcloud.net/testplane-ci/e2e-tests-reports/${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}/index.html"
if [ "${{ steps.testplane.outcome }}" != "success" ]; then
comment="### ❌ E2E tests failed<br><br>[Report](${link})"
echo "PR_COMMENT=${comment}" >> $GITHUB_ENV
else
comment="### ✅ E2E tests succeed<br><br>[Report](${link})"
echo "PR_COMMENT=${comment}" >> $GITHUB_ENV
fi
- name: Leave comment to PR with link to Testplane HTML reports
if: github.event.pull_request
uses: thollander/actions-comment-pull-request@v3
with:
message: ${{ env.PR_COMMENT }}
comment-tag: testplane_e2e_results
- name: Fail the job if any Testplane job is failed
if: ${{ steps.testplane.outcome != 'success' }}
run: exit 1