diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..98496b8 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,28 @@ +documentation: + - changed-files: + - any-glob-to-any-file: + - "README.md" + - "docs/**" + +source: + - changed-files: + - any-glob-to-any-file: + - "src/**" + +dependencies: + - changed-files: + - any-glob-to-any-file: + - "package.json" + - "package-lock.json" + +ci: + - changed-files: + - any-glob-to-any-file: + - ".github/**" + +configuration: + - changed-files: + - any-glob-to-any-file: + - "vite.config.js" + - "tsconfig.json" + - "eslint.config.js" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 0000000..5d4b3a0 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,17 @@ +name: Label PRs + +on: + pull_request_target: + types: [opened, synchronize, reopened] + +jobs: + label: + name: Apply labels + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - uses: actions/labeler@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..50550f5 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,33 @@ +name: Mark stale issues and PRs + +on: + schedule: + - cron: "0 0 * * *" + workflow_dispatch: + +jobs: + stale: + name: Stale + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/stale@v9 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: > + This issue has been automatically marked as stale because it has had no + activity for 60 days. It will be closed in 7 days unless further activity occurs. + stale-pr-message: > + This pull request has been automatically marked as stale because it has had no + activity for 30 days. It will be closed in 7 days unless further activity occurs. + close-issue-message: "Closed due to inactivity. Feel free to reopen if this is still relevant." + close-pr-message: "Closed due to inactivity. Feel free to reopen if this is still relevant." + days-before-issue-stale: 60 + days-before-pr-stale: 30 + days-before-close: 7 + stale-issue-label: stale + stale-pr-label: stale + exempt-issue-labels: "pinned,security,bug" + exempt-pr-labels: "pinned,security"