From dbba634dfdd6738b3e0815c69a2dcd5f16318eda Mon Sep 17 00:00:00 2001 From: Ahmad Farhat Date: Thu, 28 Jan 2021 19:28:09 -0500 Subject: [PATCH] Added rubocop and rspec check to Github actions (#2490) --- .dockerignore | 1 + .github/ci.yml | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ .travis.yml | 8 ------- 3 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 .github/ci.yml diff --git a/.dockerignore b/.dockerignore index 494a3569..eb2c7816 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,6 +3,7 @@ .gitignore README.md SECURITY.md +.github # Rails .env diff --git a/.github/ci.yml b/.github/ci.yml new file mode 100644 index 00000000..d3c61c8c --- /dev/null +++ b/.github/ci.yml @@ -0,0 +1,60 @@ +env: + RUBY_VERSION: 2.7.2 + DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres + +name: CI +on: + push: + branches: "master" + pull_request: + branches: "*" + +jobs: + test: + name: Rubocop + RSpec + runs-on: ubuntu-18.04 + + services: + postgres: + image: postgres + env: + POSTGRES_DB: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + ports: + - 5432:5432 + # Health checks to wait until postgres is ready + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Ruby ${{ env.RUBY_VERSION }} + uses: actions/setup-ruby@v1 + with: + ruby-version: ${{ env.RUBY_VERSION }} + + - name: Bundle cache + uses: actions/cache@v2 + with: + path: vendor/bundle + key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gems- + - name: Bundle install + run: | + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + - name: Setup database + run: | + bundler exec rails db:create RAILS_ENV=test + bundler exec rails db:migrate RAILS_ENV=test + - name: Run Rubocop + run: bundle exec rubocop --fail-level F + + - name: Run RSpec + run: bundle exec rspec \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 1d90c80b..a9c69bb2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,14 +5,6 @@ rvm: - 2.5.1 jobs: include: - - stage: test - name: rubocop - script: bundle exec rubocop - if: env(CD_TEST_IGNORE) IS NOT present - - stage: test - name: rspec - script: gem install bundler & bundle exec rspec - if: env(CD_TEST_IGNORE) IS NOT present - stage: build name: build docker image script: bash scripts/image_build.sh $TRAVIS_REPO_SLUG $TRAVIS_BRANCH