From 7a291577bc5908dbc78fe897a69df025be420fed Mon Sep 17 00:00:00 2001 From: F-WRunTime Date: Wed, 7 Sep 2022 16:53:37 -0600 Subject: [PATCH 1/6] Bug templates reworked --- .github/ISSUE_TEMPLATE/bug-report.md | 37 -------- .github/ISSUE_TEMPLATE/bug-report.yaml | 90 +++++++++++++++++++ .../performance-test-template.yaml | 21 +++++ 3 files changed, 111 insertions(+), 37 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yaml create mode 100644 .github/ISSUE_TEMPLATE/performance-test-template.yaml diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md deleted file mode 100644 index 9ff278a5239..00000000000 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "[Bug] [kompile|kast|krun|kprove|kprovex|ksearch] - DESCRIPTION" -labels: bug -assignees: '' - ---- - -K Version ---------- - -``` -$ kompile --version -``` - -Description ------------ - -A clear and concise description of what the bug is. - -Input Files ------------ - -*Minimized* files needed to produce the bug. -When providing K definitions, a _single_ file should be provided (if possible), and as few modules and sentences as possible. -When providing programs or proofs, a _single_ program should be provided with a minimized definition which _quickly_ reproduces the issue. - -Reproduction Steps ------------------- - -Steps to reproduce the behavior (including _code blocks_ with what to run, and _code blocks_ with resulting output). - -Expected Behavior ------------------ - -A clear and concise description of what you expected to happen. diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml new file mode 100644 index 00000000000..012f1eaf1d7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -0,0 +1,90 @@ +name: "[K-Bug] Report" +description: Create a bug report to help us improve +title: "[K-Bug] " +labels: ["k-bug", "k"] + +body: + - type: markdown + attributes: + value: | + # Please Fill out the Form to the best of your ability. + ## Briefly what we're looking for: + ### Input Files + *Minimized* files need to produce the bug. + When providing K definitions, a _single_ file should be provided (if possible), and as few modules and sentences as possible. + When providing programs or proofs, a _single_ program should be provided with a minimized definition which _quickly_ reproduces the issue. + + ### Reproduction Steps + Steps to reproduce the behavior (including _code blocks_ with what to run, and _code blocks_ with resulting output). + + ### Expected Behavior + A clear and concise description of what you expected to happen. + + - type: dropdown + attributes: + label: What component is the issue in? + options: + - Front-End + - haskell-backend + - llvm-backend + + - type: checkboxes + attributes: + label: Which command + description: You may select more than one + options: + - label: kompile + - label: kast + - label: krun + - label: kprove + - label: kprovex + - label: ksearch + + - type: input + attributes: + label: What K Version? + placeholder: | + Run kompile --version and paste here + validations: + required: true + + - type: dropdown + attributes: + label: "Operating System" + options: + - Linux + - MacOS (Intel) + - MacOS (Apple Silicon/AMD) + validations: + required: true + + - type: textarea + attributes: + label: K Definitions (If Possible) + description: A _single_ program file with a minimized definition which _quickly_ reproduces the issue + placeholder: | + Files can be Drag & Dropped HERE + - type: textarea + attributes: + label: Steps to Reproduce + description: Any informaiton you think is relevant for us to understand the issue. Code blocks are acceptable. + placeholder: | + < ATTACH LOG HERE (IF POSSIBLE) > + validations: + required: true + - type: textarea + attributes: + label: "Expected Results" + description: Please provide a brief description of what you expected to happen + placeholder: < Drag & Drop files can be used to support expected result > + validations: + required: true + + + - type: markdown + attributes: + value: "## Thank you for contributing to our project!" + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/performance-test-template.yaml b/.github/ISSUE_TEMPLATE/performance-test-template.yaml new file mode 100644 index 00000000000..31e2966a19b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/performance-test-template.yaml @@ -0,0 +1,21 @@ +--- +name: Performance Test and Report Generation +description: Provide test file and CI will generate a report for further investigation +title: "[Performance Test: K]" +labels: ["performance-report"] +body: + - type: markdown + attributes: + value: | + # Performance Test Form & Report Generator + ## For Internal Use Only + 1. Please attach test file to kick off tests + + Results will be attached to the issue after testing completes + + - type: textarea + attributes: + label: Please Upload Test Data File + placeholder: < Drag and Drop file here > + validations: + required: true \ No newline at end of file From bf16bf9e5e8c573df873bbc90b8439b6b1934606 Mon Sep 17 00:00:00 2001 From: F-WRunTime <Freeman.Wenzl@runtimeverification.com> Date: Wed, 7 Sep 2022 17:08:19 -0600 Subject: [PATCH 2/6] Providing first templates of improvement forms --- .github/ISSUE_TEMPLATE/bug-report.yaml | 1 + .../k-improvement-proposal.yaml | 98 +++++++++++++++++++ .../performance-test-template.yaml | 4 +- 3 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/k-improvement-proposal.yaml diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml index 012f1eaf1d7..c05bdbdaa33 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -1,3 +1,4 @@ +--- name: "[K-Bug] Report" description: Create a bug report to help us improve title: "[K-Bug] <TITLE>" diff --git a/.github/ISSUE_TEMPLATE/k-improvement-proposal.yaml b/.github/ISSUE_TEMPLATE/k-improvement-proposal.yaml new file mode 100644 index 00000000000..5a05fc8cadd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/k-improvement-proposal.yaml @@ -0,0 +1,98 @@ +--- +name: "[KIP] - K Improvment Proposal" +description: Suggest a new feature for the K Language +title: "[K-Improvement] <Title>" +labels: ["request", "k", "improvement"] + +body: +- type: markdown + attributes: + value: | + # First fill in the title (template provided). + ## Example: + + [K-Improvement] - Use `foo` instead of `syntax` for declaring productions + + # Motivation + + - Is there a semantics which you are developing which this feature would simplify? + - Is this feature similar to a feature offered by another programming language? + - Any other motivation? + + # Example K Code + + Provide a small, complete, and self-contained example of what you would like to be able to say in K. + Try to make it so that your example would `kompile` correctly if this feature were implemented. + + ## Example: + + I would like to be able to use `foo` instead of `syntax` for declaring AST nodes: + + ``` + module MYMODULE + imports BOOL + + foo Bar ::= "newBar" [function] + syntax Bar ::= "anotherBar" + endmodule + ``` + + # Documentation + + Provide (initial) documentation for this new feature. + + ## Example: + + A user may choose to use `foo` instead of `syntax` when declaring new production in K. + The meaning is exactly identical to `syntax`, but it requires 3 fewer characters to type, which saves on average 17s/month of semantics development. + + # Potential Alternatives/Work-arounds + + If there is an obvious alternative way to implement this or an existing work-around, please briefly describe it here. + + ## Example: + + - Users could also type `fo`, because it's even shorter. But because they are already pressing the `o` key, pressing `o` a second time has been shown to only increase the time per month by 2s (compared to the 17s overall), which means that the added benefit of programmers being familiar with the word `foo` outweighs the performance gains. + - The keyword `bar` was also considered, but because `foo` has double-`o`, it's faster to type. + + # Testing Approach + + If the feature is directly testable using the existing K test harness, provide an example test input/output here. + Otherwise, describe the testing approach you would use for this feature. + + ## Example: + + We could: + + - Modify `IMP` in the tutorial to use `foo` instead of `syntax` in a few places, or + - Add the following definition to `tests/regression-new/foo-syntax.k`: + + ``` + module TEST + imports BOOL + configuration <k> $PGM:A </k> + + syntax A ::= "blah" + foo A ::= "halb" + + rule <k> blah => halb ... </k> + endmodule + ``` + + with the following input file: + + ``` + blah + ``` + + and expected output: + + ``` + halb + ``` + +- type: textarea + attributes: + label: Per the Examples above please provide some Imrovement Suggestions + placeholder: <This field will be rendered into MarkDown> + render: Markdown \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/performance-test-template.yaml b/.github/ISSUE_TEMPLATE/performance-test-template.yaml index 31e2966a19b..f88a0f06938 100644 --- a/.github/ISSUE_TEMPLATE/performance-test-template.yaml +++ b/.github/ISSUE_TEMPLATE/performance-test-template.yaml @@ -1,8 +1,8 @@ --- name: Performance Test and Report Generation description: Provide test file and CI will generate a report for further investigation -title: "[Performance Test: K]" -labels: ["performance-report"] +title: "[K-Performance] <Title>" +labels: ["performance", "k"] body: - type: markdown attributes: From 02b977cf6f93331998df50730ed6bcf132a2b7e6 Mon Sep 17 00:00:00 2001 From: F-WRunTime <Freeman.Wenzl@runtimeverification.com> Date: Wed, 7 Sep 2022 17:12:57 -0600 Subject: [PATCH 3/6] That was a hard file to delete! --- .../-kip----k-improvement-proposal.md | 96 ------------------- 1 file changed, 96 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/-kip----k-improvement-proposal.md diff --git a/.github/ISSUE_TEMPLATE/-kip----k-improvement-proposal.md b/.github/ISSUE_TEMPLATE/-kip----k-improvement-proposal.md deleted file mode 100644 index 73575132d6e..00000000000 --- a/.github/ISSUE_TEMPLATE/-kip----k-improvement-proposal.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -name: "[KIP] - K Improvement Proposal" -about: Suggest a new feature for the K Language -title: "[KIP] - DESCRIBE KIP HERE" -labels: kip -assignees: '' - ---- - -First fill in the title (template provided). -Example: - -[KIP] - Use `foo` instead of `syntax` for declaring productions - -Motivation ----------- - -- Is there a semantics which you are developing which this feature would simplify? -- Is this feature similar to a feature offered by another programming language? -- Any other motivation? - -Example K Code --------------- - -Provide a small, complete, and self-contained example of what you would like to be able to say in K. -Try to make it so that your example would `kompile` correctly if this feature were implemented. - -Example: - -I would like to be able to use `foo` instead of `syntax` for declaring AST nodes: - -``` -module MYMODULE - imports BOOL - - foo Bar ::= "newBar" [function] - syntax Bar ::= "anotherBar" -endmodule -``` - -Documentation -------------- - -Provide (initial) documentation for this new feature. - -Example: - -A user may choose to use `foo` instead of `syntax` when declaring new production in K. -The meaning is exactly identical to `syntax`, but it requires 3 fewer characters to type, which saves on average 17s/month of semantics development. - -Potential Alternatives/Work-arounds ------------------------------------ - -If there is an obvious alternative way to implement this or an existing work-around, please briefly describe it here. - -Example: - -- Users could also type `fo`, because it's even shorter. But because they are already pressing the `o` key, pressing `o` a second time has been shown to only increase the time per month by 2s (compared to the 17s overall), which means that the added benefit of programmers being familiar with the word `foo` outweighs the performance gains. -- The keyword `bar` was also considered, but because `foo` has double-`o`, it's faster to type. - -Testing Approach ----------------- - -If the feature is directly testable using the existing K test harness, provide an example test input/output here. -Otherwise, describe the testing approach you would use for this feature. - -Example: - -We could: - -- Modify `IMP` in the tutorial to use `foo` instead of `syntax` in a few places, or -- Add the following definition to `tests/regression-new/foo-syntax.k`: - - ``` - module TEST - imports BOOL - configuration <k> $PGM:A </k> - - syntax A ::= "blah" - foo A ::= "halb" - - rule <k> blah => halb ... </k> - endmodule - ``` - - with the following input file: - - ``` - blah - ``` - - and expected output: - - ``` - halb - ``` From 9983896b5d6f1cf2a793066b825754e7cf21e215 Mon Sep 17 00:00:00 2001 From: F-WRunTime <Freeman.Wenzl@runtimeverification.com> Date: Wed, 7 Sep 2022 17:28:51 -0600 Subject: [PATCH 4/6] Fine tuning templates --- .github/ISSUE_TEMPLATE/bug-report.yaml | 13 ++++++++----- .../ISSUE_TEMPLATE/performance-test-template.yaml | 7 ++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml index c05bdbdaa33..1854915f036 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -3,23 +3,26 @@ name: "[K-Bug] Report" description: Create a bug report to help us improve title: "[K-Bug] <TITLE>" labels: ["k-bug", "k"] - +assignees: + - ana-pantilie + body: - type: markdown attributes: value: | # Please Fill out the Form to the best of your ability. ## Briefly what we're looking for: - ### Input Files - *Minimized* files need to produce the bug. - When providing K definitions, a _single_ file should be provided (if possible), and as few modules and sentences as possible. - When providing programs or proofs, a _single_ program should be provided with a minimized definition which _quickly_ reproduces the issue. + ### Input Guidelines: + 1. *Minimized* files need to produce the bug. + 2. When providing K definitions, a _single_ file should be provided (if possible), and as few modules and sentences as possible. + 3. When providing programs or proofs, a _single_ program should be provided with a minimized definition which _quickly_ reproduces the issue. ### Reproduction Steps Steps to reproduce the behavior (including _code blocks_ with what to run, and _code blocks_ with resulting output). ### Expected Behavior A clear and concise description of what you expected to happen. + --------------------------------------------------------------- - type: dropdown attributes: diff --git a/.github/ISSUE_TEMPLATE/performance-test-template.yaml b/.github/ISSUE_TEMPLATE/performance-test-template.yaml index f88a0f06938..90f5b38ee20 100644 --- a/.github/ISSUE_TEMPLATE/performance-test-template.yaml +++ b/.github/ISSUE_TEMPLATE/performance-test-template.yaml @@ -8,14 +8,15 @@ body: attributes: value: | # Performance Test Form & Report Generator - ## For Internal Use Only + ## -- For Internal Use Only -- + Test Data will only be generated for RV Organization users 1. Please attach test file to kick off tests - Results will be attached to the issue after testing completes + Results will be attached to the created issue after testing completes - type: textarea attributes: - label: Please Upload Test Data File + label: Please Prepare Test Data placeholder: < Drag and Drop file here > validations: required: true \ No newline at end of file From ff391b92e8140c604a69fba670e6286f7bb24cd4 Mon Sep 17 00:00:00 2001 From: F-WRunTime <Freeman.Wenzl@runtimeverification.com> Date: Fri, 9 Sep 2022 15:07:50 -0600 Subject: [PATCH 5/6] Moving performance teplate to haskell-backend --- .../performance-test-template.yaml | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/performance-test-template.yaml diff --git a/.github/ISSUE_TEMPLATE/performance-test-template.yaml b/.github/ISSUE_TEMPLATE/performance-test-template.yaml deleted file mode 100644 index 90f5b38ee20..00000000000 --- a/.github/ISSUE_TEMPLATE/performance-test-template.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Performance Test and Report Generation -description: Provide test file and CI will generate a report for further investigation -title: "[K-Performance] <Title>" -labels: ["performance", "k"] -body: - - type: markdown - attributes: - value: | - # Performance Test Form & Report Generator - ## -- For Internal Use Only -- - Test Data will only be generated for RV Organization users - 1. Please attach test file to kick off tests - - Results will be attached to the created issue after testing completes - - - type: textarea - attributes: - label: Please Prepare Test Data - placeholder: < Drag and Drop file here > - validations: - required: true \ No newline at end of file From ae37730dce0e874177b142372839a583a810bdd9 Mon Sep 17 00:00:00 2001 From: F-WRunTime <Freeman.Wenzl@runtimeverification.com> Date: Fri, 9 Sep 2022 15:09:47 -0600 Subject: [PATCH 6/6] Removing assignee --- .github/ISSUE_TEMPLATE/bug-report.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml index 1854915f036..62016eace9a 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -3,8 +3,6 @@ name: "[K-Bug] Report" description: Create a bug report to help us improve title: "[K-Bug] <TITLE>" labels: ["k-bug", "k"] -assignees: - - ana-pantilie body: - type: markdown @@ -91,4 +89,4 @@ body: - type: markdown attributes: value: | - Thanks for taking the time to fill out this bug report. \ No newline at end of file + Thanks for taking the time to fill out this bug report.