Skip to content

test: update test depending on updated Git repository test data #719

test: update test depending on updated Git repository test data

test: update test depending on updated Git repository test data #719

Workflow file for this run

name: Test
on:
push:
pull_request:
schedule:
- cron: |
0 0 * * *
jobs:
test:
name: Redmine ${{ matrix.redmine-version }} & ${{ matrix.rdbms }} & Ruby ${{ matrix.ruby-version }}${{ matrix.with-wiki-extensions == 'yes' && ' & Wiki Extensions' || '' }}
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
- redmine-version: "5.0"
ruby-version: "2.7"
rdbms: "MySQL"
- redmine-version: "5.0"
ruby-version: "2.7"
rdbms: "PostgreSQL"
- redmine-version: "5.0"
ruby-version: "3.0"
rdbms: "MySQL"
- redmine-version: "5.0"
ruby-version: "3.0"
rdbms: "PostgreSQL"
- redmine-version: "5.0"
ruby-version: "3.1"
rdbms: "MySQL"
- redmine-version: "5.0"
ruby-version: "3.1"
rdbms: "PostgreSQL"
- redmine-version: "5.1"
ruby-version: "2.7"
rdbms: "MySQL"
- redmine-version: "5.1"
ruby-version: "2.7"
rdbms: "PostgreSQL"
- redmine-version: "5.1"
ruby-version: "3.0"
rdbms: "MySQL"
- redmine-version: "5.1"
ruby-version: "3.0"
rdbms: "PostgreSQL"
- redmine-version: "5.1"
ruby-version: "3.1"
rdbms: "MySQL"
- redmine-version: "5.1"
ruby-version: "3.1"
rdbms: "PostgreSQL"
- redmine-version: "5.1"
ruby-version: "3.2"
rdbms: "MySQL"
- redmine-version: "5.1"
ruby-version: "3.2"
rdbms: "MySQL"
with-wiki-extensions: "yes"
- redmine-version: "5.1"
ruby-version: "3.2"
rdbms: "PostgreSQL"
- redmine-version: "master"
ruby-version: "3.3"
rdbms: "MySQL"
- redmine-version: "master"
ruby-version: "3.3"
rdbms: "PostgreSQL"
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
- name: Setup environment variables
run: |
case "${{ matrix.redmine-version }}" in
master)
echo "REDMINE_BRANCH=master" >> ${GITHUB_ENV}
;;
*)
echo "REDMINE_BRANCH=${{ matrix.redmine-version }}-stable" >> \
${GITHUB_ENV}
;;
esac
case "${{ matrix.rdbms }}" in
MySQL)
echo "DOCKER_TAG=mysql-8.0-latest" >> ${GITHUB_ENV}
echo "GROONGA_ADAPTER=mroonga" >> ${GITHUB_ENV}
echo "RDBMS=mysql" >> ${GITHUB_ENV}
echo "RDBMS_PORT=3306" >> ${GITHUB_ENV}
;;
PostgreSQL)
echo "DOCKER_TAG=latest-debian-13" >> ${GITHUB_ENV}
echo "GROONGA_ADAPTER=pgroonga" >> ${GITHUB_ENV}
echo "RDBMS=postgresql" >> ${GITHUB_ENV}
echo "RDBMS_PORT=5432" >> ${GITHUB_ENV}
;;
esac
- name: Install dependencies
run: |
case ${RDBMS} in
postgresql)
sudo apt update
sudo apt install -y postgresql-client
;;
esac
- name: Run RDBMS
run: |
mkdir -p mysql
docker run \
--detach \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
-e POSTGRES_HOST_AUTH_METHOD=trust \
-p ${RDBMS_PORT}:${RDBMS_PORT} \
-v ${PWD}/mysql:/var/lib/mysql \
groonga/${GROONGA_ADAPTER}:${DOCKER_TAG}
- name: Prepare Redmine
run: |
cd ..
git clone \
--depth 1 \
--branch ${REDMINE_BRANCH} \
https://github.com/redmine/redmine.git
cd redmine
sed \
-i'' \
-e 's/using: :chrome,/using: :headless_chrome,/g' \
test/application_system_test_case.rb
svnadmin create tmp/test/subversion_repository
zcat test/fixtures/repositories/subversion_repository.dump.gz | \
svnadmin load tmp/test/subversion_repository
tar xf test/fixtures/repositories/git_repository.tar.gz -C tmp/test
cd plugins
ln -s ../../redmine_full_text_search ./full_text_search
cd ../
cp plugins/full_text_search/config/database.yml.example.${{ matrix.redmine-version }}.${RDBMS} \
config/database.yml
cp plugins/full_text_search/config/initializers/schema_format.rb \
config/initializers/schema_format.rb
- name: Install Wiki Extensions
run: |
# This is for testing tag support for Wiki Extensions.
git clone \
--depth 1 \
https://github.com/haru/redmine_wiki_extensions.git \
../redmine/plugins/redmine_wiki_extensions
cp ../redmine/plugins/redmine_wiki_extensions/{Gemfile_for_test,Gemfile}
if: matrix.with-wiki-extensions == 'yes'
- name: Install
run: |
cd ../redmine
bundle install
bin/rails db:create
bin/rails generate_secret_token
bin/rails db:migrate
bin/rails redmine:load_default_data REDMINE_LANG=en
bin/rails redmine:plugins:migrate
- name: Test
run: |
cd ../redmine
RAILS_ENV=test bin/rails redmine:plugins:test NAME=full_text_search
bin/rails redmine:plugins:migrate NAME=full_text_search VERSION=0
bin/rails redmine:plugins:migrate NAME=full_text_search