split index template #1425
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: Tests | |
| on: | |
| push: | |
| branches: | |
| - 'main' | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: [3.2, 3.3, 3.4, 4.0] | |
| env: | |
| PGHOST: localhost | |
| PGUSER: administrate | |
| PGPASSWORD: administrate | |
| services: | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_USER: administrate | |
| POSTGRES_DB: administrate_test | |
| POSTGRES_PASSWORD: administrate | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 1s | |
| --health-timeout 2s | |
| --health-retries 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Ruby ${{ matrix.ruby }} | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| bundler-cache: true | |
| - name: Set up JS | |
| uses: actions/setup-node@v6 | |
| with: | |
| cache: yarn | |
| - name: Install Ruby dependencies | |
| run: bundle install | |
| - name: Install Appraisal dependencies | |
| run: bundle exec appraisal install | |
| - name: Install JS dependencies | |
| run: yarn install | |
| - name: Setup the environment | |
| run: cp .sample.env .env | |
| - run: cp spec/example_app/config/database.yml.sample spec/example_app/config/database.yml | |
| - name: Setup the database | |
| run: bundle exec rake db:setup | |
| - name: Build assets | |
| run: yarn run build && yarn run build:css | |
| - name: Run tests | |
| run: bundle exec rspec | |
| appraisal: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: [3.1, 3.2, 3.3, 3.4, 4.0] | |
| appraisal: [rails61, rails70, rails80, pundit21] | |
| include: | |
| - ruby: '3.0' | |
| appraisal: rails60 | |
| exclude: | |
| - ruby: 3.1 | |
| appraisal: rails80 | |
| env: | |
| PGHOST: localhost | |
| PGUSER: administrate | |
| PGPASSWORD: administrate | |
| services: | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_USER: administrate | |
| POSTGRES_DB: administrate_test | |
| POSTGRES_PASSWORD: administrate | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 1s | |
| --health-timeout 2s | |
| --health-retries 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup the environment | |
| run: cp .sample.env .env | |
| - run: cp spec/example_app/config/database.yml.sample spec/example_app/config/database.yml | |
| - name: Prepare main database schema | |
| run: bin/generate-database-schema | |
| # Workaround for https://github.com/ruby/rubygems/issues/9284. | |
| - name: Remove pre-installed Ruby 4.0 | |
| if: ${{ matrix.ruby == '4.0' }} | |
| run: rm -rf /opt/hostedtoolcache/Ruby/4.0* | |
| - name: Set up Ruby ${{ matrix.ruby }} | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| - name: Set up JS | |
| uses: actions/setup-node@v6 | |
| with: | |
| cache: yarn | |
| - name: Remove Ruby version specification | |
| run: sed -i 's/^ruby\(.*\)//g' gemfiles/${{ matrix.appraisal }}.gemfile | |
| - name: Install Ruby dependencies | |
| run: bundle install | |
| env: | |
| BUNDLE_GEMFILE: gemfiles/${{ matrix.appraisal }}.gemfile | |
| - name: Install JS dependencies | |
| run: yarn install | |
| - name: Build assets | |
| run: yarn run build && yarn run build:css | |
| - name: Run tests | |
| run: bundle exec rspec | |
| env: | |
| BUNDLE_GEMFILE: gemfiles/${{ matrix.appraisal }}.gemfile |