# Copyright 2023 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# See https://github.com/marketplace/actions/close-stale-issues

name: Mark stale issues and pull requests

on:
  schedule:
  # run at 22:45 UTC daily
  - cron: "45 22 * * *"

jobs:
  stale:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/stale@v3
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}

        # NB: We start with very long duration while trimming existing issues,
        # with the hope to reduce when/if we get better at keeping up with user support.

        # The number of days old an issue can be before marking it stale.
        days-before-stale: 180
        # Number of days of inactivity before a stale issue is closed
        days-before-close: 30

        # If an issue/PR is assigned, trust the assignee to stay involved
        # Can revisit if these get stale
        exempt-all-assignees: true
        # Issues with these labels will never be considered stale
        exempt-issue-labels: "need: discussion,cleanup"

        # Label to use when marking an issue as stale
        stale-issue-label: 'Can Close?'
        stale-pr-label: 'Can Close?'

        stale-issue-message: >
          This issue has been automatically marked as stale because it has not had
          any activity for 180 days.
          It will be closed if no further activity occurs in 30 days.

          Collaborators can add an assignee to keep this open indefinitely.
          Thanks for your contributions to rules_python!

        stale-pr-message: >
          This Pull Request has been automatically marked as stale because it has not had
          any activity for 180 days.
          It will be closed if no further activity occurs in 30 days.

          Collaborators can add an assignee to keep this open indefinitely.
          Thanks for your contributions to rules_python!

        close-issue-message: >
          This issue was automatically closed because it went 30 days without a reply
          since it was labeled "Can Close?"

        close-pr-message: >
          This PR was automatically closed because it went 30 days without a reply
          since it was labeled "Can Close?"
