diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..19c2c45 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,26 @@ +# Labels based on file paths +# See https://github.com/actions/labeler for configuration options + +documentation: + - changed-files: + - any-glob-to-any-file: + - '*.md' + - 'docs/**' + +source: + - changed-files: + - any-glob-to-any-file: + - 'src/**' + +config: + - changed-files: + - any-glob-to-any-file: + - '*.json' + - '**/*.yml' + - '**/*.yaml' + - '.env*' + +workflows: + - changed-files: + - any-glob-to-any-file: + - '.github/**' diff --git a/.github/workflows/auto-label.yml b/.github/workflows/auto-label.yml new file mode 100644 index 0000000..2f934b1 --- /dev/null +++ b/.github/workflows/auto-label.yml @@ -0,0 +1,23 @@ +name: Auto Label + +on: + pull_request: + types: [opened, edited, synchronize] + +permissions: + contents: read + pull-requests: write + +jobs: + label: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Label PR based on files changed + uses: actions/labeler@v5 + with: + sync-labels: true + with: + sync-labels: true diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml new file mode 100644 index 0000000..5e0bcaf --- /dev/null +++ b/.github/workflows/issue-triage.yml @@ -0,0 +1,23 @@ +name: Issue Triage + +on: + issues: + types: [opened] + +permissions: + issues: write + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - name: Add triage label to new issues + uses: actions/github-script@v7 + with: + script: | + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.issue.number, + labels: ['needs-triage'] + }); diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml new file mode 100644 index 0000000..23b2d07 --- /dev/null +++ b/.github/workflows/pr-checks.yml @@ -0,0 +1,30 @@ +name: PR Checks + +on: + pull_request: + branches: [main] + push: + branches: [main] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18.x' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build