81 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: CI
 | |
| 
 | |
| on:
 | |
|   pull_request:
 | |
|   push:
 | |
|     branches: [ main ]
 | |
| 
 | |
| jobs:
 | |
|   scan_ruby:
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
|       - name: Checkout code
 | |
|         uses: actions/checkout@v4
 | |
| 
 | |
|       - name: Set up Ruby
 | |
|         uses: ruby/setup-ruby@v1
 | |
|         with:
 | |
|           ruby-version: .ruby-version
 | |
|           bundler-cache: true
 | |
| 
 | |
|       - name: Scan for common Rails security vulnerabilities using static analysis
 | |
|         run: bin/brakeman --no-pager
 | |
| 
 | |
|   scan_js:
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
|       - name: Checkout code
 | |
|         uses: actions/checkout@v4
 | |
| 
 | |
|       - name: Set up Ruby
 | |
|         uses: ruby/setup-ruby@v1
 | |
|         with:
 | |
|           ruby-version: .ruby-version
 | |
|           bundler-cache: true
 | |
| 
 | |
|       - name: Scan for security vulnerabilities in JavaScript dependencies
 | |
|         run: bin/importmap audit
 | |
| 
 | |
|   lint:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Checkout code
 | |
|         uses: actions/checkout@v4
 | |
| 
 | |
|       - name: Set up Ruby
 | |
|         uses: ruby/setup-ruby@v1
 | |
|         with:
 | |
|           ruby-version: .ruby-version
 | |
|           bundler-cache: true
 | |
| 
 | |
|       - name: Lint code for consistent style
 | |
|         run: bin/rubocop -f github
 | |
| 
 | |
|   test:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
| 
 | |
|       - name: Install packages
 | |
|         run: sudo apt-get update && sudo apt-get install --no-install-recommends -y build-essential git libyaml-dev pkg-config
 | |
| 
 | |
|       - name: Checkout code
 | |
|         uses: actions/checkout@v4
 | |
| 
 | |
|       - name: Set up Ruby
 | |
|         uses: ruby/setup-ruby@v1
 | |
|         with:
 | |
|           ruby-version: .ruby-version
 | |
|           bundler-cache: true
 | |
| 
 | |
|       - name: Setup test database
 | |
|         env:
 | |
|           RAILS_ENV: test
 | |
|         run: bin/rails db:test:prepare
 | |
| 
 | |
|       - name: Run rspec
 | |
|         env:
 | |
|           RAILS_ENV: test
 | |
|         run: bundle exec rspec
 |