diff --git a/.github/label-commenter-config.yml b/.github/label-commenter-config.yml new file mode 100644 index 0000000..514ede4 --- /dev/null +++ b/.github/label-commenter-config.yml @@ -0,0 +1,52 @@ +comment: + # header: "Please note the following requirement:" + footer: "\ + ---\n\n + > Be sure to [join the community](https://slack.meshery.io), if you haven't yet and please leave a :star: [star on the project](../stargazers) :smile: + " + +labels: + - name: issue/design required + labeled: + issue: + body: This issue has been labeled with 'design-required'. Note that prior to commencing on implementation, a design specification needs to be created and reviewed for approval. See [Creating a Functional Specification](https://docs.google.com/document/d/1RP3IWLc-MiQS-QYasqCoVuCH7--G87p5ezE5f_nOzB8/edit?usp=sharing) to create a design spec. + action: open + - name: issue/remind + labeled: + issue: + body: Checking in... it has been awhile since we've heard from you on this issue. Are you still working on it? Please let us know and please don't hesitate to contact a [MeshMate](https://layer5.io/community/meshmates/) or any other [community member](https://layer5.io/community/members) for assistance. + action: open + pr: + body: Checking in... it has been awhile since we've heard from you on this issue. Are you still working on it? Please let us know and please don't hesitate to contact a [MeshMate](https://layer5.io/community/meshmates/) or any other [community member](https://layer5.io/community/members) for assistance. + action: open + - name: issue/dco + labeled: + issue: + body: "🚨 Alert! Git Police! We couldn’t help but notice that one or more of your commits is missing a sign-off. _A what?_ A commit sign-off (your email address).\n\n + To amend the commits in this PR with your signoff using the instructions provided in the DCO check. \n\n + To configure your dev environment to automatically signoff on your commits in the future, see [these instructions](https://github.com/meshery/meshery/blob/master/CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)." + action: open + pr: + body: "🚨 Alert! Git Police! We couldn’t help but notice that one or more of your commits is missing a sign-off. _A what?_ A commit sign-off (your email address).\n\n + To amend the commits in this PR with your signoff using the instructions provided in the DCO check. \n\n + To configure your dev environment to automatically signoff on your commits in the future, see [these instructions](https://github.com/meshery/meshery/blob/master/CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)." + action: open + - name: component/ui + labeled: + issue: + body: This issue has been labeled with 'component/ui'. 🧰 Here are docs on [Contributing to Meshery UI](https://docs.meshery.io/project/contributing/contributing-ui). 🎨 Here is the [Meshery UI Figma File](https://www.figma.com/file/SMP3zxOjZztdOLtgN4dS2W/Meshery-UI?node-id=4%3A0) File. Lastly, here are docs on [Contributing to Meshery's End-to-End Tests Using Cypress](https://docs.meshery.io/project/contributing/contributing-cypress). + action: open + pr: + body: This PR has been labeled with 'component/ui'. 🧰 Here are docs on [Contributing to Meshery UI](https://docs.meshery.io/project/contributing/contributing-ui). 🎨 Here is the [Meshery UI Figma File](https://www.figma.com/file/SMP3zxOjZztdOLtgN4dS2W/Meshery-UI?node-id=4%3A0) File. Lastly, here are docs on [Contributing to Meshery's End-to-End Tests Using Cypress](https://docs.meshery.io/project/contributing/contributing-cypress) + action: open + - name: component/mesheryctl + labeled: + issue: + body: This issue has been labeled with 'component/mesheryctl'. Note that after making changes you need to update it in the [mesheryctl command tracker](https://docs.google.com/spreadsheets/d/1q63sIGAuCnIeDs8PeM-0BAkNj8BBgPUXhLbe1Y-318o/edit#gid=0) spreadsheet. + action: open + pr: + body: This PR has been labeled with 'component/mesheryctl'. Note that after making changes you need to update it in the [mesheryctl command tracker](https://docs.google.com/spreadsheets/d/1q63sIGAuCnIeDs8PeM-0BAkNj8BBgPUXhLbe1Y-318o/edit#gid=0) spreadsheet. + action: open + # pr: + # body: Hi, please note that this issue will need an approved design specification before implementation proceeds. See [Creating a Functional Specification](https://docs.google.com/document/d/1RP3IWLc-MiQS-QYasqCoVuCH7--G87p5ezE5f_nOzB8/edit?usp=sharing) to create a design spec. + # action: open diff --git a/.github/workflows/label-commenter-config.yml b/.github/workflows/label-commenter-config.yml new file mode 100644 index 0000000..336dc9a --- /dev/null +++ b/.github/workflows/label-commenter-config.yml @@ -0,0 +1,54 @@ +comment: + # header: "Please note the following requirement:" + footer: "\ + ---\n\n + > Be sure to [join the community](https://slack.meshery.io), if you haven't yet and please leave a :star: [star on the project](../stargazers) :smile: + " + +labels: + - name: issue/design required + labeled: + issue: + body: This issue has been labeled with 'design-required'. Note that prior to commencing on implementation, a design specification needs to be created and reviewed for approval. See [Creating a Functional Specification](https://docs.google.com/document/d/1RP3IWLc-MiQS-QYasqCoVuCH7--G87p5ezE5f_nOzB8/edit?usp=sharing) to create a design spec. + action: open + - name: issue/remind + labeled: + issue: + body: Checking in... it has been awhile since we've heard from you on this issue. Are you still working on it? Please let us know and please don't hesitate to contact a [MeshMate](https://layer5.io/community/meshmates/) or any other [community member](https://layer5.io/community/members) for assistance. + action: open + pr: + body: Checking in... it has been awhile since we've heard from you on this issue. Are you still working on it? Please let us know and please don't hesitate to contact a [MeshMate](https://layer5.io/community/meshmates/) or any other [community member](https://layer5.io/community/members) for assistance. + action: open + - name: issue/dco + labeled: + issue: + body: "🚨 Alert! Git Police! We couldn’t help but notice that one or more of your commits is missing a sign-off. _A what?_ A commit sign-off (your email address).\n\n + To amend the commits in this PR with your signoff using the instructions provided in the DCO check. \n\n + To configure your dev environment to automatically signoff on your commits in the future, see [these instructions](https://github.com/meshery/meshery/blob/master/CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)." + action: open + pr: + body: "🚨 Alert! Git Police! We couldn’t help but notice that one or more of your commits is missing a sign-off. _A what?_ A commit sign-off (your email address).\n\n + To amend the commits in this PR with your signoff using the instructions provided in the DCO check. \n\n + To configure your dev environment to automatically signoff on your commits in the future, see [these instructions](https://github.com/meshery/meshery/blob/master/CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)." + action: open + - name: component/ui + labeled: + issue: + body: This issue has been labeled with 'component/ui'. 🧰 Here are docs on [Contributing to Meshery UI](https://docs.meshery.io/project/contributing/contributing-ui). 🎨 Here is the [Meshery UI Figma File](https://www.figma.com/file/SMP3zxOjZztdOLtgN4dS2W/Meshery-UI?node-id=4%3A0) File. Lastly, here are docs on [Contributing to Meshery's End-to-End Tests Using Cypress](https://docs.meshery.io/project/contributing/contributing-cypress). + action: open + pr: + body: This PR has been labeled with 'component/ui'. 🧰 Here are docs on [Contributing to Meshery UI](https://docs.meshery.io/project/contributing/contributing-ui). 🎨 Here is the [Meshery UI Figma File](https://www.figma.com/file/SMP3zxOjZztdOLtgN4dS2W/Meshery-UI?node-id=4%3A0) File. Lastly, here are docs on [Contributing to Meshery's End-to-End Tests Using Cypress](https://docs.meshery.io/project/contributing/contributing-cypress) + action: open + - name: component/mesheryctl + labeled: + issue: + body: This issue has been labeled with 'component/mesheryctl'. Note that after making changes you need to update it in the [mesheryctl command tracker](https://docs.google.com/spreadsheets/d/1q63sIGAuCnIeDs8PeM-0BAkNj8BBgPUXhLbe1Y-318o/edit#gid=0) spreadsheet. + action: open + pr: + body: This PR has been labeled with 'component/mesheryctl'. Note that after making changes you need to update it in the [mesheryctl command tracker](https://docs.google.com/spreadsheets/d/1q63sIGAuCnIeDs8PeM-0BAkNj8BBgPUXhLbe1Y-318o/edit#gid=0) spreadsheet. + action: open + # pr: + # body: Hi, please note that this issue will need an approved design specification before implementation proceeds. See [Creating a Functional Specification](https://docs.google.com/document/d/1RP3IWLc-MiQS-QYasqCoVuCH7--G87p5ezE5f_nOzB8/edit?usp=sharing) to create a design spec. + # action: open + + diff --git a/.github/workflows/slack.yml b/.github/workflows/slack.yml index 59902f7..5256cc5 100644 --- a/.github/workflows/slack.yml +++ b/.github/workflows/slack.yml @@ -1,30 +1,30 @@ name: Slack Notify -on: +on: watch: types: [started] jobs: star-notify: if: github.event_name == 'watch' name: Notify Slack on star - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - - name: Get current star count - run: | - echo "STARS=$(curl --silent 'https://api.github.com/repos/${{github.repository}}' -H 'Accept: application/vnd.github.preview' | jq '.stargazers_count')" >> $GITHUB_ENV - - name: Notify slack - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} - uses: pullreminders/slack-action@master - with: - args: '{\"channel\":\"CSK7N9TGX\",\"text\":\"${{ github.actor }} just starred ${{github.repository}}! (https://github.com/${{github.repository}}/stargazers) Total ⭐️: ${{env.STARS}}\"}' + - name: Get current star count + run: | + echo "STARS=$(curl --silent 'https://api.github.com/repos/${{github.repository}}' -H 'Accept: application/vnd.github.preview' | jq '.stargazers_count')" >> $GITHUB_ENV + - name: Notify slack + env: + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} + uses: pullreminders/slack-action@master + with: + args: '{\"channel\":\"CSK7N9TGX\",\"text\":\"${{ github.actor }} just starred ${{github.repository}}! (https://github.com/${{github.repository}}/stargazers) Total ⭐️: ${{env.STARS}}\"}' good-first-issue-notify: - if: github.event_name == 'issues' && github.event.label.name == 'good first issue' || github.event.label.name == 'first-timers-only' + if: github.event_name == 'issues' && github.event.label.name == 'good first issue' || github.event.label.name == 'first-timers-only' name: Notify Slack for new good-first-issue - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Notify slack env: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} uses: pullreminders/slack-action@master with: - args: '{\"channel\":\"C019426UBNY\",\"text\":\"A good first issue label was just added to ${{github.event.issue.html_url}}.\"}' + args: '{\"channel\":\"C019426UBNY\",\"text\":\"A good first issue label was just added to ${{github.event.issue.html_url}}.\"}' \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 14db7cc..7404054 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,6 +9,55 @@ Not sure where to start? First, see the [newcomers welcome guide](https://docs.g - General Contribution Flow - Developer Certificate of Origin + ## Issues & Pull Requests + +### Creating an Issue + +Before **creating** an Issue i.e for `features`/`bugs`/`improvements` please follow these steps: + + +1. Search existing Issues before creating a new Issue (look to see if the Issue has already been created). +1. If it doesn't exist create a new Issue giving as much context as possible (please take note and select the correct Issue type, for example `bug`, `documentation` or `feature`. +1. If you wish to work on the Issue once it has been triaged, please include this in your Issue description. + +### Working on an Issue + +Before working on an existing Issue please follow these steps: + +1. Comment asking for the Issue to be assigned to you. +1. To best position yourself for Issues assignment, we recommend that you: + 1. Confirm that you have read the CONTRIBUTING.md. + 1. Have a functional development environment (have built and are able to run the project). + 1. Convey your intended approach to solving the issue. + 1. Put each of these items in writing in one or more comments. +1. After the Issue is assigned to you, you can start working on it. +1. In general, **only** start working on this Issue (and open a Pull Request) when it has been assigned to you. Doing so will prevent confusion, duplicate work (some of which may go unaccepted given its duplicity), incidental stepping on toes, and the headache involved for maintainers and contributors alike as Issue assignments collide and heads bump together. +1. Reference the Issue in your Pull Request (for example `This PR fixes #123`). so that the corresponding Issue is automatically closed upon merge of your Pull Request. + +> Notes: +> +> - Check the `Assignees` box at the top of the page to see if the Issue has been assigned to someone else before requesting this be assigned to you. If the issue has a current Assignee, but appears to be inactive, politely inquire with the current Assignee as to whether they are still working on a solution and/or if you might collaborate with them. +> - Only request to be assigned an Issue if you know how to work on it. +> - If an Issue is unclear, ask questions to get more clarity before asking to have the Issue assigned to you; avoid asking "what do I do next? how do I fix this?" (see the item above this line) +> - An Issue can be assigned to multiple people, if you all agree to collaborate on the Issue (the Pull Request can contain commits from different collaborators) +> - Any Issues that has no activity after 2 weeks will be unassigned and re-assigned to someone else. + +## Reviewing Pull Requests + +We welcome everyone to review Pull Requests. It is a great way to learn, network, and support each other. + +### DOs + +- Use inline comments to explain your suggestions +- Use inline suggestions to propose changes +- Exercise patience and empathy while offering critiques of the works of others. + +### DON'Ts + +- Do not repeat feedback, this creates more noise than value (check the existing conversation), use GitHub reactions if you agree/disagree with a comment +- Do not blindly approve Pull Requests to improve your GitHub contributors graph + + ## Signing-off on Commits (Developer Certificate of Origin) To contribute to this project, you must agree to the Developer Certificate of diff --git a/README.md b/README.md index d0bd543..d7cb1d1 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@
-# Learn Layer5 (learn to service mesh) +# Learn to service mesh -The Learn Layer5 sample application is to be available for use across all service meshes that Meshery supports and is to used as: +The "Learn Layer5" sample application is to be available for use across all service meshes that Meshery supports and is to used as: - a learning device (for [service mesh workshops](https://layer5.io/workshops)) - for [Service Mesh Interface conformance](https://docs.google.com/document/d/1HL8Sk7NSLLj-9PRqoHYVIGyU6fZxUQFotrxbmfFtjwc/edit#)