PostgreSQL 13 will reach its end-of-life on November 13, 2025. So we're upgrading before that happens. We're also upgrading to PostgreSQL 14 in our CI. In this case, we're using the default distribution (Trixie, as of October 2025); it doesn't affect the development or production environments, so it's OK if use the default one.
40 lines
1.0 KiB
YAML
40 lines
1.0 KiB
YAML
name: schema
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches-ignore:
|
|
- i18n_master
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
schema:
|
|
runs-on: ubuntu-24.04
|
|
services:
|
|
postgres:
|
|
image: postgres:14.19
|
|
ports: ["5432:5432"]
|
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
env:
|
|
POSTGRES_USER: consul
|
|
POSTGRES_PASSWORD: password
|
|
env:
|
|
PGUSER: consul
|
|
PGPASSWORD: password
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true
|
|
- name: Copy secrets and database files
|
|
run: for i in config/*.example; do cp "$i" "${i/.example}"; done
|
|
- name: Backup schema file
|
|
run: cp db/schema.rb db/commited_schema.rb
|
|
- name: Setup database
|
|
run: bundle exec rake db:create db:migrate
|
|
- name: Check the commited schema is correct
|
|
run: diff db/schema.rb db/commited_schema.rb
|