diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..46317b389 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,244 @@ +name: Bug report +description: Create a report to help us improve +labels: ["S-triage", "C-bug"] +body: + - type: markdown + attributes: + value: | + ## Thank you for taking the time to report a bug in **rustic**! + + Please fill out the following template to help us reproduce the issue and fix it as soon as possible. + + - type: markdown + attributes: + value: | + Please note that this is only for reporting bugs in **rustic** itself. + + If you have a question about how to use **rustic**, please use the [discussions](https://github.com/rustic-rs/rustic/discussions) instead. + + - type: checkboxes + id: product-scope + attributes: + label: Which part(s) of the rustic ecosystem are we talking about? + description: You may select more than one. + options: + - label: rustic + - label: rustic_beta + - label: rustic_core + + - type: textarea + id: current-behavior + attributes: + label: Current Behavior + description: A clear and concise description of what you're experiencing and what the bug is. + validations: + required: true + + - type: textarea + id: reproduction-steps + attributes: + label: Reproduction steps + description: How do you trigger this bug? Please walk us through it step by step. + value: | + 1. + 2. + 3. + ... + render: bash + validations: + required: false + + - type: textarea + id: bug-prevalence + attributes: + label: Bug prevalence + description: How often do you encounter this bug? + placeholder: "Example: Whenever I run `rustic restore` (100% of the time), or sometimes when I run `rustic restore` (50% of the time)" + validations: + required: true + + - type: textarea + id: code-sample + attributes: + label: If it's a bug in rustic_core or anything code related, please provide a reproducible example for the bug below. + description: A short code snippet that can be used to reproduce the bug. Do NOT paste screenshots of code! + render: Rust + validations: + required: false + + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen. + validations: + required: true + + - type: markdown + attributes: + value: | + ## Environment + + Please fill out the following information about your environment. + + - type: dropdown + id: install-type + attributes: + label: Where did you get rustic from? + multiple: false + options: + - Built from source + - Github Releases + - Binary from Package-management System + - Other (Please specify below) + default: 0 + validations: + required: true + - type: input + id: install-type-other + attributes: + label: Other install type + description: "Where else did you get **rustic** from?" + placeholder: "Example: I installed it with `cargo binstall rustic`." + validations: + required: false + + - type: textarea + id: kernel-version + attributes: + label: Kernel Version/OS Build + description: | + Which kernel version/OS build are you running on? Please be as specific as possible. + + - *nix: run `uname -a` in the terminal + - Windows: press `Win + R`, enter `System` and copy `OS Build` from Windows specifications (on Win11) + - MacOS: run `uname -av` in the terminal + + examples: + - **Operating System**: Windows 10 + - **Kernel Version**: Linux MyPC 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux + - **OS build**: Windows 11 Pro 22H2 Build 22621.2134 + value: | + - **Operating System**: + - **Kernel Version**: + - **OS build**: + validations: + required: true + + - type: input + id: rustic-version + attributes: + label: "`rustic` version" + description: | + Which version of `rustic` are you running? Please be as specific as possible. + + Please run `rustic --version` and copy the output here. + + example: + **rustic**: rustic v0.5.4 + value: | + **rustic**: + validations: + required: true + + - type: textarea + id: additional-context + attributes: + label: Anything else? + description: | + Links? References? Anything that will give us more context about the issue you are encountering! + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false + + - type: markdown + attributes: + value: | + ## Questionnaire + + Please fill out the following questionnaire to help us improve **rustic**. + + - type: dropdown + id: user-friendliness + attributes: + label: | + How would you rate the ease of use of rustic? + description: | + Consider a scale from -2 (Very difficult) to +2 (Very easy). + options: + - "-2 - Very Difficult" + - "-1 - Difficult" + - "0 - Neutral" + - "+1 - Easy" + - "+2 - Very Easy" + default: 3 + validations: + required: true + + - type: dropdown + id: clarity-of-information + attributes: + label: | + Was the information and feedback provided by rustic clear and understandable? + description: | + Consider a scale from -2 (Very unclear) to +2 (Very clear). + options: + - "-2 - Very Unclear" + - "-1 - Somewhat Unclear" + - "0 - Neutral" + - "+1 - Clear" + - "+2 - Very Clear" + default: 3 + validations: + required: true + + - type: dropdown + id: satisfaction + attributes: + label: | + Overall, how satisfied are you with rustic? + description: | + Consider a scale from -2 (I'm mad as hell, and I can't take it anymore) to +2 (I can't go back to any other backup solution anymore). + options: + - "-2 - Very Dissatisfied" + - "-1 - Dissatisfied " + - "0 - Neutral" + - "+1 - Satisfied" + - "+2 - Very Satisfied" + default: 3 + validations: + required: true + + - type: checkboxes + id: checklist-confirmation + attributes: + label: Checklist + description: | + Please check the following: + options: + - label: "I have verified that I am using the latest stable version of rustic." + required: true + - label: "I have searched the discussions (see link below) and it wasn't discussed before." + required: true + - label: "I have searched the issue list (see link below) and am not opening a duplicate issue." + required: true + - label: "I have verified the issue still exists in rustic_beta (see link below)." + required: true + + - type: markdown + attributes: + value: | + Please make sure, you have searched/tried the following resources before submitting this issue: + + * search our [documentation](https://rustic.cli.rs/docs/) + * search our [discussions](https://github.com/rustic-rs/rustic/discussions) + * search the [issue list (incl. closed issues)](https://github.com/rustic-rs/rustic/issues?q=is%3Aissue) + * verify issue still exists in [rustic_beta (built from the main branch)](https://github.com/rustic-rs/rustic-beta) + + - type: markdown + attributes: + value: | + ## Thank you for the report! + + ### We'll look into it as soon as possible. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..b44e9334f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,164 @@ +name: Feature request +description: | + Create a feature requests to let us know what you wish us to improve. Please search for existing issues first. Also see our CONTRIBUTING.md. +labels: ["S-triage", "C-enhancement"] +body: + - type: markdown + attributes: + value: | + ## Thank you for taking the time to propose a new feature to **rustic**! + + Please fill out the following template to help us understanding why you think this feature is needed for rustic. + + - type: markdown + attributes: + value: | + Please note that this is only for proposing new features to **rustic** itself. + + If you have a question about how to use **rustic**, please use the [discussions](https://github.com/rustic-rs/rustic/discussions) instead. + + - type: checkboxes + id: product-scope + attributes: + label: Which part(s) of the rustic ecosystem are we talking about? + description: You may select more than one. + options: + - label: rustic + - label: rustic_beta + - label: rustic_core + + - type: textarea + id: current-behavior + attributes: + label: Current Behavior + description: A clear and concise description of what you're experiencing and what you are missing out on. + validations: + required: false + + - type: textarea + id: problem-to-be-solved + attributes: + label: Problem to be solved + description: | + Please present a concise description of the problem to be addressed by this feature request. + + Please be clear what parts of the problem are considered to be in-scope and out-of-scope. + validations: + required: true + + - type: textarea + id: user-stories + attributes: + label: User stories + description: | + Can you provide us with at least one user story? + + A user story is a description of a particular use case of the feature. + It describes the type of user (you), what they want and why. + + A simple template is: + + "As a < type of user >, I want to < some goal > so that I (can) < some reason >." + value: | + As a < type of user >, I want to < some goal > so that I (can) < some reason >. + validations: + required: false + + - type: markdown + attributes: + value: | + ## Solution + + - type: textarea + id: user-solution + attributes: + label: Suggest a solution + description: | + A concise description of your preferred solution. + + Things to address include: + + * Details of the technical implementation + * Tradeoffs made in design decisions + * Caveats and considerations for the future + + If there are multiple solutions, please present each one separately. + Save comparisons for the very end. + validations: + required: false + + - type: textarea + id: additional-context + attributes: + label: Anything else? + description: | + Links? References? Anything that will give us more context about the proposal you are making! + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false + + - type: markdown + attributes: + value: | + ## Questionnaire + + Please fill out the following questionnaire to help us improve **rustic**. + + - type: dropdown + id: user-friendliness + attributes: + label: | + How would you rate the ease of use of rustic? + description: | + Consider a scale from -2 (Very difficult) to +2 (Very easy). + options: + - "-2 - Very Difficult" + - "-1 - Difficult" + - "0 - Neutral" + - "+1 - Easy" + - "+2 - Very Easy" + default: 3 + validations: + required: true + + - type: dropdown + id: clarity-of-information + attributes: + label: | + Was the information and feedback provided by rustic clear and understandable? + description: | + Consider a scale from -2 (Very unclear) to +2 (Very clear). + options: + - "-2 - Very Unclear" + - "-1 - Somewhat Unclear" + - "0 - Neutral" + - "+1 - Clear" + - "+2 - Very Clear" + default: 3 + validations: + required: true + + - type: dropdown + id: satisfaction + attributes: + label: | + Overall, how satisfied are you with rustic? + description: | + Consider a scale from -2 (I'm mad as hell, and I can't take it anymore) to +2 (I can't go back to any other backup solution anymore). + options: + - "-2 - Very Dissatisfied" + - "-1 - Dissatisfied " + - "0 - Neutral" + - "+1 - Satisfied" + - "+2 - Very Satisfied" + default: 3 + validations: + required: true + + - type: markdown + attributes: + value: | + ## Thank you for the feature request! + + ### We'll look into this as soon as possible. diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 000000000..dba21e9d2 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,27 @@ + + +### Here is the issue related to this PR: (Replace this with the corresponding issue number) + + + +contributions will be licensed under: + +### Checklist + +- [ ] I have read the [CONTRIBUTING.md](/CONTRIBUTING.md) document. +- [ ] I have added myself to the [AUTHORS.md](/AUTHORS.md) file. +- [ ] I grant the project the right to include and distribute the code under the + [Apache License, Version 2.0](./LICENSE-APACHE) and the + [MIT license](./LICENSE-MIT) license (and I have the right to grant these + rights). +- [ ] I have added tests to cover my changes. +- [ ] All new and existing tests passed. +- [ ] I have updated the internal and + [external documentation](https://github.com/rustic-rs/docs) accordingly. diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 000000000..3ee44920e --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,25 @@ +# Security Policy + +## Supported Versions + +0.Y.Z versions are only supported for the last minor (`Y`) version. + +When `rustic` reaches 1.0.0, we will reiterate on this security policy. + +## Reporting a Vulnerability + +Responsible disclosure of security issues is highly appreciated. + +**Please do not report or discuss security vulnerabilities through public GitHub +issues, discussions, or pull requests.** + +Issues can be reported privately to the maintainers by opening a +[Security vulnerability report](https://github.com/rustic-rs/rustic/security/advisories/new). + +### Preferences + +- Please provide detailed reports with reproducible steps and a clearly defined + impact. +- Include the version number of the vulnerable package in your report. +- Fixes are most welcome. A private PR can be created from the security report + to work on and discuss the patch. diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 000000000..6b254deeb --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,29 @@ +# `rustic`: Authors & Contributors + +Everyone who has contributed to the `rustic` project is listed here. By adding +your name to this list, you agree to the license terms of this project. + +You agree, that your contributions will be licensed under: + +- [Apache License, Version 2.0](./LICENSE-APACHE) and +- [MIT license](./LICENSE-MIT) + +| Name/Alias | Contact (Email or GitHub) | Agreement to License | +| --------------- | ------------------------- | -------------------- | +| Alexander Weiss | @aawsome | Yes | +| simonsan | @simonsan | Yes | + +--- + +To add your name to this list: + +1. Fork the repository. +2. Edit this `AUTHORS.md` file to add your details in the format above. +3. Create a pull request. + +Thank you to all our contributors! + +--- + +For more details on the license, please see +[Contributors guidelines](./CONTRIBUTING.md).