Automatic process phase changer #2
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: "[CI] Process Settings" | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - release/* | |
| - "*-stable" | |
| pull_request: | |
| env: | |
| RUBY_VERSION: 3.3.4 | |
| jobs: | |
| test-report: | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:14 | |
| ports: ["5432:5432"] | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| env: | |
| POSTGRES_PASSWORD: postgres | |
| env: | |
| DATABASE_USERNAME: postgres | |
| DATABASE_PASSWORD: postgres | |
| DATABASE_HOST: localhost | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - uses: ruby/setup-ruby@master | |
| with: | |
| ruby-version: ${{ env.RUBY_VERSION }} | |
| # The test app is generated with Decidim's AppGenerator, which installs the | |
| # npm/shakapacker dependencies, so Node is required before `rake test_app`. | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: decidim-process_settings/.nvmrc | |
| - name: Recover Ruby dependency cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./vendor/bundle | |
| key: ${{ runner.OS }}-rubydeps-${{ hashFiles('Gemfile.lock') }} | |
| restore-keys: | | |
| ${{ runner.OS }}-rubydeps-${{ env.cache-name }}- | |
| ${{ runner.OS }}-rubydeps- | |
| ${{ runner.OS }}- | |
| - name: Set bundle local config vendor/bundle path | |
| run: bundle config set --local path 'vendor/bundle' | |
| - name: Install Ruby deps | |
| uses: nick-invision/retry@v3 | |
| with: | |
| timeout_minutes: 10 | |
| max_attempts: 3 | |
| retry_on: error | |
| command: | | |
| cd decidim-process_settings | |
| bundle install --jobs 4 --retry 3 | |
| - name: Generate process_settings test_app | |
| run: | | |
| cd decidim-process_settings | |
| bundle exec rake test_app | |
| - name: Precompile assets | |
| working-directory: ./decidim-process_settings/spec/decidim_dummy_app | |
| run: RAILS_ENV=test bundle exec rails shakapacker:compile | |
| - name: Run Rubocop | |
| run: | | |
| cd decidim-process_settings | |
| bundle exec rubocop | |
| - name: Run RSpec | |
| uses: nick-invision/retry@v3 | |
| with: | |
| timeout_minutes: 10 | |
| max_attempts: 3 | |
| retry_on: error | |
| command: | | |
| cd decidim-process_settings | |
| CI=1 DISABLE_SPRING=1 RAILS_ENV=test bundle exec rspec --backtrace |