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.
		
		
		
		
		
			
		
			
				
					
					
						
							141 lines
						
					
					
						
							3.8 KiB
						
					
					
				
			
		
		
	
	
							141 lines
						
					
					
						
							3.8 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.2.2
 | 
						|
      - 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.2.2
 | 
						|
      - 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: 16.13.1
 | 
						|
      - 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.2.2
 | 
						|
      - name: Set up Node
 | 
						|
        uses: actions/setup-node@v1
 | 
						|
        with:
 | 
						|
          node-version: 16.13.1
 | 
						|
      - name: Install Chrome
 | 
						|
        uses: browser-actions/setup-chrome@latest
 | 
						|
      - 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 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 rspec          
 |