Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
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
5 changes: 5 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"enabledPlugins": {
"currents-skills@currents-internal-skills": true
}
}
60 changes: 37 additions & 23 deletions .gitbook.yaml
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
root: ./

redirects:
api/api-keys: resources/api/api-keys.md
api/api-keys: dashboard/administration/api-keys.md
Comment thread
agoldis marked this conversation as resolved.
ci-setup: getting-started/ci-setup/github-actions/README.md
ci-setup/gitlab/playwright-gitlab-ci-cd: getting-started/ci-setup/gitlab/playwright-gitlab-ci-cd.md
ci-setup/azure-devops/playwright-azure-devops: getting-started/ci-setup/azure-devops/playwright-azure-devops.md
ci-setup/aws-code-build/playwright-aws-code-build: getting-started/ci-setup/aws-code-build/playwright-aws-code-build.md
ci-setup/circleci/playwright-circleci: getting-started/ci-setup/circleci/playwright-circleci.md
ci-setup/azure-devops/playwright-azure-devops: getting-started/ci-setup/playwright-azure-devops.md
ci-setup/aws-code-build/playwright-aws-code-build: getting-started/ci-setup/playwright-aws-code-build.md
ci-setup/circleci/playwright-circleci: getting-started/ci-setup/playwright-circleci.md
ci-setup/github-actions/playwright-github-actions: getting-started/ci-setup/github-actions/playwright-github-actions.md
ci-setup/gitlab/cypress-gitlab-ci-cd: getting-started/ci-setup/gitlab/cypress-gitlab-ci-cd.md
ci-setup/bitbucket/cypress-bitbucket-pipelines: getting-started/ci-setup/bitbucket/cypress-bitbucket-pipelines.md
ci-setup/jenkins/jenkins-playwright: getting-started/ci-setup/jenkins/jenkins-playwright.md
ci-setup/aws-code-build/cypress-aws-code-build: getting-started/ci-setup/aws-code-build/cypress-aws-code-build.md
ci-setup/gitlab/cypress-gitlab-ci-cd: getting-started/other-frameworks/cypress/ci-setup/cypress-gitlab-ci-cd.md
ci-setup/bitbucket/cypress-bitbucket-pipelines: getting-started/other-frameworks/cypress/ci-setup/cypress-bitbucket-pipelines.md
ci-setup/jenkins/jenkins-playwright: getting-started/ci-setup/jenkins.md
ci-setup/aws-code-build/cypress-aws-code-build: getting-started/other-frameworks/cypress/ci-setup/cypress-aws-code-build.md
ci-setup/nx: getting-started/ci-setup/nx.md
ci-setup/github-actions/commit-data-for-github-actions: getting-started/ci-setup/github-actions/commit-data-for-github-actions.md
ci-setup/circleci/cypress-circleci: getting-started/ci-setup/circleci/cypress-circleci.md
ci-setup/jenkins/cypress-jenkins: getting-started/ci-setup/jenkins/cypress-jenkins.md
ci-setup/azure-devops/cypress-azure-devops: getting-started/ci-setup/azure-devops/cypress-azure-devops.md
ci-setup/circleci/cypress-circleci: getting-started/other-frameworks/cypress/ci-setup/cypress-circleci.md
ci-setup/jenkins/cypress-jenkins: getting-started/other-frameworks/cypress/ci-setup/cypress-jenkins.md
ci-setup/azure-devops/cypress-azure-devops: getting-started/other-frameworks/cypress/ci-setup/cypress-azure-devops.md
administration/email-domain-based-access: dashboard/administration/email-domain-based-access.md
getting-started/you-first-cypress-run: getting-started/cypress/you-first-cypress-run.md
guides/parallelization: guides/parallelization-guide/cypress-parallelization.md
guides/pw-parallelization/playwright-orchestration: guides/parallelization-guide/pw-parallelization/playwright-orchestration.md
getting-started/you-first-cypress-run: getting-started/other-frameworks/cypress/you-first-cypress-run.md
guides/parallelization: guides/parallelization-guide/README.md
guides/pw-parallelization/playwright-orchestration: guides/ci-optimization/playwright-orchestration.md
guides/ci-optimization/playwright-orchestration-v2: guides/ci-optimization/playwright-orchestration-v1.md
guides/pw-parallelization/playwright-sharding: guides/parallelization-guide/pw-parallelization/playwright-sharding.md
guides/load-balancing: guides/parallelization-guide/load-balancing.md
guides/fail-fast-strategy: guides/parallelization-guide/fail-fast-strategy.md
guides/pw-parallelization/playwright-sharding: guides/parallelization-guide/playwright-sharding.md
guides/load-balancing: guides/ci-optimization/load-balancing.md
guides/fail-fast-strategy: guides/ci-optimization/fail-fast-strategy.md
insights/runs-analytics: dashboard/analytics/README.md
tests/test-status: dashboard/tests/test-status.md
tests/flaky-tests: dashboard/tests/flaky-tests.md
tests/spec-file-status: dashboard/tests/spec-file-status.md
tests/spec-file-status: dashboard/spec-file-status/README.md
tests/test-history: dashboard/tests/test-history.md
runs/run-timeouts: dashboard/runs/run-timeouts.md
runs/run-details: dashboard/runs/run-details.md
runs/run-status: dashboard/runs/run-status.md
runs/run-status: dashboard/analytics/run-status.md
runs/cancel-run: dashboard/runs/cancel-run.md
runs/deleting-runs: dashboard/runs/deleting-runs.md
resources/reporters/currents-playwright/pwc-p-orchestration: resources/reporters/currents-playwright/pwc-p.md
integration-with-playwright/currents-playwright: resources/reporters/currents-playwright.md
integration-with-playwright/playwright-component-testing: getting-started/playwright/integration-with-playwright/playwright-component-testing.md
integration-with-playwright/troubleshooting: getting-started/playwright/troubleshooting-playwright.md
integration-with-playwright/currents-playwright: resources/reporters/currents-playwright/README.md
integration-with-playwright/playwright-component-testing: guides/playwright-component-testing.md
integration-with-playwright/troubleshooting: guides/troubleshooting-playwright.md
insights/insights-and-analytics: dashboard/analytics/README.md
dashboard/insights-and-analytics: dashboard/analytics/README.md
integrations/github/github-app: resources/integrations/github/github-app.md
integrations/github/github-oauth: resources/integrations/github/github-oauth.md
integrations/github: resources/integrations/github/README.md
integrations/slack: resources/integrations/slack.md
integrations/slack: resources/integrations/slack/README.md
integrations/gitlab: resources/integrations/gitlab.md
integrations/microsoft-teams: resources/integrations/microsoft-teams.md
integrations/http-webhooks: resources/integrations/http-webhooks.md
Expand All @@ -54,3 +54,17 @@ redirects:
projects/archive-and-unarchive-projects: dashboard/projects/archive-and-unarchive-projects.md
dashboard/billing-and-pricing: dashboard/billing/plans-and-pricing.md
dashboard/administration/billing-and-usage: dashboard/billing/usage-and-spend-control.md
billing-and-pricing: dashboard/billing/plans-and-pricing.md
administration/billing-and-usage: dashboard/billing/usage-and-spend-control.md
dashboard/administration/team-management: dashboard/administration/manage-team.md
dashboard/runs/run-status: dashboard/analytics/run-status.md
Comment thread
agoldis marked this conversation as resolved.
getting-started/playwright: getting-started/your-first-playwright-run.md
guides/pw-parallelization: guides/ci-optimization/playwright-parallelization.md
guides/parallelization-guide/pw-parallelization: guides/ci-optimization/playwright-parallelization.md
guides/pw-parallelization/ci-tests-on-spot-instances: guides/ci-optimization/ci-tests-on-spot-instances.md
guides/playwright-rerun-failed-tests: guides/ci-optimization/re-run-only-failed-tests.md
getting-started/ci-setup/circleci: getting-started/ci-setup/playwright-circleci.md
getting-started/ci-setup/azure-devops: getting-started/ci-setup/playwright-azure-devops.md
getting-started/ci-setup/aws-code-build: getting-started/ci-setup/playwright-aws-code-build.md
getting-started/ci-setup/bitbucket: getting-started/other-frameworks/cypress/ci-setup/cypress-bitbucket-pipelines.md
getting-started/ci-setup/nx/playwright-nx: getting-started/ci-setup/nx.md
2 changes: 1 addition & 1 deletion SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@
* [pwc-p discover](resources/reporters/currents-playwright/pwc-p-discover.md)
* [pwc-p run](resources/reporters/currents-playwright/pwc-p-run.md)
* [Playwright Fixtures](resources/reporters/currents-playwright/playwright-fixtures.md)
* [Changelog](https://github.com/currents-dev/currents-playwright/blob/main/CHANGELOG.md)
* [Changelog](https://github.com/currents-dev/currents-playwright-changelog/blob/main/CHANGELOG.md)
* [@currents/cmd](resources/reporters/currents-cmd/README.md)
* [currents api](resources/reporters/currents-cmd/currents-api.md)
* [currents upload](resources/reporters/currents-cmd/currents-upload.md)
Expand Down
25 changes: 16 additions & 9 deletions dashboard/runs/cancel-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,20 +110,27 @@ The action also accepts an [api-keys.md](../administration/api-keys.md "mention"

Pass `project-id` and `ci-build-id` as well to identify the run by its [ci-build-id.md](../../guides/parallelization-guide/ci-build-id.md "mention") instead — which is what you need when the workflow records under a CI build ID of its own:

Declare the variables on the job, not on the reporting step. A step's `env` is
visible only to that step, so the cancelling step reads them as empty:

```yaml
- name: Run tests
jobs:
run-tests:
runs-on: ubuntu-latest
env:
CURRENTS_CI_BUILD_ID: "a-custom-ci-build-id"
CURRENTS_PROJECT_ID: "my-project-id"
run: npx pwc --key ${{ secrets.CURRENTS_RECORD_KEY }}
steps:
- name: Run tests
run: npx pwc --key ${{ secrets.CURRENTS_RECORD_KEY }}

- name: Cancel the run if the workflow is cancelled
if: ${{ cancelled() }}
uses: currents-dev/cancel-run-gh-action@v1
with:
api-token: ${{ secrets.CURRENTS_API_KEY }}
project-id: ${{ env.CURRENTS_PROJECT_ID }}
ci-build-id: ${{ env.CURRENTS_CI_BUILD_ID }}
- name: Cancel the run if the workflow is cancelled
if: ${{ cancelled() }}
uses: currents-dev/cancel-run-gh-action@v1
with:
api-token: ${{ secrets.CURRENTS_API_KEY }}
project-id: ${{ env.CURRENTS_PROJECT_ID }}
ci-build-id: ${{ env.CURRENTS_CI_BUILD_ID }}
```

## FAQ
Expand Down
2 changes: 1 addition & 1 deletion dashboard/runs/run-details.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ Currents collects additional information about the CI environment:
| Browser / Project | Cypress tests browser or Playwright Project |
| Author | Git commit author |
| CI Build ID | [ci-build-id.md](../../guides/parallelization-guide/ci-build-id.md "mention") |
| CI Provider Link | Auto-detected or custom CI job/run URL. Set `CURRENTS_CI_URL` to override. See [https://github.com/currents-dev/currents-readme/blob/main/dashboard/reporters/currents-playwright/configuration.md](https://github.com/currents-dev/currents-readme/blob/main/dashboard/reporters/currents-playwright/configuration.md "mention") |
| CI Provider Link | Auto-detected or custom CI job/run URL. Set `CURRENTS_CI_URL` to override. See [configuration.md](../../resources/reporters/currents-playwright/configuration.md "mention") |
2 changes: 1 addition & 1 deletion getting-started/ci-setup/github-actions/cancel-runs.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ The [cancel-run-gh-action](https://github.com/currents-dev/cancel-run-gh-action)
uses: currents-dev/cancel-run-gh-action@v1
```

With no inputs it reads `CURRENTS_RECORD_KEY`, `CURRENTS_PROJECT_ID` and `CURRENTS_CI_BUILD_ID` from the environment the reporting step already sets. Like the command, it can also identify the run by its run id — the `run-id` input, or `CURRENTS_RUN_ID`. See the [action's README](https://github.com/currents-dev/cancel-run-gh-action#inputs) for every input.
With no inputs it reads `CURRENTS_RECORD_KEY`, `CURRENTS_PROJECT_ID` and `CURRENTS_CI_BUILD_ID` from the job's environment, the way the full example below declares them. Declare them on the reporting step instead and they arrive empty here, because a step's `env` is visible only to that step. Like the command, it can also identify the run by its run id — the `run-id` input, or `CURRENTS_RUN_ID`. See the [action's README](https://github.com/currents-dev/cancel-run-gh-action#inputs) for every input.

## Full example

Expand Down
6 changes: 3 additions & 3 deletions getting-started/ci-setup/playwright-circleci.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ TL;DR Check out the example repository:
[https://github.com/currents-dev/currents-examples](https://github.com/currents-dev/currents-examples/tree/main/playwright/ci/circleci)
{% endhint %}

Run Playwright tests in [parallel on CircleCI](https://circleci.com/docs/2.0/parallelism-faster-jobs/) using the native [Playwright Sharding](https://playwright.dev/docs/test-sharding) to split the tests between multiple containers. Parallelizing the test will help in decreasing the overall run duration. 
Run Playwright tests in [parallel on CircleCI](https://circleci.com/docs/guides/optimize/parallelism-faster-jobs/) using the native [Playwright Sharding](https://playwright.dev/docs/test-sharding) to split the tests between multiple containers. Parallelizing the test will help in decreasing the overall run duration. 

Currents collects the results of distributed parallel CircleCI builds for more efficient troubleshooting. Each container will receive a unique set of tests to run so that your tests will run faster and you can receive faster feedback from your browser test suite.

Create multiple containers that will run your tests in parallel by setting the desired amount of containers with [`parallelism`](https://circleci.com/docs/2.0/configuration-reference/#parallelism) flag in `config.yaml` file.
Create multiple containers that will run your tests in parallel by setting the desired amount of containers with the [`parallelism`](https://circleci.com/docs/reference/configuration-reference/#parallelism) key in the `.circleci/config.yml` file.

Please refer to the [example repository](https://github.com/currents-dev/currents-examples/tree/main/playwright/ci/circleci) demonstrating how to set up [CircleCI](https://circleci.com) for running Playwright tests in parallel using [Currents](https://currents.dev) service.

* Create an organization at https://app.currents.dev
* Create a new project
* Grab `CURRENTS_RECORD_KEY` [record-key.md](../../guides/record-key.md "mention") and `CURRENTS_PROJECT_ID`  
* Store `CURRENTS_RECORD_KEY`: [https://circleci.com/docs/contexts/](https://circleci.com/docs/contexts/)
* Store `CURRENTS_RECORD_KEY`: [https://circleci.com/docs/guides/security/contexts/](https://circleci.com/docs/guides/security/contexts/)

<pre class="language-yaml"><code class="lang-yaml"># .circleci/config.yml
version: 2.1
Expand Down
2 changes: 1 addition & 1 deletion getting-started/ci-setup/playwright-harness.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Running Playwright tests on Harness CI with Currents reporting and

# Harness

This guide explains how to run Playwright tests on [Harness Continuous Integration](https://developer.harness.io/docs/category/set-up-cicd-pipelines) and report results to [Currents](https://currents.dev). It follows Harness NextGen pipeline patterns ([Run steps](https://developer.harness.io/docs/continuous-integration/use-ci/run-step-settings), [stage parallelism](https://developer.harness.io/docs/continuous-integration/use-ci/run-tests/speed-up-ci-test-pipelines-using-parallelism), [secrets](https://developer.harness.io/docs/platform/secrets/add-use-text-secrets)).
This guide explains how to run Playwright tests on [Harness Continuous Integration](https://developer.harness.io/docs/continuous-integration/) and report results to [Currents](https://currents.dev). It follows Harness NextGen pipeline patterns ([Run steps](https://developer.harness.io/docs/continuous-integration/use-ci/run-step-settings), [stage parallelism](https://developer.harness.io/docs/continuous-integration/use-ci/run-tests/speed-up-ci-test-pipelines-using-parallelism), [secrets](https://developer.harness.io/docs/platform/secrets/add-use-text-secrets)).

{% hint style="warning" %}
**`CURRENTS_CI_BUILD_ID` is mandatory** for Harness. Harness is **not** in Currents’ [auto-detected CI providers](../../guides/parallelization-guide/ci-build-id.md#build-id-for-popular-ci-providers). If you omit it, Currents may generate a **different** build ID per job or shard: parallel Playwright shards **will not merge into one run**, reporting and orchestration **break**, and **retries** can collide with or duplicate prior runs. Always set `CURRENTS_CI_BUILD_ID` in every Run step (see below).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ The example [config file](https://github.com/currents-dev/currents-examples/blob
* Create an account at https:/app.currents.dev.
* Obtain **ProjectId** and **Record Key**.
* Set `CURRENTS_RECORD_KEY`:
* create [CircleCI context](https://circleci.com/docs/contexts/) and set `CURRENTS_RECORD_KEY`.
* alternatively, set [Environment variable](https://circleci.com/docs/2.0/env-vars/) `CURRENTS_RECORD_KEY`
* Follow the setup instructions at [https://currents.dev/readme/integration-with-cypress/cypress-cloud](https://currents.dev/readme/integration-with-cypress/cypress-cloud) to create `currents.config.js` set your `projectId`
* create [CircleCI context](https://circleci.com/docs/guides/security/contexts/) and set `CURRENTS_RECORD_KEY`.
* alternatively, set [Environment variable](https://circleci.com/docs/guides/security/env-vars/) `CURRENTS_RECORD_KEY`
* Follow the setup instructions at [cypress-cloud](../../../../resources/reporters/cypress-cloud/README.md "mention") to create `currents.config.js` set your `projectId`

### Bare CircleCI configuration

Expand Down
2 changes: 1 addition & 1 deletion guides/playwright-visual-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,5 +222,5 @@ function assertEnvVariable(name: string) {

You can use the same concept to send a "finalize" command to other visual testing tools like Applitools and Percy.

* Applitools - refer to [Closing the Batch](https://applitools.com/tutorials/guides/advanced-use-cases/parallel-test-suites#step-3-closing-the-batch) section the Parallel Test Suites guide
* Applitools - refer to [Closing the Batch](https://applitools.com/docs/eyes/concepts/test-execution/parallel-test-suites#step-3-closing-the-batch) section the Parallel Test Suites guide
* Percy - refer to `percy build:finalize` step in [Percy documentation](https://www.browserstack.com/docs/percy/integrate/parallel-test-suites)
2 changes: 1 addition & 1 deletion resources/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ icon: square-rss
# Changelog

* [Changelog](https://changelog.currents.dev/changelog) - main platform updates and improvements&#x20;
* [@currents/playwright](https://github.com/currents-dev/currents-playwright/blob/main/CHANGELOG.md) - Playwright reporter for Currents changelog
* [@currents/playwright](https://github.com/currents-dev/currents-playwright-changelog/blob/main/CHANGELOG.md) - Playwright reporter for Currents changelog
* [@currents/cmd](https://github.com/currents-dev/currents-reporter/blob/main/packages/cmd/CHANGELOG.md) - CLI utilities and generic XML reporter for Currents changelog
* [@currents/jest](https://github.com/currents-dev/currents-reporter/blob/main/packages/jest/CHANGELOG.md) - Jest reporter for Currents changelog
* [@currents/node-test-reporter](https://github.com/currents-dev/currents-reporter/blob/main/packages/node-test-reporter/CHANGELOG.md) - NodeJS Test Runner reporter for Currents changelog
2 changes: 1 addition & 1 deletion resources/integrations/slack/slack-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ Both [Annotation-Based Mentions](#annotation-based-mentions) and [UI-Based Menti
| **Multiple Mentions** | Comma-separated combination of formats | `user:U01RWNBFGER, team:S07JCUP81EG, miguel@currents.dev` |

{% hint style="info" %}
**Finding Slack IDs:** See [Slack's documentation](https://slack.com/help/articles/360057541954-Get-user-and-group-IDs) for instructions on finding user and group IDs.
**Finding Slack IDs:** See [Slack's documentation](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID) for instructions on finding user and group IDs.
{% endhint %}

## Automated Reports to Slack
Expand Down
Loading