mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 03:16:10 -06:00 
			
		
		
		
	* Chore(deps): Bump the actions group with 5 updates Bumps the actions group with 5 updates: | Package | From | To | | --- | --- | --- | | [actions/github-script](https://github.com/actions/github-script) | `7` | `8` | | [actions/setup-python](https://github.com/actions/setup-python) | `5` | `6` | | [actions/setup-node](https://github.com/actions/setup-node) | `4` | `5` | | [actions/labeler](https://github.com/actions/labeler) | `5` | `6` | | [actions/stale](https://github.com/actions/stale) | `9` | `10` | Updates `actions/github-script` from 7 to 8 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v7...v8) Updates `actions/setup-python` from 5 to 6 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v5...v6) Updates `actions/setup-node` from 4 to 5 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4...v5) Updates `actions/labeler` from 5 to 6 - [Release notes](https://github.com/actions/labeler/releases) - [Commits](https://github.com/actions/labeler/compare/v5...v6) Updates `actions/stale` from 9 to 10 - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/v9...v10) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-node dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/labeler dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/stale dependency-version: '10' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com> * Add pnpm packageManager --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
		
			
				
	
	
		
			113 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: PR Bot
 | 
						|
on:
 | 
						|
  pull_request_target:
 | 
						|
    types: [opened]
 | 
						|
permissions:
 | 
						|
  contents: read
 | 
						|
  pull-requests: write
 | 
						|
jobs:
 | 
						|
  pr-bot:
 | 
						|
    name: Automated PR Bot
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Label PR by file path or branch name
 | 
						|
        # see .github/labeler.yml for the labeler config
 | 
						|
        uses: actions/labeler@v6
 | 
						|
        with:
 | 
						|
          repo-token: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
      - name: Label by size
 | 
						|
        uses: Gascon1/pr-size-labeler@v1.3.0
 | 
						|
        with:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
          xs_label: 'small-change'
 | 
						|
          xs_diff: '9'
 | 
						|
          s_label: 'non-trivial'
 | 
						|
          s_diff: '99999'
 | 
						|
          fail_if_xl: 'false'
 | 
						|
          excluded_files: /\.lock$/ /\.txt$/ ^src-ui/pnpm-lock\.yaml$ ^src-ui/messages\.xlf$ ^src/locale/en_US/LC_MESSAGES/django\.po$
 | 
						|
      - name: Label by PR title
 | 
						|
        uses: actions/github-script@v8
 | 
						|
        with:
 | 
						|
          script: |
 | 
						|
            const pr = context.payload.pull_request;
 | 
						|
            const title = pr.title.toLowerCase();
 | 
						|
            const labels = [];
 | 
						|
 | 
						|
            if (/^(fix|bugfix)/i.test(title)) {
 | 
						|
              labels.push('bug');
 | 
						|
            } else if (/^feature/i.test(title)) {
 | 
						|
              labels.push('enhancement');
 | 
						|
            } else if (!/^(dependabot)/i.test(title) && !/^(chore)/i.test(title)) {
 | 
						|
              labels.push('enhancement'); // Default fallback
 | 
						|
            }
 | 
						|
 | 
						|
            if (labels.length) {
 | 
						|
              await github.rest.issues.addLabels({
 | 
						|
                owner: context.repo.owner,
 | 
						|
                repo: context.repo.repo,
 | 
						|
                issue_number: pr.number,
 | 
						|
                labels,
 | 
						|
              });
 | 
						|
              core.info(`Added labels based on title: ${labels.join(', ')}`);
 | 
						|
            }
 | 
						|
      - name: Label bot-generated PRs
 | 
						|
        if: ${{ contains(github.actor, 'dependabot') || contains(github.actor, 'crowdin-bot') }}
 | 
						|
        uses: actions/github-script@v8
 | 
						|
        with:
 | 
						|
          script: |
 | 
						|
            const pr = context.payload.pull_request;
 | 
						|
            const user = pr.user.login.toLowerCase();
 | 
						|
            const labels = [];
 | 
						|
 | 
						|
            if (user.includes('dependabot')) {
 | 
						|
              labels.push('dependencies');
 | 
						|
            }
 | 
						|
 | 
						|
            if (user.includes('crowdin-bot')) {
 | 
						|
              labels.push('translation', 'skip-changelog');
 | 
						|
            }
 | 
						|
 | 
						|
            if (labels.length) {
 | 
						|
              await github.rest.issues.addLabels({
 | 
						|
                owner: context.repo.owner,
 | 
						|
                repo: context.repo.repo,
 | 
						|
                issue_number: pr.number,
 | 
						|
                labels,
 | 
						|
              });
 | 
						|
            }
 | 
						|
      - name: Welcome comment
 | 
						|
        if: ${{ !contains(github.actor, 'bot') }}
 | 
						|
        uses: actions/github-script@v8
 | 
						|
        with:
 | 
						|
          script: |
 | 
						|
            const pr = context.payload.pull_request;
 | 
						|
            const user = pr.user.login;
 | 
						|
 | 
						|
            const { data: members } = await github.rest.orgs.listMembers({
 | 
						|
              org: 'paperless-ngx',
 | 
						|
            });
 | 
						|
 | 
						|
            const memberLogins = members.map(m => m.login.toLowerCase());
 | 
						|
            if (memberLogins.includes(user.toLowerCase())) {
 | 
						|
              core.info('Skipping comment: user is org member');
 | 
						|
              return;
 | 
						|
            }
 | 
						|
 | 
						|
            const body =
 | 
						|
                "Hello @" + user + ",\n\n" +
 | 
						|
                "Thank you very much for submitting this PR to us!\n\n" +
 | 
						|
                "This is what will happen next:\n\n" +
 | 
						|
                "1. CI tests will run against your PR to ensure quality and consistency.\n" +
 | 
						|
                "2. Next, human contributors from paperless-ngx review your changes.\n" +
 | 
						|
                "3. Please address any issues that come up during the review as soon as you are able to.\n" +
 | 
						|
                "4. If accepted, your pull request will be merged into the `dev` branch and changes there will be tested further.\n" +
 | 
						|
                "5. Eventually, changes from you and other contributors will be merged into `main` and a new release will be made.\n\n" +
 | 
						|
                "You'll be hearing from us soon, and thank you again for contributing to our project.";
 | 
						|
 | 
						|
            await github.rest.issues.createComment({
 | 
						|
              issue_number: pr.number,
 | 
						|
              owner: context.repo.owner,
 | 
						|
              repo: context.repo.repo,
 | 
						|
              body,
 | 
						|
            });
 |