lovelyCARDINAL/WikiBots

View on GitHub
.github/workflows/Code Analysis.yaml

Summary

Maintainability
Test Coverage
name: "Code Analysis"

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  pull_request_target:
    types:
      - opened
      - ready_for_review
  schedule:
    - cron: "59 23 * * *"
  workflow_dispatch:

permissions:
  actions: read
  checks: read
  contents: read
  deployments: read
  issues: write
  discussions: write
  packages: read
  pages: read
  pull-requests: write
  repository-projects: read
  security-events: write
  statuses: write

jobs:
  Lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Set Node Version
        uses: actions/setup-node@v4
        with:
          node-version: 20.x
          cache: "npm"
      - name: Install dependencies
        run: npm ci
      - name: Run Lint
        run: npm run lint

  CodeQL:
    needs: Lint
    if: needs.Lint.result == 'success'
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        language:
          - javascript
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v3
        with:
          languages: javascript
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v3
        with:
          category: "/language:javascript"

  auto-assign:
    if: github.event_name == 'pull_request_target'
    runs-on: ubuntu-latest
    steps:
      - name: Add Reviews
        uses: kentaro-m/auto-assign-action@v2.0.0
        with:
          configuration-path: ".github/auto_assign.yaml"
          repo-token: "${{ secrets.GITHUB_TOKEN }}"