59 lines
1.1 KiB
YAML
59 lines
1.1 KiB
YAML
name: Run Linters
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule:
|
|
- cron: '30 5 * * *'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install package dependencies
|
|
run: |
|
|
sudo apt-get install --yes --quiet pandoc
|
|
|
|
- name: Setup Gemfile
|
|
run: |
|
|
touch .enable_linters
|
|
sed -i "3isource 'https://rubygems.org'" Gemfile
|
|
|
|
- name: Setup Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: 3.2
|
|
bundler-cache: true
|
|
|
|
- name: Setup gems
|
|
run: |
|
|
bundle install --jobs 4 --retry 3
|
|
|
|
- name: Run RuboCop
|
|
run: |
|
|
bundle exec rubocop -S
|
|
|
|
- name: Run Slim-Lint
|
|
run: |
|
|
bundle exec slim-lint app/views
|
|
if: always()
|
|
|
|
- name: Run Brakeman
|
|
run: |
|
|
bundle exec brakeman -5
|
|
|
|
- name: Setup node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '18'
|
|
|
|
- run: yarn install
|
|
|
|
- name: Run Stylelint
|
|
run: node_modules/.bin/stylelint assets/stylesheets/
|
|
|
|
- name: Run ESLint
|
|
run: node_modules/.bin/eslint assets/javascripts/
|