diff --git a/.circleci/config.yml b/.circleci/config.yml index b48daf2..9ea7e6f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2.1 orbs: - redmine-plugin: agileware-jp/redmine-plugin@3.6.0 + redmine-plugin: agileware-jp/redmine-plugin@3.8.0 jobs: run_tests: @@ -14,7 +14,7 @@ jobs: default: redmine ruby_version: type: string - default: "3.2" # https://github.com/redmine/redmine/blob/5.1.0/Gemfile#L3 + default: "3.3" # https://github.com/redmine/redmine/blob/5.0.3/Gemfile#L3 database: type: enum enum: @@ -62,18 +62,23 @@ workflows: test: jobs: - run_tests: - name: latest Redmine (5.1) with PostgreSQL + name: latest Redmine with PostgreSQL database: pg - run_tests: - name: latest Redmine (5.1) with MySQL + name: latest Redmine with MySQL database: mysql - run_tests: - name: redmine-4.2 with PostgreSQL - redmine_version: "4.2.10" - ruby_version: "2.7" # https://github.com/redmine/redmine/blob/4.2.10/Gemfile#L3 + name: redmine-5.1.6 with PostgreSQL + redmine_version: "5.1.6" + ruby_version: "3.2" # https://github.com/redmine/redmine/blob/5.1.6/Gemfile#L3 + database: pg + - run_tests: + name: redmine-5.0.11 with PostgreSQL + redmine_version: "5.0.11" + ruby_version: "3.1" # https://github.com/redmine/redmine/blob/5.0.11/Gemfile#L3 database: pg - run_tests: - name: redmine-4.2 with MySQL + name: redmine-4.2 with PostgreSQL redmine_version: "4.2.10" ruby_version: "2.7" # https://github.com/redmine/redmine/blob/4.2.10/Gemfile#L3 - database: mysql + database: pg diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..99b4673 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,8 @@ +FROM redmine:6.0.3 + +# 必要なパッケージをインストール +RUN apt-get update && apt-get install -y \ + build-essential \ + libssl-dev \ + libreadline-dev \ + zlib1g-dev diff --git a/.devcontainer/database.yml b/.devcontainer/database.yml new file mode 100644 index 0000000..8c4c4fd --- /dev/null +++ b/.devcontainer/database.yml @@ -0,0 +1,16 @@ +production: + adapter: postgresql + host: "db" + port: "5432" + username: "postgres" + password: "example" + database: "postgres" + encoding: "utf8" +test: + adapter: postgresql + host: "db" + port: "5432" + username: "postgres" + password: "example" + database: "test" + encoding: "utf8" diff --git a/.devcontainer/db/docker-entrypoint-initdb.d/create-test-database.sql b/.devcontainer/db/docker-entrypoint-initdb.d/create-test-database.sql new file mode 100644 index 0000000..22d7491 --- /dev/null +++ b/.devcontainer/db/docker-entrypoint-initdb.d/create-test-database.sql @@ -0,0 +1,2 @@ +CREATE DATABASE test; +GRANT ALL PRIVILEGES ON DATABASE test TO postgres; diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..75bac87 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,15 @@ +{ + "name": "Redmine", + "dockerComposeFile": "docker-compose.yml", + "service": "redmine", + "remoteUser": "redmine", + "customizations": { + "vscode": { + "settings": { + "terminal.integrated.defaultProfile.linux": "bash" + } + } + }, + "workspaceFolder": "/usr/src/redmine/plugins/view_customize", + "postCreateCommand": "cd /usr/src/redmine && bundle config set without development && bundle install --verbose && bundle exec rails db:migrate:reset RAILS_ENV=test && bundle exec rake redmine:plugins:migrate RAILS_ENV=production && bundle exec rake redmine:plugins:migrate RAILS_ENV=test" +} \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..c0d2aef --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,27 @@ +services: + redmine: + build: + context: . + dockerfile: Dockerfile + restart: always + ports: + - 8080:3000 + environment: + REDMINE_DB_POSTGRES: db + REDMINE_DB_PASSWORD: example + volumes: + - redmine-files:/usr/src/redmine/files + - ./database.yml:/usr/src/redmine/config/database.yml + - ./..:/usr/src/redmine/plugins/view_customize + db: + image: postgres:latest + restart: unless-stopped + volumes: + - postgres-data:/var/lib/postgresql/data + - ./db/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d + environment: + POSTGRES_PASSWORD: example + POSTGRES_DB: redmine +volumes: + redmine-files: + postgres-data: diff --git a/Vagrantfile b/Vagrantfile deleted file mode 100644 index 5fe2f3e..0000000 --- a/Vagrantfile +++ /dev/null @@ -1,10 +0,0 @@ -Vagrant.configure("2") do |config| - config.vm.box = "onozaty/redmine-5.0" - config.vm.network "private_network", ip: "192.168.33.10" - - config.vm.synced_folder ".", "/var/lib/redmine/plugins/view_customize", create: true, mount_options: ['dmode=755','fmode=655'] - - config.vm.provider "virtualbox" do |vb| - vb.memory = "1024" - end -end diff --git a/test/unit/view_customize_view_hook_test.rb b/test/unit/view_customize_view_hook_test.rb index 7369d32..babe658 100644 --- a/test/unit/view_customize_view_hook_test.rb +++ b/test/unit/view_customize_view_hook_test.rb @@ -72,9 +72,16 @@ def test_view_layouts_base_html_head expected = Regexp.escape("\n") expected << Regexp.escape("\n") + expected << "(" expected << Regexp.escape("