Feature playwright integrate report portal (#2648)
* Add make script for report portual playwright agent config * Update workflow to report to report portal --------- Co-authored-by: Hien To <tominhhien97@gmail.com>
This commit is contained in:
parent
762d8879de
commit
08baf48dcb
@ -38,11 +38,13 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-on-macos:
|
test-on-macos:
|
||||||
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
|
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||||
runs-on: [self-hosted, macOS, macos-desktop]
|
runs-on: [self-hosted, macOS, macos-desktop]
|
||||||
steps:
|
steps:
|
||||||
- name: Getting the repo
|
- name: Getting the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Installing node
|
- name: Installing node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
@ -54,6 +56,22 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make clean
|
make clean
|
||||||
|
|
||||||
|
- name: Get Commit Message for PR
|
||||||
|
if : github.event_name == 'pull_request'
|
||||||
|
run: |
|
||||||
|
MSG=$(git log --format=%B -n 1 ${{github.event.after}})
|
||||||
|
echo "COMMIT_MESSAGE=${MSG}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Get Commit Message for push event
|
||||||
|
if : github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
MSG=$(git log --format=%B -n 1 ${{github.sha}})
|
||||||
|
echo "COMMIT_MESSAGE=${MSG}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: "Config report portal"
|
||||||
|
run: |
|
||||||
|
make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App macos" REPORT_PORTAL_DESCRIPTION="${{env.COMMIT_MESSAGE}}"
|
||||||
|
|
||||||
- name: Linter and test
|
- name: Linter and test
|
||||||
run: |
|
run: |
|
||||||
npm config set registry ${{ secrets.NPM_PROXY }} --global
|
npm config set registry ${{ secrets.NPM_PROXY }} --global
|
||||||
@ -71,6 +89,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Getting the repo
|
- name: Getting the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Installing node
|
- name: Installing node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
@ -100,6 +120,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Getting the repo
|
- name: Getting the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Installing node
|
- name: Installing node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
@ -112,6 +134,18 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
make clean
|
make clean
|
||||||
|
|
||||||
|
- name: Get Commit Message for push event
|
||||||
|
if : github.event_name == 'push'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
MSG=$(git log --format=%B -n 1 ${{github.sha}})
|
||||||
|
echo "COMMIT_MESSAGE=${MSG}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: "Config report portal"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App Windows ${{ matrix.antivirus-tools }}" REPORT_PORTAL_DESCRIPTION="${{env.COMMIT_MESSAGE}}"
|
||||||
|
|
||||||
- name: Linter and test
|
- name: Linter and test
|
||||||
shell: powershell
|
shell: powershell
|
||||||
@ -129,6 +163,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Getting the repo
|
- name: Getting the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Installing node
|
- name: Installing node
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
@ -142,6 +178,18 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make clean
|
make clean
|
||||||
|
|
||||||
|
- name: Get Commit Message for PR
|
||||||
|
if : github.event_name == 'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
MSG=$(git log --format=%B -n 1 ${{github.event.after}})
|
||||||
|
echo "COMMIT_MESSAGE=${MSG}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: "Config report portal"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App Windows" REPORT_PORTAL_DESCRIPTION="${{env.COMMIT_MESSAGE}}"
|
||||||
|
|
||||||
- name: Linter and test
|
- name: Linter and test
|
||||||
shell: powershell
|
shell: powershell
|
||||||
run: |
|
run: |
|
||||||
@ -159,6 +207,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Getting the repo
|
- name: Getting the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Installing node
|
- name: Installing node
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
@ -182,10 +232,12 @@ jobs:
|
|||||||
|
|
||||||
test-on-ubuntu:
|
test-on-ubuntu:
|
||||||
runs-on: [self-hosted, Linux, ubuntu-desktop]
|
runs-on: [self-hosted, Linux, ubuntu-desktop]
|
||||||
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
|
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||||
steps:
|
steps:
|
||||||
- name: Getting the repo
|
- name: Getting the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Installing node
|
- name: Installing node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
@ -196,7 +248,24 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
make clean
|
make clean
|
||||||
|
|
||||||
|
- name: Get Commit Message for PR
|
||||||
|
if : github.event_name == 'pull_request'
|
||||||
|
run: |
|
||||||
|
MSG=$(git log --format=%B -n 1 ${{github.event.after}})
|
||||||
|
echo "COMMIT_MESSAGE=${MSG}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Get Commit Message for push event
|
||||||
|
if : github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
MSG=$(git log --format=%B -n 1 ${{github.sha}})
|
||||||
|
echo "COMMIT_MESSAGE=${MSG}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: "Config report portal"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App Linux" REPORT_PORTAL_DESCRIPTION="${{env.COMMIT_MESSAGE}}"
|
||||||
|
|
||||||
- name: Linter and test
|
- name: Linter and test
|
||||||
run: |
|
run: |
|
||||||
export DISPLAY=$(w -h | awk 'NR==1 {print $2}')
|
export DISPLAY=$(w -h | awk 'NR==1 {print $2}')
|
||||||
@ -215,6 +284,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Getting the repo
|
- name: Getting the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Installing node
|
- name: Installing node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
|
|||||||
64
Makefile
64
Makefile
@ -1,5 +1,11 @@
|
|||||||
# Makefile for Jan Electron App - Build, Lint, Test, and Clean
|
# Makefile for Jan Electron App - Build, Lint, Test, and Clean
|
||||||
|
|
||||||
|
REPORT_PORTAL_URL ?= ""
|
||||||
|
REPORT_PORTAL_API_KEY ?= ""
|
||||||
|
REPORT_PORTAL_PROJECT_NAME ?= ""
|
||||||
|
REPORT_PORTAL_LAUNCH_NAME ?= "Jan App"
|
||||||
|
REPORT_PORTAL_DESCRIPTION ?= "Jan App report"
|
||||||
|
|
||||||
# Default target, does nothing
|
# Default target, does nothing
|
||||||
all:
|
all:
|
||||||
@echo "Specify a target to run"
|
@echo "Specify a target to run"
|
||||||
@ -37,6 +43,64 @@ dev: check-file-counts
|
|||||||
lint: check-file-counts
|
lint: check-file-counts
|
||||||
yarn lint
|
yarn lint
|
||||||
|
|
||||||
|
update-playwright-config:
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
echo -e "const RPconfig = {\n\
|
||||||
|
apiKey: '$(REPORT_PORTAL_API_KEY)',\n\
|
||||||
|
endpoint: '$(REPORT_PORTAL_URL)',\n\
|
||||||
|
project: '$(REPORT_PORTAL_PROJECT_NAME)',\n\
|
||||||
|
launch: '$(REPORT_PORTAL_LAUNCH_NAME)',\n\
|
||||||
|
attributes: [\n\
|
||||||
|
{\n\
|
||||||
|
key: 'key',\n\
|
||||||
|
value: 'value',\n\
|
||||||
|
},\n\
|
||||||
|
{\n\
|
||||||
|
value: 'value',\n\
|
||||||
|
},\n\
|
||||||
|
],\n\
|
||||||
|
description: '$(REPORT_PORTAL_DESCRIPTION)',\n\
|
||||||
|
}\n$$(cat electron/playwright.config.ts)" > electron/playwright.config.ts;
|
||||||
|
sed -i "s/^ reporter: .*/ reporter: [['@reportportal\/agent-js-playwright', RPconfig]],/" electron/playwright.config.ts
|
||||||
|
|
||||||
|
else ifeq ($(shell uname -s),Linux)
|
||||||
|
echo "const RPconfig = {\n\
|
||||||
|
apiKey: '$(REPORT_PORTAL_API_KEY)',\n\
|
||||||
|
endpoint: '$(REPORT_PORTAL_URL)',\n\
|
||||||
|
project: '$(REPORT_PORTAL_PROJECT_NAME)',\n\
|
||||||
|
launch: '$(REPORT_PORTAL_LAUNCH_NAME)',\n\
|
||||||
|
attributes: [\n\
|
||||||
|
{\n\
|
||||||
|
key: 'key',\n\
|
||||||
|
value: 'value',\n\
|
||||||
|
},\n\
|
||||||
|
{\n\
|
||||||
|
value: 'value',\n\
|
||||||
|
},\n\
|
||||||
|
],\n\
|
||||||
|
description: '$(REPORT_PORTAL_DESCRIPTION)',\n\
|
||||||
|
}\n$$(cat electron/playwright.config.ts)" > electron/playwright.config.ts;
|
||||||
|
sed -i "s/^ reporter: .*/ reporter: [['@reportportal\/agent-js-playwright', RPconfig]],/" electron/playwright.config.ts
|
||||||
|
else
|
||||||
|
echo "const RPconfig = {\n\
|
||||||
|
apiKey: '$(REPORT_PORTAL_API_KEY)',\n\
|
||||||
|
endpoint: '$(REPORT_PORTAL_URL)',\n\
|
||||||
|
project: '$(REPORT_PORTAL_PROJECT_NAME)',\n\
|
||||||
|
launch: '$(REPORT_PORTAL_LAUNCH_NAME)',\n\
|
||||||
|
attributes: [\n\
|
||||||
|
{\n\
|
||||||
|
key: 'key',\n\
|
||||||
|
value: 'value',\n\
|
||||||
|
},\n\
|
||||||
|
{\n\
|
||||||
|
value: 'value',\n\
|
||||||
|
},\n\
|
||||||
|
],\n\
|
||||||
|
description: '$(REPORT_PORTAL_DESCRIPTION)',\n\
|
||||||
|
}\n$$(cat electron/playwright.config.ts)" > electron/playwright.config.ts;
|
||||||
|
sed -i '' "s|^ reporter: .*| reporter: [['@reportportal\/agent-js-playwright', RPconfig]],|" electron/playwright.config.ts
|
||||||
|
endif
|
||||||
|
|
||||||
# Testing
|
# Testing
|
||||||
test: lint
|
test: lint
|
||||||
yarn build:test
|
yarn build:test
|
||||||
|
|||||||
@ -108,7 +108,8 @@
|
|||||||
"eslint-plugin-react": "^7.34.0",
|
"eslint-plugin-react": "^7.34.0",
|
||||||
"rimraf": "^5.0.5",
|
"rimraf": "^5.0.5",
|
||||||
"run-script-os": "^1.1.6",
|
"run-script-os": "^1.1.6",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.3.3",
|
||||||
|
"@reportportal/agent-js-playwright": "^5.1.7"
|
||||||
},
|
},
|
||||||
"installConfig": {
|
"installConfig": {
|
||||||
"hoistingLimits": "workspaces"
|
"hoistingLimits": "workspaces"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user