diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 20bdb8dc..eb9ce9fd 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby: ["2.6", "2.7"] + ruby: ["2.6", "2.7", "3.0"] db: [sqlite, mysql, postgres] exclude: - ruby: "2.6" diff --git a/Dockerfile-2.5 b/Dockerfile-3.0 similarity index 98% rename from Dockerfile-2.5 rename to Dockerfile-3.0 index f14decab..534d5c92 100644 --- a/Dockerfile-2.5 +++ b/Dockerfile-3.0 @@ -1,4 +1,4 @@ -FROM ruby:2.5 +FROM ruby:3.0 # throw errors if Gemfile has been modified since Gemfile.lock RUN bundle config --global frozen 1 diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index ab3a3778..5d788103 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -2,6 +2,10 @@ See doc/upgrading.md for the upgrade documentation! ## Version 2.6 +## New features + +* Ruby 3.0 is now supported. + ## Removed features * No longer supporting EOL Ruby 2.5 diff --git a/test-envs/docker-compose-2.5-mysql.yml b/test-envs/docker-compose-3.0-mysql.yml similarity index 95% rename from test-envs/docker-compose-2.5-mysql.yml rename to test-envs/docker-compose-3.0-mysql.yml index 249e1f35..2cd0413f 100644 --- a/test-envs/docker-compose-2.5-mysql.yml +++ b/test-envs/docker-compose-3.0-mysql.yml @@ -10,7 +10,7 @@ services: web: build: context: .. - dockerfile: Dockerfile-2.5 + dockerfile: Dockerfile-3.0 environment: # These are set in script/ci-build, so we need to pass-thru them. RAILS_ENV: $RAILS_ENV diff --git a/test-envs/docker-compose-3.0-postgres.yml b/test-envs/docker-compose-3.0-postgres.yml new file mode 100644 index 00000000..0c6d9b03 --- /dev/null +++ b/test-envs/docker-compose-3.0-postgres.yml @@ -0,0 +1,32 @@ +version: '3' +services: + db: + image: postgres:13 + environment: + POSTGRES_DB: ${DATABASE_NAME:-tracks} + POSTGRES_PASSWORD: password + volumes: + - db-data:/var/lib/postgresql/data + web: + build: + context: .. + dockerfile: Dockerfile-3.0 + environment: + # These are set in script/ci-build, so we need to pass-thru them. + RAILS_ENV: $RAILS_ENV + DATABASE_NAME: $DATABASE_NAME + DATABASE_USERNAME: postgres + DATABASE_PASSWORD: password + DATABASE_TYPE: postgresql + DATABASE_ENCODING: unicode + DATABASE_PORT: 5432 + volumes: + - ${VOLUME:-..}:/app:Z + - ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z + - ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z + ports: + - 3000:3000 + depends_on: + - db +volumes: + db-data: diff --git a/test-envs/docker-compose-3.0-sqlite.yml b/test-envs/docker-compose-3.0-sqlite.yml new file mode 100644 index 00000000..ba4d3709 --- /dev/null +++ b/test-envs/docker-compose-3.0-sqlite.yml @@ -0,0 +1,17 @@ +version: '3' +services: + web: + build: + context: .. + dockerfile: Dockerfile-3.0 + environment: + # These are set in script/ci-build, so we need to pass-thru them. + RAILS_ENV: $RAILS_ENV + DATABASE_NAME: "/app/db.sqlite" + DATABASE_TYPE: sqlite3 + volumes: + - ${VOLUME:-..}:/app:Z + - ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z + - ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z + ports: + - 3000:3000