name: 'Pull Request size labeler' description: 'Label a PR based on the amount of changes' inputs: GITHUB_TOKEN: description: 'GitHub token needed to interact with the repository' required: false default: ${{ github.token }} xs_label: description: 'Label for xs PR' required: false default: 'size/xs' xs_max_size: description: 'Max size for a PR to be considered xs' required: false default: '10' s_label: description: 'Label for s PR' required: false default: 'size/s' s_max_size: description: 'Max size for a PR to be considered s' required: false default: '100' m_label: description: 'Label for m PR' required: false default: 'size/m' m_max_size: description: 'Max size for a PR to be considered m' required: false default: '500' l_label: description: 'Label for l PR' required: false default: 'size/l' l_max_size: description: 'Max size for a PR to be considered l' required: false default: '1000' xl_label: description: 'Label for xl PR' required: false default: 'size/xl' fail_if_xl: description: 'Report GitHub Workflow failure if the PR size is xl allowing to forbid PR merge' required: false default: 'false' message_if_xl: description: 'Message to show if the PR size is xl' required: false default: > This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size. github_api_url: description: 'URL to the API of your Github Server, only necessary for Github Enterprise customers' required: false default: '${{ github.api_url }}' files_to_ignore: description: 'Whitespace separated list of files to ignore when calculating the PR size (sum of changes)' required: false default: '' ignore_line_deletions: description: 'Whether to ignore lines which are deleted when calculating the PR size. If set to "true", deleted lines will be ignored.' required: false default: 'false' ignore_file_deletions: description: 'Whether to ignore files which are deleted when calculating the PR size. If set to "true", deleted files will be ignored.' required: false default: 'false' runs: using: 'docker' image: 'Dockerfile' args: - --github_token=${{ inputs.GITHUB_TOKEN }} - --github_api_url=${{ inputs.github_api_url }} - --xs_label=${{ inputs.xs_label }} - --xs_max_size=${{ inputs.xs_max_size }} - --s_label=${{ inputs.s_label }} - --s_max_size=${{ inputs.s_max_size }} - --m_label=${{ inputs.m_label }} - --m_max_size=${{ inputs.m_max_size }} - --l_label=${{ inputs.l_label }} - --l_max_size=${{ inputs.l_max_size }} - --xl_label=${{ inputs.xl_label }} - --fail_if_xl=${{ inputs.fail_if_xl }} - --message_if_xl="${{ inputs.message_if_xl }}" - --files_to_ignore=${{ inputs.files_to_ignore }} - --ignore_line_deletions=${{ inputs.ignore_line_deletions }} - --ignore_file_deletions=${{ inputs.ignore_file_deletions }} branding: icon: 'tag' color: 'green'