name: Linter # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request # pull_request includes [opened, reopened, synchronize] events by default # 'edited' is required for title-lint on: push: {} pull_request: types: [opened, reopened, synchronize, edited] pull_request_target: types: [opened, reopened, synchronize, edited] jobs: # eslint: # name: ESLint # if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} # runs-on: ubuntu-latest # timeout-minutes: 5 # steps: # - uses: actions/checkout@v4 # - uses: pnpm/action-setup@v2 # with: # version: 8 # - uses: actions/setup-node@v4 # with: # node-version: lts/* # cache: 'pnpm' # - run: pnpm i # - name: Lint # run: pnpm run lint # https://github.com/actions/starter-workflows/blob/main/code-scanning/eslint.yml eslint-warning: name: Lint if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} runs-on: ubuntu-latest timeout-minutes: 5 permissions: contents: read security-events: write steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - uses: actions/setup-node@v4 with: node-version: lts/* cache: 'pnpm' - run: pnpm i - name: Lint run: pnpm run lint --format @microsoft/eslint-formatter-sarif --output-file eslint-results.sarif continue-on-error: true - name: Upload analysis results to GitHub uses: github/codeql-action/upload-sarif@v2 with: sarif_file: eslint-results.sarif wait-for-processing: true # https://github.com/amannn/action-semantic-pull-request title-lint: if: ${{ github.event_name == 'pull_request_target' && github.repository == 'DIYgod/RSSHub' }} name: Validate PR title runs-on: ubuntu-latest timeout-minutes: 5 permissions: pull-requests: read steps: - uses: amannn/action-semantic-pull-request@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ignoreLabels: | dependencies wip: true labeler: name: Pull Request Labeler if: ${{ github.event_name == 'pull_request_target' && github.actor != 'dependabot[bot]' }} permissions: contents: read pull-requests: write runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/labeler@v4 with: repo-token: ${{ secrets.GITHUB_TOKEN }}