Skip to content

Merge pull request #176 from TelosLabs/improvements #937

Merge pull request #176 from TelosLabs/improvements

Merge pull request #176 from TelosLabs/improvements #937

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- "**"
env:
CI: true
APP_HOST: http://localhost
REGISTRATION_ENABLED: true
RSPEC_RETRY_RETRY_COUNT: 3
RAILS_ENV: test
jobs:
linters:
name: Linters
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Ruby and install gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Setup Node
uses: actions/setup-node@v4
- name: Run RuboCop
run: bundle exec rubocop
- name: Run ERB Lint
run: bundle exec erblint --lint-all
- name: Run StandardJS
run: |
npm install standard --global
standard
- name: Run spell checker
uses: crate-ci/typos@master
security:
name: Security
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Ruby and install gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Run brakeman
run: |
bundle exec brakeman -w3
- name: Run bundler-audit
run: |
bundle exec bundle-audit check --update
code_quality:
name: Code quality
runs-on: ubuntu-latest
if: ${{ github.ref_name != 'main' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Ruby and install gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Run rubycritic
run: |
bundle exec rubycritic --mode-ci main --no-browser
- name: Run database consistency
run: |
bundle exec rails db:test:prepare
bundle exec database_consistency -c .database_consistency.todo.yml
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Setup DB
run: |
bundle exec rails db:test:prepare
- name: Assets Precompile
run: bundle exec rails assets:precompile
- name: Run tests
run: |
bundle exec rspec