name: Lint Codebase on: push: branches: [main] pull_request: branches: [main] permissions: contents: write workflows: write jobs: lint: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 1 - name: Setup Bun uses: oven-sh/setup-bun@v1 with: bun-version: latest - name: Cache dependencies uses: actions/cache@v3 with: path: | ./bun_modules ./node_modules ./bun.lock key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }} - name: Install dependencies run: bun install --frozen-lockfile - name: Run JS Lint run: bun run lint:js -- --fix continue-on-error: true - name: Run CSS Lint run: bun run lint:css -- --fix continue-on-error: true - name: Format with Prettier run: bun run format continue-on-error: true - name: Commit and Push lint fixes uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: 'style: auto-fix linting issues' commit_user_name: 'github-actions[bot]' commit_user_email: 'github-actions[bot]@users.noreply.github.com' only_if_changed: true - name: Run HTML Lint run: bun run lint:html