name: Tests with PostgreSQL on: push: pull_request: schedule: - cron: '0 5 * * *' jobs: test: name: ${{ matrix.redmine }} ruby-${{ matrix.ruby }} runs-on: ubuntu-latest strategy: matrix: ruby: ['2.6', '2.4'] redmine: ['4.0-stable', '4.1-stable', 'master'] fail-fast: false services: postgres: image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - name: Checkout Redmine uses: actions/checkout@v2 with: repository: redmine/redmine ref: ${{ matrix.redmine }} path: redmine - name: Checkout redmine_messenger uses: actions/checkout@v2 with: repository: AlphaNodes/redmine_messenger path: redmine/plugins/redmine_messenger - name: Update package archives run: sudo apt-get update --yes --quiet - name: Install package dependencies run: > sudo apt-get install --yes --quiet build-essential cmake libicu-dev libpq-dev - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically - name: Prepare Redmine source working-directory: redmine run: | sed -i '/rubocop/d' Gemfile rm -f .rubocop* cp plugins/redmine_messenger/test/support/database-postgres.yml config/database.yml cp plugins/redmine_messenger/test/support/configuration.yml config/configuration.yml - name: Install Ruby dependencies working-directory: redmine run: | bundle install --jobs=4 --retry=3 --without development - name: Run Redmine rake tasks env: RAILS_ENV: test working-directory: redmine run: | bundle exec rake generate_secret_token bundle exec rake db:create db:migrate redmine:plugins:migrate bundle exec rake db:test:prepare - name: Run tests env: RAILS_ENV: test REDMINE_VERSION: ${{ matrix.redmine }} working-directory: redmine run: bundle exec rake redmine:plugins:test NAME=redmine_messenger RUBYOPT="-W0" - name: Run uninstall test env: RAILS_ENV: test REDMINE_VERSION: ${{ matrix.redmine }} working-directory: redmine run: bundle exec rake redmine:plugins:migrate NAME=redmine_messenger VERSION=0