name: "PR Welcome Bot" on: pull_request_target: types: - opened permissions: pull-requests: write jobs: welcome: name: Welcome new contributors runs-on: ubuntu-latest steps: - uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const pr = context.payload.pull_request; // Skip PRs from org members and bots if ( ["MEMBER", "OWNER", "COLLABORATOR"].includes(pr.author_association) || pr.user.type === "Bot" ) { console.log(`Skipping — author association: ${pr.author_association}, type: ${pr.user.type}`); return; } const body = [ `Welcome to **Cal.diy**, @${pr.user.login}! Thanks for opening this pull request.`, "", "A few things to keep in mind:", "", "- **This is Cal.diy, not Cal.com.** Cal.diy is a community-driven, fully open-source fork of Cal.com licensed under MIT. Your changes here will be part of Cal.diy — they will **not** be deployed to the Cal.com production app.", "- Please review our [Contributing Guidelines](https://github.com/calcom/cal.diy/blob/main/CONTRIBUTING.md) if you haven't already.", "- Make sure your PR title follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format.", "", "A maintainer will review your PR soon. Thanks for contributing!", ].join("\n"); await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: pr.number, body, });