.github/workflows/lint.yml
name: Lint
on: [pull_request]
concurrency:
group: lint-${{ github.ref_name }}
cancel-in-progress: ${{ github.ref_name != 'main' }}
jobs:
Standard:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Ruby and gems
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.1"
bundler-cache: true
rubygems: "latest"
- name: Lint Ruby files
run: bundle exec standardrb
ESLint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Restore node_modules cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('bun.lockdb') }}
restore-keys: |
${{ runner.os }}-node-modules
- name: Install dependencies
run: bun install
- name: Lint code
run: bun run --bun eslint
Prettier:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Restore node_modules cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('bun.lockdb') }}
restore-keys: |
${{ runner.os }}-node-modules
- name: Install dependencies
run: bun install
- name: Lint code
run: bun run --bun lint