name: Examples on: [push, pull_request] jobs: test: if: github.repository_owner == 'flippercloud' name: Example on ruby ${{ matrix.ruby }} and rails ${{ matrix.rails }} runs-on: ubuntu-latest services: redis: image: redis ports: ['6379:6379'] options: >- --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 strategy: matrix: ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3'] rails: ['5.2', '6.0.0', '6.1.0', '7.0.0', '7.1.0'] exclude: - ruby: "2.6" rails: "7.1.0" - ruby: "2.6" rails: "7.0.0" - ruby: "2.7" rails: "7.1.0" - ruby: "3.0" rails: "5.2" - ruby: "3.1" rails: "5.2" - ruby: "3.1" rails: "6.0.0" - ruby: "3.2" rails: "5.2" - ruby: "3.2" rails: "6.0.0" - ruby: "3.2" rails: "6.1.0" - ruby: "3.3" rails: "5.2" - ruby: "3.3" rails: "6.0.0" - ruby: "3.3" rails: "6.1.0" env: SQLITE3_VERSION: 1.4.1 REDIS_URL: redis://localhost:6379/0 CI: true RAILS_VERSION: ${{ matrix.rails }} steps: - name: Setup memcached uses: KeisukeYamashita/memcached-actions@v1 - name: Start MongoDB uses: supercharge/mongodb-github-action@v1.10.0 with: mongodb-version: 4.0 - name: Check out repository code uses: actions/checkout@v4 - name: Do some action caching uses: actions/cache@v4 with: path: vendor/bundle key: ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ matrix.rails }}-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ matrix.rails }}- - name: Install libpq-dev run: sudo apt-get -yqq install libpq-dev - name: Set up Ruby ${{ matrix.ruby }} uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true # 'bundle install' and cache gems - name: Run Examples with Rails ${{ matrix.rails }} env: FLIPPER_CLOUD_TOKEN: ${{ secrets.FLIPPER_CLOUD_TOKEN }} FLIPPER_CLOUD_TOKEN_26_52: ${{ secrets.FLIPPER_CLOUD_TOKEN_26_52 }} FLIPPER_CLOUD_TOKEN_26_60: ${{ secrets.FLIPPER_CLOUD_TOKEN_26_60 }} FLIPPER_CLOUD_TOKEN_26_61: ${{ secrets.FLIPPER_CLOUD_TOKEN_26_61 }} FLIPPER_CLOUD_TOKEN_27_52: ${{ secrets.FLIPPER_CLOUD_TOKEN_27_52 }} FLIPPER_CLOUD_TOKEN_27_60: ${{ secrets.FLIPPER_CLOUD_TOKEN_27_60 }} FLIPPER_CLOUD_TOKEN_27_61: ${{ secrets.FLIPPER_CLOUD_TOKEN_27_61 }} FLIPPER_CLOUD_TOKEN_27_70: ${{ secrets.FLIPPER_CLOUD_TOKEN_27_70 }} FLIPPER_CLOUD_TOKEN_30_60: ${{ secrets.FLIPPER_CLOUD_TOKEN_30_60 }} FLIPPER_CLOUD_TOKEN_30_61: ${{ secrets.FLIPPER_CLOUD_TOKEN_30_61 }} FLIPPER_CLOUD_TOKEN_30_70: ${{ secrets.FLIPPER_CLOUD_TOKEN_30_70 }} FLIPPER_CLOUD_TOKEN_31_61: ${{ secrets.FLIPPER_CLOUD_TOKEN_31_61 }} FLIPPER_CLOUD_TOKEN_31_70: ${{ secrets.FLIPPER_CLOUD_TOKEN_31_70 }} RAILS_VERSION: ${{ matrix.rails }} run: script/examples