name: Lint # This action works with pull requests and pushes on: push: paths: - web/** pull_request_target: paths: - web/** jobs: prettier: name: Javascript prettier runs-on: ubuntu-latest defaults: run: working-directory: ./web if: ${{ github.actor != 'dependabot[bot]' }} steps: - id: skip_check uses: fkirc/skip-duplicate-actions@v5 with: concurrent_skipping: 'same_content_newer' - name: Checkout uses: actions/checkout@v3 with: # Make sure the actual branch is checked out when running on pull requests ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} fetch-depth: 0 - name: Prettify code uses: creyD/prettier_action@v4.3 with: # This part is also where you can pass other options, for example: prettier_options: --write **/*.{js,ts,jsx,tsx,css,md} only_changed: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} linter: name: Javascript linter runs-on: ubuntu-latest defaults: run: working-directory: ./web steps: - id: skip_check uses: fkirc/skip-duplicate-actions@v5 with: concurrent_skipping: 'same_content_newer' - name: Checkout uses: actions/checkout@v3 with: # Make sure the actual branch is checked out when running on pull requests ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} fetch-depth: 0 - name: Install Dependencies run: npm install - name: Lint run: npm run lint unused-code: name: Test for unused code runs-on: ubuntu-latest defaults: run: working-directory: ./web steps: - id: skip_check uses: fkirc/skip-duplicate-actions@v5 with: concurrent_skipping: 'same_content_newer' - name: Checkout uses: actions/checkout@v3 with: # Make sure the actual branch is checked out when running on pull requests ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} fetch-depth: 0 - name: Install Dependencies run: npm install - name: Check for unused JS code and dependencies run: npx knip --include dependencies,files,exports