Downgrade simplecov to 0.17 because 0.18 is incompatible with code climate. Ref: github.com codeclimate/test-reporter/issues/413
77 lines
3.4 KiB
YAML
77 lines
3.4 KiB
YAML
name: Test
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
container: ubuntu:20.04
|
|
|
|
env:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
PARALLEL_WORKERS: 8 # number of parallel tests to run
|
|
|
|
# Code Climate configuration. https://docs.codeclimate.com/docs/finding-your-test-coverage-token
|
|
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
|
GIT_COMMIT_SHA: ${{ github.sha }}
|
|
GIT_BRANCH: ${{ github.ref }}
|
|
|
|
DATABASE_URL: postgresql://danbooru:danbooru@postgres/danbooru
|
|
ARCHIVE_DATABASE_URL: postgresql://danbooru:danbooru@postgres/danbooru
|
|
DANBOORU_SECRET_KEY_BASE: 1234
|
|
DANBOORU_AWS_SQS_ENABLED: false
|
|
DANBOORU_TWITTER_API_KEY: ${{ secrets.DANBOORU_TWITTER_API_KEY }}
|
|
DANBOORU_TWITTER_API_SECRET: ${{ secrets.DANBOORU_TWITTER_API_SECRET }}
|
|
DANBOORU_PIXIV_LOGIN: ${{ secrets.DANBOORU_PIXIV_LOGIN }}
|
|
DANBOORU_PIXIV_PASSWORD: ${{ secrets.DANBOORU_PIXIV_PASSWORD }}
|
|
DANBOORU_NIJIE_LOGIN: ${{ secrets.DANBOORU_NIJIE_LOGIN }}
|
|
DANBOORU_NIJIE_PASSWORD: ${{ secrets.DANBOORU_NIJIE_PASSWORD }}
|
|
DANBOORU_NICO_SEIGA_LOGIN: ${{ secrets.DANBOORU_NICO_SEIGA_LOGIN }}
|
|
DANBOORU_NICO_SEIGA_PASSWORD: ${{ secrets.DANBOORU_NICO_SEIGA_PASSWORD }}
|
|
DANBOORU_TUMBLR_CONSUMER_KEY: ${{ secrets.DANBOORU_TUMBLR_CONSUMER_KEY }}
|
|
DANBOORU_DEVIANTART_CLIENT_ID: ${{ secrets.DANBOORU_DEVIANTART_CLIENT_ID }}
|
|
DANBOORU_DEVIANTART_CLIENT_SECRET: ${{ secrets.DANBOORU_DEVIANTART_CLIENT_SECRET }}
|
|
DANBOORU_PAWOO_CLIENT_ID: ${{ secrets.DANBOORU_PAWOO_CLIENT_ID }}
|
|
DANBOORU_PAWOO_CLIENT_SECRET: ${{ secrets.DANBOORU_PAWOO_CLIENT_SECRET }}
|
|
DANBOORU_RAKISMET_KEY: ${{ secrets.DANBOORU_RAKISMET_KEY }}
|
|
DANBOORU_RAKISMET_URL: ${{ secrets.DANBOORU_RAKISMET_URL }}
|
|
DANBOORU_IP_REGISTRY_API_KEY: ${{ secrets.DANBOORU_IP_REGISTRY_API_KEY }}
|
|
|
|
services:
|
|
postgres:
|
|
image: evazion/postgres
|
|
env:
|
|
POSTGRES_USER: danbooru
|
|
POSTGRES_PASSWORD: danbooru
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v2
|
|
# - name: Save environment
|
|
# run: env | egrep "DANBOORU|DATABASE_URL" > ~/.env
|
|
# - name: Install docker-compose
|
|
# run: sudo apt-get update && sudo apt-get -y install docker-compose
|
|
# - name: Run tests
|
|
# run: docker-compose --env-file ~/.env -f config/docker/docker-compose.test.yaml -p danbooru up
|
|
- name: Install OS dependencies
|
|
run: |
|
|
apt-get update
|
|
apt-get -y install --no-install-recommends build-essential ruby ruby-dev ruby-bundler git nodejs yarnpkg webpack ffmpeg mkvtoolnix libvips-dev libxml2-dev postgresql-server-dev-all wget
|
|
ln -sf /usr/bin/yarnpkg /usr/bin/yarn
|
|
- name: Install Ruby dependencies
|
|
run: BUNDLE_DEPLOYMENT=true bundle install --jobs 4
|
|
- name: Install Javascript dependencies
|
|
run: yarn install
|
|
- name: Prepare database
|
|
run: config/docker/prepare-tests.sh
|
|
# https://docs.codeclimate.com/docs/configuring-test-coverage
|
|
- name: Prepare test coverage for Code Climate
|
|
run: |
|
|
wget https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64
|
|
chmod +x test-reporter-latest-linux-amd64
|
|
./test-reporter-latest-linux-amd64 before-build
|
|
- name: Run tests
|
|
run: bin/rails test
|
|
- name: Upload test coverage to Code Climate
|
|
run: ./test-reporter-latest-linux-amd64 after-build
|