name: Lint

on: [push, pull_request]

permissions:
  contents: read

jobs:
  lint:
    runs-on: ubuntu-latest
    env:
      BUNDLE_WITHOUT: db:job:cable:storage

    steps:
    - uses: actions/checkout@v4

    - name: Remove Gemfile.lock
      run: rm -f Gemfile.lock

    - name: Set up Ruby 3.3
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: 3.3
        bundler-cache: true

    - name: mdl
      run: bundle exec rake -f guides/Rakefile guides:lint

    - run: tools/railspect changelogs .
    - run: tools/railspect configuration .

    - uses: zzak/action-discord@v8
      continue-on-error: true
      if: failure() && github.ref_name == 'main'
      with:
        github-token: ${{ secrets.GITHUB_TOKEN }}
        webhook: ${{ secrets.DISCORD_WEBHOOK }}
