frankfurter/.github/workflows/build.yml

54 lines
1.5 KiB
YAML

name: build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
container:
image: ruby:2.6.5
services:
postgres:
image: postgres:12
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v1
- name: Set up reporter
run: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
./cc-test-reporter before-build
- name: Install dependencies
run: |
apt-get -yqq install libpq-dev
gem install bundler
bundle install --jobs 4 --retry 3
- name: Run tests
run: bundle exec rake
env:
APP_ENV: test
DATABASE_URL: postgres://postgres@postgres/postgres
- name: Publish image
uses: elgohr/Publish-Docker-Github-Action@master
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && success()
with:
name: hakanensari/frankfurter
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Report to Code Climate
continue-on-error: true
run: GIT_BRANCH="${GITHUB_REF/refs\/heads\//}" ./cc-test-reporter after-build --exit-code $?
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
GIT_COMMIT_SHA: ${{ github.sha }}