|
|
- name: Test one step migrations
- on:
- push:
- branches-ignore:
- - 'dependabot/**'
- pull_request:
-
- jobs:
- pre_job:
- runs-on: ubuntu-latest
-
- outputs:
- should_skip: ${{ steps.skip_check.outputs.should_skip }}
-
- steps:
- - id: skip_check
- uses: fkirc/skip-duplicate-actions@v5
- with:
- paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-one-step.yml"]'
-
- test:
- runs-on: ubuntu-latest
- needs: pre_job
- if: needs.pre_job.outputs.should_skip != 'true'
-
- services:
- postgres:
- image: postgres:14.5
- env:
- POSTGRES_PASSWORD: postgres
- POSTGRES_USER: postgres
- options: >-
- --health-cmd pg_isready
- --health-interval 10s
- --health-timeout 5s
- --health-retries 5
- ports:
- - 5432:5432
-
- redis:
- image: redis:7.0
- options: >-
- --health-cmd "redis-cli ping"
- --health-interval 10s
- --health-timeout 5s
- --health-retries 5
- ports:
- - 6379:6379
-
- env:
- CONTINUOUS_INTEGRATION: true
- DB_HOST: localhost
- DB_USER: postgres
- DB_PASS: postgres
- DISABLE_SIMPLECOV: true
- RAILS_ENV: test
- BUNDLE_CLEAN: true
- BUNDLE_FROZEN: true
- BUNDLE_WITHOUT: 'development production'
- BUNDLE_JOBS: 3
- BUNDLE_RETRY: 3
-
- steps:
- - uses: actions/checkout@v3
-
- - name: Install native Ruby dependencies
- run: sudo apt-get install -y libicu-dev libidn11-dev
-
- - name: Set up bundler cache
- uses: ruby/setup-ruby@v1
- with:
- ruby-version: .ruby-version
- bundler-cache: true
-
- - name: Create database
- run: './bin/rails db:create'
-
- - name: Run migrations up to v2.0.0
- run: './bin/rails db:migrate VERSION=20171010025614'
-
- - name: Populate database with test data
- run: './bin/rails tests:migrations:populate_v2'
-
- - name: Run migrations up to v2.4.0
- run: './bin/rails db:migrate VERSION=20180514140000'
-
- - name: Populate database with test data
- run: './bin/rails tests:migrations:populate_v2_4'
-
- - name: Run migrations up to v2.4.3
- run: './bin/rails db:migrate VERSION=20180707154237'
-
- - name: Populate database with test data
- run: './bin/rails tests:migrations:populate_v2_4_3'
-
- - name: Run all remaining migrations
- run: './bin/rails db:migrate'
-
- - name: Check migration result
- run: './bin/rails tests:migrations:check_database'
|