-
Notifications
You must be signed in to change notification settings - Fork 27
CI: Add jobs to mirror issues #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
name: Create or Label Mirror Issue | ||
on: | ||
discussion: | ||
types: | ||
- labeled | ||
issues: | ||
types: | ||
- labeled | ||
|
||
env: | ||
GH_TOKEN: ${{ secrets.DUCKDBLABS_BOT_TOKEN }} | ||
TITLE_PREFIX: "[duckdb-python/#${{ github.event.issue.number || github.event.discussion.number }}]" | ||
PUBLIC_ISSUE_TITLE: ${{ github.event.issue.title }} | ||
|
||
jobs: | ||
add_needs_reproducible_example_comment: | ||
if: github.event.label.name == 'needs reproducible example' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Add comment | ||
run: | | ||
cat > needs-reproducible-example-comment.md << EOF | ||
Thanks for opening this issue in the DuckDB-Python project's issue tracker! To resolve this issue, our team needs a reproducible example. This includes: | ||
|
||
* A source code snippet which reproduces the issue. | ||
* The snippet should be self-contained, i.e., it should contain all imports and should use relative paths instead of hard coded paths (please avoid \`/Users/JohnDoe/...\`). | ||
* A lot of issues can be reproduced with plain SQL code executed in the [DuckDB command line client](https://duckdb.org/docs/api/cli/overview). For such issues, please open an issue in the [main DuckDB repository](https://github.com/duckdb/duckdb/). | ||
* If the script needs additional data, please share the data as a CSV, JSON, or Parquet file. Unfortunately, we cannot fix issues that can only be reproduced with a confidential data set. [Support contracts](https://duckdblabs.com/#support) allow sharing confidential data with the core DuckDB team under NDA. | ||
|
||
For more detailed guidelines on how to create reproducible examples, please visit Stack Overflow's [“Minimal, Reproducible Example”](https://stackoverflow.com/help/minimal-reproducible-example) page. | ||
EOF | ||
gh issue comment --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --body-file needs-reproducible-example-comment.md | ||
|
||
create_or_label_mirror_issue: | ||
if: github.event.label.name == 'reproduced' || github.event.label.name == 'under review' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Remove 'needs triage' / 'under review' if 'reproduced' | ||
if: github.event.label.name == 'reproduced' | ||
run: | | ||
gh issue edit --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --remove-label "needs triage" --remove-label "under review" --remove-label "needs reproducible example" | ||
|
||
- name: Remove 'needs triage' / 'reproduced' if 'under review' | ||
if: github.event.label.name == 'under review' | ||
run: | | ||
gh issue edit --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --remove-label "needs triage" --remove-label "reproduced" | ||
|
||
- name: Remove 'needs triage' if 'expected behavior' | ||
if: github.event.label.name == 'expected behavior' | ||
run: | | ||
gh issue edit --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --remove-label "needs triage" | ||
|
||
- name: Get mirror issue number | ||
run: | | ||
gh issue list --repo duckdblabs/duckdb-internal --search "${TITLE_PREFIX}" --json title,number --state all --jq ".[] | select(.title | startswith(\"$TITLE_PREFIX\")).number" > mirror_issue_number.txt | ||
echo "MIRROR_ISSUE_NUMBER=$(cat mirror_issue_number.txt)" >> $GITHUB_ENV | ||
|
||
- name: Print whether mirror issue exists | ||
run: | | ||
if [ "$MIRROR_ISSUE_NUMBER" == "" ]; then | ||
echo "Mirror issue with title prefix '$TITLE_PREFIX' does not exist yet" | ||
else | ||
echo "Mirror issue with title prefix '$TITLE_PREFIX' exists with number $MIRROR_ISSUE_NUMBER" | ||
fi | ||
|
||
- name: Set label environment variable | ||
run: | | ||
if ${{ github.event.label.name == 'reproduced' }}; then | ||
echo "LABEL=reproduced" >> $GITHUB_ENV | ||
echo "UNLABEL=under review" >> $GITHUB_ENV | ||
else | ||
echo "LABEL=under review" >> $GITHUB_ENV | ||
echo "UNLABEL=reproduced" >> $GITHUB_ENV | ||
fi | ||
|
||
- name: Create or label issue | ||
run: | | ||
if [ "$MIRROR_ISSUE_NUMBER" == "" ]; then | ||
gh issue create --repo duckdblabs/duckdb-internal --label "$LABEL" --label "Python" --title "$TITLE_PREFIX - $PUBLIC_ISSUE_TITLE" --body "See https://github.com/duckdb/duckdb-python/issues/${{ github.event.issue.number || github.event.discussion.number }}" | ||
else | ||
gh issue edit --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --remove-label "$UNLABEL" --add-label "$LABEL" | ||
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
name: Update Mirror Issue | ||
on: | ||
discussion: | ||
types: | ||
- labeled | ||
issues: | ||
types: | ||
- closed | ||
- reopened | ||
|
||
env: | ||
GH_TOKEN: ${{ secrets.DUCKDBLABS_BOT_TOKEN }} | ||
TITLE_PREFIX: "[duckdb-python/#${{ github.event.issue.number || github.event.discussion.number }}]" | ||
|
||
jobs: | ||
update_mirror_issue: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Get mirror issue number | ||
run: | | ||
gh issue list --repo duckdblabs/duckdb-internal --search "${TITLE_PREFIX}" --json title,number --state all --jq ".[] | select(.title | startswith(\"$TITLE_PREFIX\")).number" > mirror_issue_number.txt | ||
echo "MIRROR_ISSUE_NUMBER=$(cat mirror_issue_number.txt)" >> $GITHUB_ENV | ||
|
||
- name: Print whether mirror issue exists | ||
run: | | ||
if [ "$MIRROR_ISSUE_NUMBER" == "" ]; then | ||
echo "Mirror issue with title prefix '$TITLE_PREFIX' does not exist yet" | ||
else | ||
echo "Mirror issue with title prefix '$TITLE_PREFIX' exists with number $MIRROR_ISSUE_NUMBER" | ||
fi | ||
|
||
- name: Add comment with status to mirror issue | ||
run: | | ||
if [ "$MIRROR_ISSUE_NUMBER" != "" ]; then | ||
gh issue comment --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --body "The issue has been ${{ github.event.action }} (https://github.com/duckdb/duckdb-python/issues/${{ github.event.issue.number || github.event.discussion.number }})." | ||
fi | ||
|
||
- name: Add closed label to mirror issue | ||
if: github.event.action == 'closed' | ||
run: | | ||
if [ "$MIRROR_ISSUE_NUMBER" != "" ]; then | ||
gh issue edit --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --add-label "public closed" --remove-label "public reopened" | ||
fi | ||
|
||
- name: Reopen mirror issue and add reopened label | ||
if: github.event.action == 'reopened' | ||
run: | | ||
if [ "$MIRROR_ISSUE_NUMBER" != "" ]; then | ||
gh issue reopen --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER | ||
gh issue edit --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --add-label "public reopened" --remove-label "public closed" | ||
fi |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.