Don't have time to keep up to date - people should just use selenium #91
This file contains 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
# This workflow will download a prebuilt Ruby version, install dependencies and | |
# run tests with Rake | |
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby | |
name: Build | |
"on": push | |
env: | |
CUCUMBER_PUBLISH_QUIET: true | |
RUBYOPTS: "--disable-did-you-mean" | |
NOKOGIRI_USE_SYSTEM_LIBRARIES: true | |
JAVA_OPTS: "-Djava.security.egd=file:/dev/urandom" | |
WD_CACHE_TIME: 0 | |
jobs: | |
rack_smoke: | |
runs-on: ubuntu-latest | |
env: | |
HTML5_PARSING: true | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["3.0", "3.1", "3.2"] | |
task: ["rack_smoke", "cucumber"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run smoke tests | |
run: bundle exec rake ${{ matrix.task }} | |
headless: | |
runs-on: ubuntu-latest | |
env: | |
HEADLESS: true | |
strategy: | |
# Ensure all jobs are run to completion | |
fail-fast: false | |
matrix: | |
ruby: ["3.2"] | |
task: ["spec_chrome", "spec_firefox"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run tests | |
run: bundle exec rake ${{ matrix.task }} | |
headless_base_versions: | |
runs-on: ubuntu-latest | |
env: | |
HEADLESS: true | |
BUNDLE_GEMFILE: gemfiles/Gemfile.base-versions | |
strategy: | |
# Ensure all jobs are run to completion | |
fail-fast: false | |
matrix: | |
ruby: ["3.0"] | |
task: ["spec_chrome", "spec_firefox"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install non-ruby dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libxslt-dev | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run tests | |
run: bundle exec rake ${{ matrix.task }} | |
remote_chrome: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: ["3.0"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run remote Chrome | |
run: docker-compose up -d selenium_chrome | |
- name: Run specs | |
run: bundle exec rake spec_chrome_remote | |
remote_firefox: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: ["3.1"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run remote Firefox | |
run: docker-compose up -d selenium_firefox | |
- name: Run specs | |
run: bundle exec rake spec_firefox_remote | |
non_headless: | |
runs-on: ubuntu-latest | |
strategy: | |
# Ensure all jobs are run to completion | |
fail-fast: false | |
matrix: | |
ruby: ["3.0"] | |
task: ["spec_chrome", "spec_firefox"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install non-ruby dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install xvfb fluxbox | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run tests inside a window manager | |
run: xvfb-run sh -c "fluxbox & bundle exec rake ${{ matrix.task }}; killall fluxbox" | |
rack_3: | |
runs-on: ubuntu-latest | |
env: | |
HEADLESS: true | |
BUNDLE_GEMFILE: gemfiles/Gemfile.rack3 | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["3.2"] | |
task: ["spec_rack"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run smoke tests | |
run: bundle exec rake ${{ matrix.task }} | |