Fix node version in dockerfile #1374
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Put this in the file: .github/workflows/verify.yml | |
name: Verify | |
on: [push, pull_request] | |
jobs: | |
linters: | |
name: Linters | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
# - name: Ruby gem cache | |
# uses: actions/cache@v1 | |
# with: | |
# path: vendor/bundle | |
# key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} | |
# restore-keys: | | |
# ${{ runner.os }}-gems- | |
# - name: Install gems | |
# run: | | |
# bundle config path vendor/bundle | |
# bundle install --jobs 4 --retry 3 | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 10.13.0 | |
- name: Find yarn cache location | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- name: JS package cache | |
uses: actions/cache@v1 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install packages | |
run: | | |
yarn install --pure-lockfile | |
- name: Run linters | |
run: | | |
bin/rubocop --parallel | |
# bin/stylelint | |
# bin/prettier | |
# bin/eslint | |
- name: Run security checks | |
run: | | |
bin/brakeman -q -w2 | |
tests: | |
name: Tests | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:11 | |
env: | |
POSTGRES_USER: myapp | |
POSTGRES_DB: myapp_test | |
POSTGRES_PASSWORD: "postgres" | |
ports: ["5432:5432"] | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 1s | |
--health-timeout 1s | |
--health-retries 10 | |
redis: | |
image: redis:alpine | |
ports: ["6379:6379"] | |
options: --entrypoint redis-server | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
# - name: Ruby gem cache | |
# uses: actions/cache@v1 | |
# with: | |
# path: vendor/bundle | |
# key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} | |
# restore-keys: | | |
# ${{ runner.os }}-gems- | |
# - name: Install gems | |
# run: | | |
# bundle config path vendor/bundle | |
# bundle install --jobs 4 --retry 3 | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 10.13.0 | |
- name: Find yarn cache location | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- name: JS package cache | |
uses: actions/cache@v1 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install packages | |
run: | | |
yarn install --pure-lockfile | |
- name: Setup test database | |
env: | |
RAILS_ENV: test | |
DATABASE_HOST: localhost | |
DATABASE_USERNAME: myapp | |
DATABASE_PASSWORD: postgres | |
run: | | |
bin/rails db:setup | |
- name: Run tests | |
run: bin/bundle exec rspec | |
env: | |
RAILS_ENV: test | |
DATABASE_HOST: localhost | |
DATABASE_USERNAME: myapp | |
DATABASE_PASSWORD: postgres | |
- name: Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: "./coverage/lcov.info" |