Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature playwright integrate report portal #2648

Merged
merged 2 commits into from
Apr 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 74 additions & 3 deletions .github/workflows/jan-electron-linter-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 38,13 @@ on:

jobs:
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]
steps:
- name: Getting the repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Installing node
uses: actions/setup-node@v3
Expand All @@ -54,6 56,22 @@ jobs:
run: |
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
run: |
npm config set registry ${{ secrets.NPM_PROXY }} --global
Expand All @@ -71,6 89,8 @@ jobs:
steps:
- name: Getting the repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Installing node
uses: actions/setup-node@v3
Expand Down Expand Up @@ -100,6 120,8 @@ jobs:
steps:
- name: Getting the repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Installing node
uses: actions/setup-node@v3
Expand All @@ -112,6 134,18 @@ jobs:
continue-on-error: true
run: |
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
shell: powershell
Expand All @@ -129,6 163,8 @@ jobs:
steps:
- name: Getting the repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Installing node
uses: actions/setup-node@v1
Expand All @@ -142,6 178,18 @@ jobs:
run: |
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
shell: powershell
run: |
Expand All @@ -159,6 207,8 @@ jobs:
steps:
- name: Getting the repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Installing node
uses: actions/setup-node@v1
Expand All @@ -182,10 232,12 @@ jobs:

test-on-ubuntu:
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:
- name: Getting the repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Installing node
uses: actions/setup-node@v3
Expand All @@ -196,7 248,24 @@ jobs:
continue-on-error: true
run: |
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
run: |
export DISPLAY=$(w -h | awk 'NR==1 {print $2}')
Expand All @@ -215,6 284,8 @@ jobs:
steps:
- name: Getting the repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Installing node
uses: actions/setup-node@v3
Expand Down
64 changes: 64 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 1,11 @@
# 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
all:
@echo "Specify a target to run"
Expand Down Expand Up @@ -37,6 43,64 @@ dev: check-file-counts
lint: check-file-counts
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
test: lint
yarn build:test
Expand Down
3 changes: 2 additions & 1 deletion electron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 108,8 @@
"eslint-plugin-react": "^7.34.0",
"rimraf": "^5.0.5",
"run-script-os": "^1.1.6",
"typescript": "^5.3.3"
"typescript": "^5.3.3",
"@reportportal/agent-js-playwright": "^5.1.7"
},
"installConfig": {
"hoistingLimits": "workspaces"
Expand Down
Loading