diff --git a/.github/pr-welcome-community.md b/.github/pr-welcome-community.md new file mode 100644 index 000000000..c5004aad9 --- /dev/null +++ b/.github/pr-welcome-community.md @@ -0,0 +1,35 @@ +## 👋 Welcome to PyAirbyte! + +Thank you for your contribution from **{{ .repo_name }}**! We're excited to have you in the Airbyte community. + +### Testing This PyAirbyte Version + +You can test this version of PyAirbyte using the following: + +```bash +# Run PyAirbyte CLI from this branch: +uvx --from 'git+https://github.com/{{ .repo_name }}.git@{{ .branch_name }}' pyairbyte --help + +# Install PyAirbyte from this branch for development: +pip install 'git+https://github.com/{{ .repo_name }}.git@{{ .branch_name }}' +``` + +### Helpful Resources + +- [Contributing Guidelines](https://github.com/airbytehq/PyAirbyte/blob/main/docs/CONTRIBUTING.md) +- [PyAirbyte Documentation](https://docs.airbyte.com/using-airbyte/pyairbyte/getting-started) +- [API Reference](https://airbytehq.github.io/PyAirbyte/) + +### PR Slash Commands + +As needed or by request, Airbyte Maintainers can execute the following slash commands on your PR: + +- `/fix-pr` - Fixes most formatting and linting issues +- `/poetry-lock` - Updates poetry.lock file +- `/test-pr` - Runs tests with the updated PyAirbyte + +### Community Support + +If you have any questions, feel free to ask in the PR comments or join our community: +- [Airbyte Slack](https://airbytehq.slack.com/) - Join the [#pyairbyte channel](https://airbytehq.slack.com/archives/C06FZ238P8W) +- [GitHub Discussions](https://github.com/airbytehq/PyAirbyte/discussions) diff --git a/.github/pr-welcome-internal.md b/.github/pr-welcome-internal.md new file mode 100644 index 000000000..7d17cfdb9 --- /dev/null +++ b/.github/pr-welcome-internal.md @@ -0,0 +1,34 @@ +## 👋 Greetings, Airbyte Team Member! + +Here are some helpful tips and reminders for your convenience. + +### Testing This PyAirbyte Version + +You can test this version of PyAirbyte using the following: + +```bash +# Run PyAirbyte CLI from this branch: +uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@{{ .branch_name }}' pyairbyte --help + +# Install PyAirbyte from this branch for development: +pip install 'git+https://github.com/airbytehq/PyAirbyte.git@{{ .branch_name }}' +``` + +### Helpful Resources + +- [PyAirbyte Documentation](https://docs.airbyte.com/using-airbyte/pyairbyte/getting-started) +- [API Reference](https://airbytehq.github.io/PyAirbyte/) + +### PR Slash Commands + +Airbyte Maintainers can execute the following slash commands on your PR: + +- `/fix-pr` - Fixes most formatting and linting issues +- `/poetry-lock` - Updates poetry.lock file +- `/test-pr` - Runs tests with the updated PyAirbyte + +### Community Support + +Questions? Join the [#pyairbyte channel](https://airbytehq.slack.com/archives/C06FZ238P8W) in our Slack workspace. + +[📝 _Edit this welcome message._](https://github.com/airbytehq/PyAirbyte/blob/main/.github/pr-welcome-internal.md) diff --git a/.github/workflows/welcome-message.yml b/.github/workflows/welcome-message.yml new file mode 100644 index 000000000..78a0d3add --- /dev/null +++ b/.github/workflows/welcome-message.yml @@ -0,0 +1,46 @@ +name: Community PR Welcome Message + +# This workflow automatically adds a welcome message to PRs from community contributors (forks) +# It includes PyAirbyte usage instructions and other helpful resources for testing changes +# +# MANUAL TESTING INSTRUCTIONS: +# To manually test this workflow, temporarily uncomment the "synchronize" event type as a workflow trigger. +# Then the workflow will run for all new commits. +# +# Before merging, remember to again comment-out the "synchronize" clause and uncomment the `if:` condition. + +on: + pull_request: + types: + - opened + - reopened + # Toggle this line, uncommenting for testing: + # - synchronize + +jobs: + welcome-contributor: + name: PR Welcome Message + permissions: + contents: read + issues: write + pull-requests: write + runs-on: ubuntu-24.04 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Render template + id: template + uses: chuhlomin/render-template@v1.4 + with: + # Use a different template for internal vs forks (community) + template: ${{ github.event.pull_request.head.repo.fork == true && '.github/pr-welcome-community.md' || '.github/pr-welcome-internal.md' }} + vars: | + repo_name: ${{ github.event.pull_request.head.repo.full_name }} + branch_name: ${{ github.event.pull_request.head.ref }} + + - name: Create comment + uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{ github.event.pull_request.number }} + body: ${{ steps.template.outputs.result }}