E2E test shell script improvements #70
Workflow file for this run
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
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.3.5 ] | |
neo4j: [ 5.23.0 ] | |
active_model: [ 7.1.4, 7.2.1 ] | |
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/ |