From d851ea46c21c16c762d4940ffd0ff7f8372ed511 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 15 Jul 2024 07:12:52 -0400 Subject: [PATCH 1/2] Add "take" workflow for contributors to assign themselves to tickets --- .github/workflows/take.yml | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/take.yml diff --git a/.github/workflows/take.yml b/.github/workflows/take.yml new file mode 100644 index 000000000000..86dc190add1d --- /dev/null +++ b/.github/workflows/take.yml @@ -0,0 +1,41 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: Assign the issue via a `take` comment +on: + issue_comment: + types: created + +permissions: + issues: write + +jobs: + issue_assign: + runs-on: ubuntu-latest + if: (!github.event.issue.pull_request) && github.event.comment.body == 'take' + concurrency: + group: ${{ github.actor }}-issue-assign + steps: + - run: | + CODE=$(curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -LI https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees/${{ github.event.comment.user.login }} -o /dev/null -w '%{http_code}\n' -s) + if [ "$CODE" -eq "204" ] + then + echo "Assigning issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}" + curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"assignees": ["${{ github.event.comment.user.login }}"]}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees + else + echo "Cannot assign issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}" + fi \ No newline at end of file From 361723c5a3c2722575a137eddb41b691bf756d37 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 15 Jul 2024 07:16:36 -0400 Subject: [PATCH 2/2] Copy datafusion Finding and Creating Issues to work on --- CONTRIBUTING.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e0d792f5e463..a53604d0f6ae 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,7 +25,41 @@ We welcome and encourage contributions of all kinds, such as: 2. Documentation improvements 3. Code (PR or PR Review) -In addition to submitting new PRs, we have a healthy tradition of community members helping review each other's PRs. Doing so is a great way to help the community as well as get more familiar with Rust and the relevant codebases. +In addition to submitting new PRs, we have a healthy tradition of community +members helping review each other's PRs. Doing so is a great way to help the +community as well as get more familiar with Rust and the relevant codebases. + +## Finding and Creating Issues to Work On + +You can find a curated [good-first-issue] list to help you get started. + +Arrow-rs is an open contribution project, and thus there is no particular +project imposed deadline for completing any issue or any restriction on who can +work on an issue, nor how many people can work on an issue at the same time. + +Contributors drive the project forward based on their own priorities and +interests and thus you are free to work on any issue that interests you. + +If someone is already working on an issue that you want or need but hasn't +been able to finish it yet, you should feel free to work on it as well. In +general it is both polite and will help avoid unnecessary duplication of work if +you leave a note on an issue when you start working on it. + +If you want to work on an issue which is not already assigned to someone else +and there are no comment indicating that someone is already working on that +issue then you can assign the issue to yourself by submitting a single word +comment `take`. This will assign the issue to yourself. However, if you are +unable to make progress you should unassign the issue by using the `unassign me` +link at the top of the issue page (and ask for help if are stuck) so that +someone else can get involved in the work. + +If you plan to work on a new feature that doesn't have an existing ticket, it is +a good idea to open a ticket to discuss the feature. Advanced discussion often +helps avoid wasted effort by determining early if the feature is a good fit for +Arrow-rs before too much time is invested. It also often helps to discuss your +ideas with the community to get feedback on implementation. + +[good-first-issue]: https://github.com/apache/arrow-rs/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 ## Developer's guide to Arrow Rust