From c6ae6ea3109f2f32a8e517ef1788e045a0e89bd1 Mon Sep 17 00:00:00 2001 From: Popov Aleksey Date: Wed, 27 Oct 2021 10:32:41 +0300 Subject: [PATCH 1/9] build: changed name (#2) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bfa1e68..64af1af 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "error-stack-parser", + "name": "@devexpress/error-stack-parser", "description": "Extract meaning from JS Errors", "maintainers": [ "Eric Wendelin (https://www.eriwen.com)", @@ -21,7 +21,7 @@ }, "repository": { "type": "git", - "url": "git://github.com/stacktracejs/error-stack-parser.git" + "url": "git://github.com/DevExpress/error-stack-parser.git" }, "devDependencies": { "eslint": "^6.8.0", From 9edcd5d7f9ffd806a98af748d19bd95424b7281e Mon Sep 17 00:00:00 2001 From: testcafe-build-bot Date: Fri, 9 Dec 2022 15:41:34 +0000 Subject: [PATCH 2/9] =?UTF-8?q?=F0=9F=94=84=20Created=20local=20'.github/w?= =?UTF-8?q?orkflows/'=20from=20remote=20'workflows/'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/handle-labels.yml | 13 +++++++++++++ .github/workflows/handle-stale.yml | 21 +++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .github/workflows/handle-labels.yml create mode 100644 .github/workflows/handle-stale.yml diff --git a/.github/workflows/handle-labels.yml b/.github/workflows/handle-labels.yml new file mode 100644 index 0000000..92d9279 --- /dev/null +++ b/.github/workflows/handle-labels.yml @@ -0,0 +1,13 @@ +name: 'Label Actions' + +on: + issues: + types: [labeled, unlabeled] + pull_request_target: + types: [labeled, unlabeled] + +jobs: + reaction: + runs-on: ubuntu-latest + steps: + - uses: DevExpress/testcafe-build-system/actions/handle-labels@main diff --git a/.github/workflows/handle-stale.yml b/.github/workflows/handle-stale.yml new file mode 100644 index 0000000..ebc2418 --- /dev/null +++ b/.github/workflows/handle-stale.yml @@ -0,0 +1,21 @@ +name: "Mark stale issues and pull requests" +on: + schedule: + - cron: "30 1 * * *" + workflow_dispatch: +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3 + with: + stale-issue-message: "This issue has been automatically marked as stale because it has not had any activity for a long period. It will be closed and archived if no further activity occurs. However, we may return to this issue in the future. If it still affects you or you have any additional information regarding it, please leave a comment and we will keep it open." + stale-pr-message: "This pull request has been automatically marked as stale because it has not had any activity for a long period. It will be closed and archived if no further activity occurs. However, we may return to this pull request in the future. If it is still relevant or you have any additional information regarding it, please leave a comment and we will keep it open." + close-issue-message: "We're closing this issue after a prolonged period of inactivity. If it still affects you, please add a comment to this issue with up-to-date information. Thank you." + close-pr-message: "We're closing this pull request after a prolonged period of inactivity. If it is still relevant, please ask for this pull request to be reopened. Thank you." + stale-issue-label: "STATE: Stale" + stale-pr-label: "STATE: Stale" + days-before-stale: 365 + days-before-close: 10 + exempt-issue-labels: "AREA: docs,FREQUENCY: critical,FREQUENCY: level 2,HELP WANTED,!IMPORTANT!,STATE: Need clarification,STATE: Need response,STATE: won't fix,support center" + exempt-pr-labels: "AREA: docs,FREQUENCY: critical,FREQUENCY: level 2,HELP WANTED,!IMPORTANT!,STATE: Need clarification,STATE: Need response,STATE: won't fix,support center" \ No newline at end of file From 6044b31f298e8e09edc2684bdcc030c61ace4864 Mon Sep 17 00:00:00 2001 From: testcafe-build-bot Date: Fri, 9 Dec 2022 15:41:34 +0000 Subject: [PATCH 3/9] =?UTF-8?q?=F0=9F=94=84=20Created=20local=20'.github/l?= =?UTF-8?q?abels.yml'=20from=20remote=20'configs/labels.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/labels.yml | 108 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 .github/labels.yml diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..f81f662 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,108 @@ +# EDITS SHOULD BE SUBMITTED TO DevExpress/testcafe-build-system/config/labels.yml +# Configuration for Label Actions - https://github.com/dessant/label-actions + +? 'TYPE: question' +: + # Post a comment + comment: | + Thank you for your inquiry. This issue looks like a question that would be best [asked on StackOverflow](https://stackoverflow.com/questions/ask?tags=testcafe) - an amazing platform for users to ask and answer questions. We try to keep the GitHub issues tracker for bugs and feature requests only (see [Contributing](https://github.com/DevExpress/testcafe#contributing)). + + If you think that this issue is a bug, feel free to [open a new issue](https://github.com/DevExpress/testcafe/issues/new?template=bug-report.md), but please make sure to follow the issue template. Thank you in advance. + unlabel: 'STATE: Need response' + close: true + +? 'STATE: Non-latest version' +: + # Post a comment + comment: | + Thank you for submitting this issue. Since you are using an outdated version of TestCafe, we recommend you update TestCafe to the [latest version](https://github.com/DevExpress/testcafe/releases/latest) to check if this issue has been addressed. We constantly improve our tools, and there is a chance that this issue has been already resolved and/or is no longer reproducible in the latest version. We look forward to your response. + label: 'STATE: Need clarification' + unlabel: + - 'STATE: Non-latest version' + - 'STATE: Need response' + +? 'STATE: Need simple sample' +: + # Post a comment + comment: | + Thank you for submitting this issue. We would love to assist you and diagnose it. However, we need a simple sample that we can easily run on our side in order to replicate the issue and research its cause. Without a sample, we are not able to figure out what's going on and why this issue occurs. Refer to this article to create the best example: [How To: Create a Minimal Working Example When You Submit an Issue](https://testcafe.io/402636/faq#how-to-create-a-minimal-working-example-when-you-submit-an-issue). We look forward to your response. + label: 'STATE: Need clarification' + unlabel: + - 'STATE: Need simple sample' + - 'STATE: Need response' + +? 'STATE: Need access confirmation' +: + # Post a comment + comment: | + Thank you for submitting this issue. We would love to assist you and diagnose this issue. However, since your website sits behind a proxy and/or requires authentication, I will not be able to access it. Our policy prevents us from accessing a customer's internal resources without prior written approval from the entity that owns the server/web resource. + + If you want us to research the problem further, we'll need access to the server/web resource. Please ask the website owner to send us ([support@devexpress.com](mailto:support@devexpress.com)) written confirmation. It must permit DevExpress personnel to remotely access the website and its internal resources for research/testing and debugging purposes. + label: 'STATE: Need clarification' + unlabel: + - 'STATE: Need access confirmation' + - 'STATE: Need response' + +? 'STATE: Incomplete template' +: + # Post a comment + comment: | + Thank you for submitting this issue. However, the information you shared is insufficient to determine its cause. Please submit a new issue and fill the issue template completely - specify your TestCafe version and share a sample application with a test case that we can run on our side to reproduce and research the issue. + unlabel: + - 'STATE: Incomplete template' + - 'STATE: Need response' + close: true + +? 'STATE: No updates' +: + # Post a comment + comment: | + No updates yet. Once we get any results, we will post them in this thread. + unlabel: + - 'STATE: No updates' + - 'STATE: Need response' + +? 'STATE: No estimations' +: + # Post a comment + comment: | + Any personal estimate may be misleading, so we cannot currently tell it at the moment. Once we get any results, we will post them in this thread. + unlabel: + - 'STATE: No estimations' + - 'STATE: Need response' + +? 'STATE: Outdated proposal' +: + # Post a comment + comment: | + We are focused on implementing features from our [Roadmap](https://devexpress.github.io/testcafe/roadmap/). Since this enhancement is not there, we cannot tell you any time frames on when we will be able to address it. If this feature is important for you, please submit a Pull Request with its implementation. See the [Сontribution guide](https://github.com/DevExpress/testcafe/blob/master/CONTRIBUTING.md) for more information. + unlabel: + - 'STATE: Outdated proposal' + - 'STATE: Need response' + +? 'STATE: Outdated issue' +: + # Post a comment + comment: | + We address issues according to their severity, priority, and other factors. It appears that this issue is an edge case. If this issue is important for you, please submit a Pull Request with a fix. See the [Сontribution guide](https://github.com/DevExpress/testcafe/blob/master/CONTRIBUTING.md) for more information. + unlabel: + - 'STATE: Outdated issue' + - 'STATE: Need response' + +? 'STATE: No workarounds' +: + # Post a comment + comment: | + There are no workarounds. Once we get any updates, we will post them in this thread. + unlabel: + - 'STATE: No workarounds' + - 'STATE: Need response' + +? 'STATE: PR Review Pending' +: + # Post a comment + comment: | + Thank you for your contribution to TestCafe. We will review this PR. + unlabel: + - 'STATE: PR Review Pending' + - 'STATE: Need response' \ No newline at end of file From b8443e5ce12cd51c6c88db32f23468a5468f24d6 Mon Sep 17 00:00:00 2001 From: testcafe-build-bot Date: Sat, 29 Jul 2023 06:21:18 +0000 Subject: [PATCH 4/9] =?UTF-8?q?=F0=9F=94=84=20synced=20local=20'.github/wo?= =?UTF-8?q?rkflows/'=20with=20remote=20'workflows/'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check-security-alerts.yml | 107 ++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 .github/workflows/check-security-alerts.yml diff --git a/.github/workflows/check-security-alerts.yml b/.github/workflows/check-security-alerts.yml new file mode 100644 index 0000000..9014e38 --- /dev/null +++ b/.github/workflows/check-security-alerts.yml @@ -0,0 +1,107 @@ +name: Check security alerts + +on: + schedule: + - cron: "30 1 * * *" + workflow_dispatch: + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + github-token: ${{ secrets.ACTIVE_TOKEN }} + script: | + if (!'${{secrets.SECURITY_ISSUE_REPO}}') + return; + + const { owner, repo } = context.repo; + const state = 'open'; + const dependabotLabel = 'dependabot'; + const codeqlLabel = 'codeql'; + const securityLabel = 'security'; + + async function getDependabotAlerts () { + const dependabotListAlertsUrl = `https://api.github.com/repos/${ owner }/${ repo }/dependabot/alerts?state=${ state }`; + const dependabotRequestOptions = { + headers: { 'Authorization': 'Bearer ${{ secrets.ACTIVE_TOKEN }}' } + } + + const response = await fetch(dependabotListAlertsUrl, dependabotRequestOptions); + const data = await response.json(); + + // If data isn't arry somethig goes wrong + if (Array.isArray(data)) + return data; + + return []; + } + + async function getCodeqlAlerts () { + // When CodeQL is turned of it throws error + try { + const { data } = await github.rest.codeScanning.listAlertsForRepo({ owner, repo, state }); + + return data; + } catch (_) { + return []; + } + } + + async function createIssue ({owner, repo, labels, summary, description, link, package = ''}) { + const title = `[${repo}] ${summary}`; + const body = '' + + `#### Repository: \`${ repo }\`\n` + + (!!package ? `#### Package: \`${ package }\`\n` : '') + + `#### Description:\n` + + `${ description }\n` + + `#### Link: ${ link }` + + return github.rest.issues.create({ owner, repo, title, body, labels }); + } + + function needCreateIssue (alert) { + return !issueDictionary[alert.html_url] + && Date.now() - new Date(alert.updated_at) <= 1000 * 60 * 60 * 24; + } + + const dependabotAlerts = await getDependabotAlerts(); + const codeqlAlerts = await getCodeqlAlerts(); + const {data: existedIssues} = await github.rest.issues.listForRepo({ owner, repo, labels: [securityLabel], state }); + + const issueDictionary = existedIssues.reduce((res, issue) => { + const alertUrl = issue.body.match(/Link:\s*(https.*\d*)/)?.[1]; + + if (alertUrl) + res[alertUrl] = issue; + + return res; + }, {}) + + dependabotAlerts.forEach(alert => { + if (!needCreateIssue(alert)) + return; + + createIssue({ owner, + repo: '${{ secrets.SECURITY_ISSUE_REPO }}', + labels: [dependabotLabel, securityLabel], + summary: alert.security_advisory.summary, + description: alert.security_advisory.description, + link: alert.html_url, + package: alert.dependency.package.name + }) + }); + + codeqlAlerts.forEach(alert => { + if (!needCreateIssue(alert)) + return; + + createIssue({ owner, + repo: '${{ secrets.SECURITY_ISSUE_REPO }}', + labels: [codeqlLabel, securityLabel], + summary: alert.rule.description, + description: alert.most_recent_instance.message.text, + link: alert.html_url, + }) + }); \ No newline at end of file From 7d10a4bf167e3d440c3894b40a9549d046d4af2f Mon Sep 17 00:00:00 2001 From: testcafe-build-bot Date: Mon, 31 Jul 2023 15:06:32 +0000 Subject: [PATCH 5/9] =?UTF-8?q?=F0=9F=94=84=20synced=20local=20'.github/la?= =?UTF-8?q?bels.yml'=20with=20remote=20'configs/labels.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/labels.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/labels.yml b/.github/labels.yml index f81f662..48965d8 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -105,4 +105,22 @@ Thank you for your contribution to TestCafe. We will review this PR. unlabel: - 'STATE: PR Review Pending' + - 'STATE: Need response' + +? 'STATE: Issue accepted' +: + # Post a comment + comment: | + We appreciate you taking the time to share the information about this issue. We replicated it, and it is currently in our internal queue. Please note that the research may take time. We'll update this thread once we have news. + unlabel: + - 'STATE: Issue accepted' + - 'STATE: Need response' + +? 'STATE: Enhancement accepted' +: + # Post a comment + comment: | + Thank you for bringing this to our attention. We will be happy to look into this enhancement. We'll update this thread once we have news to share. In the absence of communication from us, it's safe to assume that there are no updates. + unlabel: + - 'STATE: Enhancement accepted' - 'STATE: Need response' \ No newline at end of file From 6d9f19029eddec23d89a5d93e400ad66d7aaf685 Mon Sep 17 00:00:00 2001 From: testcafe-build-bot Date: Wed, 2 Aug 2023 09:55:12 +0000 Subject: [PATCH 6/9] =?UTF-8?q?=F0=9F=94=84=20synced=20local=20'.github/wo?= =?UTF-8?q?rkflows/'=20with=20remote=20'workflows/'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check-security-alerts.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-security-alerts.yml b/.github/workflows/check-security-alerts.yml index 9014e38..7ec3f5e 100644 --- a/.github/workflows/check-security-alerts.yml +++ b/.github/workflows/check-security-alerts.yml @@ -49,10 +49,10 @@ jobs: } } - async function createIssue ({owner, repo, labels, summary, description, link, package = ''}) { - const title = `[${repo}] ${summary}`; + async function createIssue ({owner, repo, labels, originRepo, summary, description, link, package = ''}) { + const title = `[${originRepo}] ${summary}`; const body = '' - + `#### Repository: \`${ repo }\`\n` + + `#### Repository: \`${ originRepo }\`\n` + (!!package ? `#### Package: \`${ package }\`\n` : '') + `#### Description:\n` + `${ description }\n` @@ -86,6 +86,7 @@ jobs: createIssue({ owner, repo: '${{ secrets.SECURITY_ISSUE_REPO }}', labels: [dependabotLabel, securityLabel], + originRepo: repo, summary: alert.security_advisory.summary, description: alert.security_advisory.description, link: alert.html_url, @@ -100,6 +101,7 @@ jobs: createIssue({ owner, repo: '${{ secrets.SECURITY_ISSUE_REPO }}', labels: [codeqlLabel, securityLabel], + originRepo: repo, summary: alert.rule.description, description: alert.most_recent_instance.message.text, link: alert.html_url, From bdfd51bb39835a4a8ed4a72dde74144dd76a244c Mon Sep 17 00:00:00 2001 From: testcafe-build-bot Date: Wed, 2 Aug 2023 09:58:17 +0000 Subject: [PATCH 7/9] =?UTF-8?q?=F0=9F=94=84=20synced=20local=20'.github/wo?= =?UTF-8?q?rkflows/'=20with=20remote=20'workflows/'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check-security-alerts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-security-alerts.yml b/.github/workflows/check-security-alerts.yml index 7ec3f5e..f81dbe6 100644 --- a/.github/workflows/check-security-alerts.yml +++ b/.github/workflows/check-security-alerts.yml @@ -20,7 +20,7 @@ jobs: const state = 'open'; const dependabotLabel = 'dependabot'; const codeqlLabel = 'codeql'; - const securityLabel = 'security'; + const securityLabel = 'security notification'; async function getDependabotAlerts () { const dependabotListAlertsUrl = `https://api.github.com/repos/${ owner }/${ repo }/dependabot/alerts?state=${ state }`; From 8d7eedc3d688bac7209d03683a770a209c63a926 Mon Sep 17 00:00:00 2001 From: testcafe-build-bot Date: Wed, 2 Aug 2023 10:05:53 +0000 Subject: [PATCH 8/9] =?UTF-8?q?=F0=9F=94=84=20synced=20local=20'.github/wo?= =?UTF-8?q?rkflows/'=20with=20remote=20'workflows/'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check-security-alerts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-security-alerts.yml b/.github/workflows/check-security-alerts.yml index f81dbe6..2c0c022 100644 --- a/.github/workflows/check-security-alerts.yml +++ b/.github/workflows/check-security-alerts.yml @@ -63,7 +63,7 @@ jobs: function needCreateIssue (alert) { return !issueDictionary[alert.html_url] - && Date.now() - new Date(alert.updated_at) <= 1000 * 60 * 60 * 24; + && Date.now() - new Date(alert.created_at) <= 1000 * 60 * 60 * 24; } const dependabotAlerts = await getDependabotAlerts(); From 5df868c5b2993cf66d7674528d8b76a47ce29464 Mon Sep 17 00:00:00 2001 From: Popov Aleksey Date: Wed, 16 Aug 2023 15:18:29 +0300 Subject: [PATCH 9/9] Deprecated (#10) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index cafa853..e383ad9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +# DEPREDCATED +The TestCafe team no longer maintains the `DevExpress/error-stack-parser` repository. + error-stack-parser.js - Extract meaning from JS Errors =============== [![Build Status](https://img.shields.io/travis/stacktracejs/error-stack-parser/master.svg?style=flat-square)](https://travis-ci.org/stacktracejs/error-stack-parser)