Skip to content

Large performance gap on Windows between Python installs (Store vs. official installer) when exporting Parquet via DuckDB #14

Large performance gap on Windows between Python installs (Store vs. official installer) when exporting Parquet via DuckDB

Large performance gap on Windows between Python installs (Store vs. official installer) when exporting Parquet via DuckDB #14

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