Skip to content

Improved e2e tests

Improved e2e tests #63

Workflow file for this run

name: E2E Test
on:
push:
branches: [ '12' ]
pull_request:
branches: [ '12' ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
e2e_test:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
ruby: [ jruby, ruby-3.2.5 ]
neo4j: [ 5.22.0 ]
active_model: [ 7.1.3 ]
include:
- ruby: jruby
java-version: 17
env:
ACTIVE_MODEL_VERSION: ${{ matrix.active_model }}
JRUBY_OPTS: --debug -J-Xmx1280m -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF
steps:
- name: Start neo4j
run: docker run --name neo4j --env NEO4J_AUTH=neo4j/password --env NEO4J_ACCEPT_LICENSE_AGREEMENT=yes --env NEO4J_dbms_directories_import= -p7687:7687 -p7474:7474 -v `pwd`/tmp:/var/lib/neo4j/import --rm neo4j:${{ matrix.neo4j }}-enterprise &
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Set up Java
uses: actions/setup-java@v3
if: matrix.java-version
with:
distribution: 'temurin'
java-version: ${{ matrix.java-version }}
- name: Wait for neo4j
run: while [ $((curl localhost:7474/ > /dev/null 2>&1); echo $?) -ne 0 ]; do sleep 1; done
- name: Setup test rails app
run: |
if [ "${{ github.event_name }}" == "pull_request" ]; then
# For pull requests, get the SHA of the last commit in the PR
COMMIT_SHA=$(jq -r '.pull_request.head.sha' < "${{ github.event_path }}")
else
# For push events (like master branch), use the commit SHA
COMMIT_SHA="${{ github.sha }}"
fi
./e2e_tests/setup.sh $COMMIT_SHA
- name: Install dependencies
run: bundle update
- name: Run tests
run: bundle exec rspec -Oe2e_tests/.e2e_rspec e2e_tests/