76 lines
2.2 KiB
YAML
76 lines
2.2 KiB
YAML
name: Specs
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
specs:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
redmine: [ '5.0.4', '4.2.9' ]
|
|
ruby: [ '2.7.7', '2.6.8' ]
|
|
database: [ 'sqlite3', 'postgresql', 'mysql2' ]
|
|
include:
|
|
- redmine: '5.0.4'
|
|
ruby: '3.1.3'
|
|
database: 'postgresql'
|
|
- redmine: '5.0.4'
|
|
ruby: '3.1.3'
|
|
database: 'mysql2'
|
|
|
|
services:
|
|
postgresql:
|
|
image: postgres
|
|
ports:
|
|
- 5432:5432
|
|
env:
|
|
POSTGRES_DB: redmine_test
|
|
POSTGRES_USER: redmine_hourglass
|
|
POSTGRES_PASSWORD: redmine_hourglass
|
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
mysql:
|
|
image: mysql:5
|
|
ports:
|
|
- 3306:3306
|
|
env:
|
|
MYSQL_DATABASE: redmine_test
|
|
MYSQL_ROOT_PASSWORD: redmine_hourglass
|
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
|
|
|
steps:
|
|
- uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: ${{ matrix.ruby }}
|
|
|
|
- name: Install redmine
|
|
run: wget https://github.com/redmine/redmine/archive/${{ matrix.redmine }}.tar.gz -qO- | tar -C $GITHUB_WORKSPACE -xz --strip=1 --show-transformed -f -
|
|
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
path: 'plugins/redmine_hourglass'
|
|
|
|
- name: Create database config
|
|
run: cp $GITHUB_WORKSPACE/plugins/redmine_hourglass/.github/data/${{ matrix.database }}_database.yml $GITHUB_WORKSPACE/config/database.yml
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
bundle config set --local without 'rmagick'
|
|
bundle install --jobs=3 --retry=3
|
|
|
|
- name: Setup database and plugin
|
|
run: |
|
|
bundle exec rake db:create
|
|
bundle exec rake db:migrate
|
|
bundle exec rake redmine:load_default_data REDMINE_LANG=en
|
|
bundle exec rake generate_secret_token
|
|
bundle exec rake redmine:plugins:migrate
|
|
env:
|
|
RAILS_ENV: test
|
|
|
|
- name: Run specs
|
|
run: bundle exec rake --trace redmine:plugins:hourglass:spec
|
|
env:
|
|
RAILS_ENV: test
|