name: Tests on: push: jobs: tests: name: test ${{matrix.db}} ruby-${{ matrix.ruby }} runs-on: ubuntu-latest strategy: matrix: ruby: ['3.1', '3.2', '3.3'] db: ['postgresql', 'mysql2', 'sqlite3'] fail-fast: false services: postgres: image: postgres:13 env: POSTGRES_DB: redmine_test POSTGRES_USER: root POSTGRES_PASSWORD: root ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 mysql: image: mysql:8.0 env: MYSQL_DATABASE: redmine_test MYSQL_ROOT_PASSWORD: 'root' ports: - 3306:3306 options: >- --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies and configure environment run: | sudo apt-get update sudo apt-get install --yes --quiet ghostscript gsfonts locales bzr cvs sudo locale-gen en_US # for bazaar non ascii test - name: Allow imagemagick to read PDF files run: | echo '' > policy.xml echo '' >> policy.xml echo '' >> policy.xml sudo rm /etc/ImageMagick-6/policy.xml sudo mv policy.xml /etc/ImageMagick-6/policy.xml - if: ${{ matrix.db == 'sqlite3' }} name: Prepare test database for sqlite3 run: | cat > config/database.yml < config/database.yml <