Maintenance: advance tutorial to React on Rails 17.0.0 #2
Workflow file for this run
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: Demo fleet smoke | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| schedule: | |
| - cron: "17 4 * * 1" | |
| workflow_dispatch: | |
| jobs: | |
| smoke: | |
| uses: shakacode/react_on_rails/.github/workflows/demo-fleet-smoke.yml@613c6c2a251a782328b26d68e7f23daa9b677497 | |
| with: | |
| ruby-version: "3.4.6" | |
| node-version: "22" | |
| install-command: >- | |
| bundle config set path vendor/bundle && bundle install --jobs 4 --retry 3 && yarn install --frozen-lockfile && | |
| docker run --name tutorial-fleet-postgres -e POSTGRES_DB=rails_test -e POSTGRES_USER=rails -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres:11-alpine@sha256:ea50b9fd617b66c9135816a4536cf6e0697d4eea7014a7194479c95f6edd5ef9 && | |
| for attempt in {1..30}; do docker inspect --format '{{.State.Running}}' tutorial-fleet-postgres | grep -qx true || exit 1; docker exec tutorial-fleet-postgres pg_isready -U rails -d rails_test && break; sleep 1; done; | |
| docker exec tutorial-fleet-postgres pg_isready -U rails -d rails_test | |
| test-command: >- | |
| RAILS_ENV=test NODE_ENV=test bundle exec rake react_on_rails:locale && | |
| RAILS_ENV=test NODE_ENV=test bundle exec rails react_on_rails:generate_packs && | |
| RAILS_ENV=test NODE_ENV=test bundle exec rake ci:js | |
| build-command: yarn build:dev | |
| smoke-command: >- | |
| node renderer/node-renderer.js & renderer_pid=$!; | |
| trap 'test -n "${rails_pid:-}" && kill "$rails_pid" 2>/dev/null || true; kill "$renderer_pid" 2>/dev/null || true; docker rm -f tutorial-fleet-postgres >/dev/null 2>&1 || true' EXIT; | |
| for attempt in {1..30}; do nc -z 127.0.0.1 3800 && break; sleep 1; done; nc -z 127.0.0.1 3800 || exit 1; | |
| DATABASE_URL=postgres://rails:password@127.0.0.1:5432/rails_test RAILS_ENV=development bundle exec rails db:prepare; | |
| DATABASE_URL=postgres://rails:password@127.0.0.1:5432/rails_test RAILS_ENV=development NODE_ENV=development bundle exec rails server -b 127.0.0.1 -p 3000 & rails_pid=$!; | |
| for attempt in {1..30}; do kill -0 "$rails_pid" 2>/dev/null || exit 1; curl --fail --silent --show-error http://127.0.0.1:3000/simple && exit 0; sleep 1; done; exit 1 |