mirror of https://github.com/docusealco/docuseal
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							145 lines
						
					
					
						
							3.9 KiB
						
					
					
				
			
		
		
	
	
							145 lines
						
					
					
						
							3.9 KiB
						
					
					
				| ---
 | |
| name: CI
 | |
| on: [push]
 | |
| 
 | |
| jobs:
 | |
|   rubocop:
 | |
|     name: Rubocop
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v2
 | |
|       - name: Install Ruby
 | |
|         uses: ruby/setup-ruby@v1
 | |
|         with:
 | |
|           ruby-version: 3.3.3
 | |
|       - name: Cache gems
 | |
|         uses: actions/cache@v1
 | |
|         with:
 | |
|           path: vendor/bundle
 | |
|           key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
 | |
|           restore-keys: |
 | |
|                         ${{ runner.os }}-gem-
 | |
|       - name: Install gems
 | |
|         run: |
 | |
|           gem install bundler
 | |
|           bundle config path vendor/bundle
 | |
|           bundle install --jobs 4 --retry 4          
 | |
|       - name: Run RuboCop
 | |
|         run: bundle exec rubocop
 | |
| 
 | |
|   erblint:
 | |
|     name: Erblint
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v2
 | |
|       - name: Install Ruby
 | |
|         uses: ruby/setup-ruby@v1
 | |
|         with:
 | |
|           ruby-version: 3.3.3
 | |
|       - name: Cache gems
 | |
|         uses: actions/cache@v1
 | |
|         with:
 | |
|           path: vendor/bundle
 | |
|           key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
 | |
|           restore-keys: |
 | |
|                         ${{ runner.os }}-gem-
 | |
|       - name: Install gems
 | |
|         run: |
 | |
|           gem install bundler
 | |
|           bundle config path vendor/bundle
 | |
|           bundle install --jobs 4 --retry 4          
 | |
|       - name: Run Erblint
 | |
|         run: bundle exec erblint ./app
 | |
| 
 | |
|   eslint:
 | |
|     name: ESLint
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v2
 | |
|       - name: Install Node.js
 | |
|         uses: actions/setup-node@v1
 | |
|         with:
 | |
|           node-version: 20.9.0
 | |
|       - name: Cache directory path
 | |
|         id: yarn-cache-dir-path
 | |
|         run: echo "::set-output name=dir::$(yarn cache dir)"
 | |
|       - uses: actions/cache@v1
 | |
|         id: yarn-cache
 | |
|         with:
 | |
|           path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
 | |
|           key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
 | |
|           restore-keys: |
 | |
|                         ${{ runner.os }}-yarn-
 | |
|       - name: Install dependencies
 | |
|         run: |
 | |
|                     yarn install
 | |
|       - name: Run eslint
 | |
|         run: |
 | |
|                     ./node_modules/eslint/bin/eslint.js "app/javascript/**/*.js"
 | |
| 
 | |
|   rspec:
 | |
|     name: RSpec
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     services:
 | |
|       postgres:
 | |
|         image: postgres:14
 | |
|         env:
 | |
|           POSTGRES_USER: postgres
 | |
|           POSTGRES_PASSWORD: postgres
 | |
|           POSTGRES_DB: docuseal_test
 | |
|         ports: ["5432:5432"]
 | |
|         options: >-
 | |
|           --health-cmd pg_isready
 | |
|           --health-interval 10s
 | |
|           --health-timeout 5s
 | |
|           --health-retries 5          
 | |
| 
 | |
|     steps:
 | |
|       - uses: actions/checkout@v2
 | |
|       - name: Install Ruby
 | |
|         uses: ruby/setup-ruby@v1
 | |
|         with:
 | |
|           ruby-version: 3.3.3
 | |
|       - name: Set up Node
 | |
|         uses: actions/setup-node@v1
 | |
|         with:
 | |
|           node-version: 20.9.0
 | |
|       - name: Install Chrome
 | |
|         uses: browser-actions/setup-chrome@latest
 | |
|         with:
 | |
|           chrome-version: 125
 | |
|       - name: Cache node_modules
 | |
|         uses: actions/cache@v1
 | |
|         with:
 | |
|           path: node_modules
 | |
|           key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
 | |
|       - name: Cache gems
 | |
|         uses: actions/cache@v1
 | |
|         with:
 | |
|           path: vendor/bundle
 | |
|           key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
 | |
|           restore-keys: |
 | |
|                         ${{ runner.os }}-gem-
 | |
|       - name: Install dependencies
 | |
|         env:
 | |
|           RAILS_ENV: test
 | |
|         run: |
 | |
|           gem install bundler
 | |
|           bundle config path vendor/bundle
 | |
|           bundle install --jobs 4 --retry 4
 | |
|           yarn install
 | |
|           sudo apt-get update
 | |
|           sudo apt-get install libvips          
 | |
|       - name: Run
 | |
|         env:
 | |
|           RAILS_ENV: test
 | |
|           NODE_ENV: test
 | |
|           COVERAGE: true
 | |
|           DATABASE_URL: postgres://postgres:postgres@localhost:5432/docuseal_test
 | |
|         run: |
 | |
|           bundle exec rake db:create
 | |
|           bundle exec rake db:migrate
 | |
|           bundle exec rake assets:precompile
 | |
|           bundle exec rspec          
 |