Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gemini-testing/testplane
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: hermione/v0.43.0
Choose a base ref
...
head repository: gemini-testing/testplane
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing 723 changed files with 175,305 additions and 9,426 deletions.
3 changes: 2 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
build
node_modules
/coverage
examples
32 changes: 30 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,32 @@
module.exports = {
extends: 'gemini-testing',
root: true
extends: ["gemini-testing", "plugin:@typescript-eslint/recommended", "prettier"],
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
root: true,
parserOptions: {
ecmaVersion: 2022,
},
overrides: [
{
files: ["*.ts"],
rules: {
"@typescript-eslint/explicit-function-return-type": "error",
"@typescript-eslint/no-unsafe-declaration-merging": "off",
},
},
{
files: ["*.js"],
rules: {
"@typescript-eslint/no-var-requires": "off",
},
},
{
files: ["test/**"],
rules: {
"@typescript-eslint/no-empty-function": "off",
// For convenient casting of test objects
"@typescript-eslint/no-explicit-any": "off",
},
},
],
};
83 changes: 83 additions & 0 deletions .github/ISSUE_TEMPLATE/1-bug-report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Bug Report
description: Create a bug report for Hermione
labels: ["type: bug"]
body:
- type: markdown
attributes:
value: |
If this issue affects many people in a company/big team, create a post for your company in the following discussion:
[https://github.com/gemini-testing/hermione/discussions/838](https://github.com/gemini-testing/hermione/discussions/838)
and link the issue in your post.
This will help us prioritize issues that affect more people.
- type: checkboxes
attributes:
label: Verify latest release
description: "Please run `npm install hermione@latest` to try the latest version of Hermione. Some issues may already be fixed in the latest release, so please verify that your issue reproduces before opening a new issue."
options:
- label: I verified that the issue exists in the latest Hermione release
- type: input
attributes:
label: Hermione version
description: Fill only if you are not using the latest major version (v8)
- type: input
id: last-working-version
attributes:
label: Last Hermione version that worked
placeholder: e.g. 8.0.3
- type: dropdown
attributes:
label: Which area(s) of Hermione are affected? (leave empty if unsure)
multiple: true
options:
- "Hermione core"
- "Plugins"
- "Configuration"
- "CLI"
- "Runner"
- "Reporters"
- "API"
- type: input
attributes:
label: Link to the code that reproduces this issue or a replay of the bug
description: |
A link to a GitHub repository minimal reproduction. If a minimal reproduction can't be created please share a replay of the bug which doesn't require sharing a private repo.
- type: textarea
id: repro
attributes:
label: Reproduction steps
description: |
How do you trigger this bug? Please walk us through it step by step.
How to create example:
1. npm init hermione-app my-example
2. add reproduction steps to the my-example dir
3. commit and push my-example dir to github
validations:
required: true
- type: markdown
attributes:
value: ----------------------------
- type: textarea
attributes:
label: Actual Behavior
description: A clear and concise description of what the bug is.
validations:
required: true
- type: markdown
attributes:
value: ----------------------------
- type: textarea
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: markdown
attributes:
value: ----------------------------
- type: input
attributes:
label: Which Node.js version are you using?
description: "Please specify the exact version. For example: 20.11.0"
validations:
required: true
45 changes: 45 additions & 0 deletions .github/ISSUE_TEMPLATE/2-feature-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Feature Request
description: Suggest a new feature for Hermione
labels: ["type: feature"]
body:
- type: markdown
attributes:
value: |
These issues are for **concrete and actionable proposals**. If you just have
a general problem that you would like to brainstorm, open a Discussion instead [here](https://github.com/gemini-testing/hermione/discussions).
- type: markdown
attributes:
value: |
If this feature affects many people in a company/big team, create a post for your company in the following discussion:
[https://github.com/gemini-testing/hermione/discussions/838](https://github.com/gemini-testing/hermione/discussions/838)
and link the issue in your post.
This will help us prioritize issues that affect more people.
- type: checkboxes
attributes:
label: Contribution
options:
- label: I'd be willing to implement this feature ([contributing guide](https://github.com/gemini-testing/hermione/blob/master/CONTRIBUTING.md))
- type: textarea
id: user-story
attributes:
label: Describe the user story
description: |
A clear and concise description of what workflow is meant to be improved. Example: "As a developer, I often want to do <something>, but I often face <problem>".
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen. Consider that Hermione is used by many people, and your particular use case might not make sense to implement in the core.
validations:
required: true
- type: textarea
id: drawbacks
attributes:
label: Describe the drawbacks of your solution
description: This section is important not only to identify future issues, but also for us to see whether you thought through your request. Ask yourself, what are the problems we could have maintaining what you propose? How often will it break?
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered, and why you think they wouldn't be good enough.
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Question 🤷
url: https://github.com/gemini-testing/hermione/discussions
about: Ask questions and discuss with other community members
- name: My company is migrating to Hermione and we have several issues/feature requests
url: https://github.com/gemini-testing/hermione/discussions/838
58 changes: 58 additions & 0 deletions .github/workflows/collect-deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Collect ubuntu browser dependencies
on:
schedule:
- cron: 0 0 1 * *
permissions:
pull-requests: write
jobs:
collect:
name: Collect browser dependencies
runs-on: ${{ matrix.os }}
env:
BRANCH_NAME: resolve-ubuntu-dependencies-${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
token: ${{ secrets.GH_ACCESS_TOKEN }}
- name: Setup Node JS
uses: actions/setup-node@v2
with:
node-version: 18
registry-url: https://registry.npmjs.org
- name: Prepare Ubuntu
run: sudo apt-get update && sudo apt-get install -y apt-file && sudo apt-file update
- name: Install npm dependencies
run: npm ci
- name: Config git
run: git config --global user.name "y-infra" && git config --global user.email "y-infra@yandex.ru"
- name: Checkout to branch
run: |
if git ls-remote --heads origin "$BRANCH_NAME" | grep -q "$BRANCH_NAME"; then
git fetch origin ${{ env.BRANCH_NAME }}
git checkout ${{ env.BRANCH_NAME }}
git pull
else
git checkout -b ${{ env.BRANCH_NAME }}
fi
- name: Resolve Ubuntu dependencies
run: npm run resolve-ubuntu-dependencies
- name: Commit changes
run: |
git add src
git status
if git diff-index --quiet HEAD src; then
echo 'No changes'
else
echo 'Committing changes'
git commit src -m 'chore: update local browser dependencies for ${{ matrix.os }}'
git push origin ${{ env.BRANCH_NAME }}
gh pr create -B master -H ${{ env.BRANCH_NAME }} --title "Auto update local browser deps for ${{ matrix.os }}" --body "Created by Github action" || echo "Could not create PR. Seems like it already exists"
fi
env:
GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
29 changes: 29 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Node.js CI

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm ci
- run: npm test
37 changes: 37 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: NPM publish
on:
workflow_dispatch:
inputs:
versionType:
type: choice
description: Version Type
required: true
options:
- patch
- minor
- major
permissions:
contents: write
jobs:
publish:
name: Publishing to NPM
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
token: ${{ secrets.GH_ACCESS_TOKEN }}
- name: Setup Node JS
uses: actions/setup-node@v2
with:
node-version: 18
registry-url: https://registry.npmjs.org
- run: npm ci
- run: git config --global user.email "y-infra@yandex.ru"
- run: git config --global user.name "y-infra"
- run: npm run release -- --release-as ${{ github.event.inputs.versionType }}
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: git push --follow-tags
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -3,13 +3,16 @@
build

.idea
.vscode
*.swo
*.swp
*.iml
*.tgz
.fuse*
.project
node_modules
artifacts
npm-debug.log
.editorconfig
coverage/
.eslintcache
hermione-report
7 changes: 7 additions & 0 deletions .mocharc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"use strict";

module.exports = {
recursive: true,
extension: [".js", ".ts"],
require: ["./test/setup", "./test/assert-ext", "./test/ts-node"],
};
3 changes: 2 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
@@ -2,4 +2,5 @@
.npmignore
.sublime-project*
test/
coverage/
examples/
branding/
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
save-exact=true
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
18
7 changes: 7 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.idea
build
LICENSE
package.json
package-lock.json
*.md
examples
19 changes: 19 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
module.exports = {
printWidth: 120,
useTabs: false,
tabWidth: 4,
semi: true,
singleQuote: false,
trailingComma: "all",
bracketSpacing: true,
arrowParens: "avoid",
overrides: [
{
// Trailing commas may break code in client-scripts that need to conform to the old ES standards
files: "./src/browser/client-scripts/**",
options: {
trailingComma: "none",
},
},
],
};
6 changes: 0 additions & 6 deletions .travis.yml

This file was deleted.

3 changes: 2 additions & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
The following authors have created the source code of "Hermione"
The following authors have created the source code of "Testplane"
published and distributed by YANDEX LLC as the owner:

Anton Usmansky <cody0@yandex-team.ru>
@@ -14,3 +14,4 @@ Alexander Tarmolov <tarmolov@gmail.com>
Roman Rozhdestvenskiy <sbmaxx@gmail.com>
Leonid Rudenko <leonid.a.rudenko@gmail.com>
Andrey Prokopyuk
Ruslan Khusnetdinov <ruslankhh@gmail.com>
Loading