Swadhin Biswas feat: production-ready Linuxy v1.0.0 with comprehensive CI/CD Β· 3/30/2026
d7d7a56
88 lines Β· 3.0 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
name: Welcome New Contributors

on:
  issues:
    types: [opened]
  pull_request_target:
    types: [opened]

permissions:
  issues: write
  pull-requests: write

jobs:
  welcome:
    runs-on: ubuntu-latest
    
    steps:
      - name: Welcome first-time issue creator
        if: github.event_name == 'issues'
        uses: actions/first-interaction@v1
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          issue-message: |
            πŸ‘‹ Hello @${{ github.actor }}! Thank you for opening your first issue in Linuxy!
            
            We appreciate your contribution to making Linuxy better. A maintainer will review your issue soon.
            
            In the meantime:
            - Please make sure you've provided all the requested information
            - Add screenshots if applicable
            - Check for similar existing issues
            
            Feel free to join our community discussions if you have questions!
            
            ---
            *This is an automated message. Happy coding!* 🐧

      - name: Welcome first-time contributor
        if: github.event_name == 'pull_request_target'
        uses: actions/first-interaction@v1
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          pr-message: |
            πŸŽ‰ Welcome @${{ github.actor }}! Thank you for your first pull request to Linuxy!
            
            We're excited to have you contribute. Here's what happens next:
            
            1. **Automated Checks**: Our CI/CD pipeline will run tests and linting
            2. **AI Review**: CodeRabbit will provide automated code review
            3. **Human Review**: A maintainer will review your changes
            
            Please make sure you've:
            - [ ] Read our [Contributing Guide](CONTRIBUTING.md)
            - [ ] Followed the code style guidelines
            - [ ] Added tests if applicable
            - [ ] Updated documentation if needed
            
            Feel free to ask questions in the comments if you need help!
            
            ---
            *This is an automated message. Happy coding!* 🐧

      - name: Add labels to first-time contributors
        if: github.event_name == 'pull_request_target'
        uses: actions/github-script@v7
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            const { owner, repo } = context.repo;
            const prNumber = context.payload.pull_request.number;
            
            // Check if this is truly a first-time contributor
            const { data: commits } = await github.rest.repos.listCommits({
              owner,
              repo,
              author: context.payload.pull_request.user.login,
              per_page: 1
            });
            
            if (commits.length === 1) {
              await github.rest.issues.addLabels({
                owner,
                repo,
                issue_number: prNumber,
                labels: ['first-time-contributor']
              });
            }