6   group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
 
   7   cancel-in-progress: true
 
  13     - name: Checkout source
 
  14       uses: actions/checkout@v4
 
  17         cp config/example.storage.yml config/storage.yml
 
  18         cp config/docker.database.yml config/database.yml
 
  19         touch config/settings.local.yml
 
  20     - name: Build Docker Image
 
  23     - name: Start Docker Compose
 
  26         sleep 15 # let the DB warm up a little
 
  27     - name: Prepare Database
 
  29         docker compose run --rm web bundle exec rails db:migrate
 
  30         docker compose run --rm web bundle exec rails i18n:js:export
 
  31         docker compose run --rm web bundle exec rails assets:precompile
 
  32         docker compose run --rm web osmosis --rx docker/null-island.osm.xml --wd host=db database=openstreetmap user=openstreetmap password=openstreetmap validateSchemaVersion=no
 
  33     - name: Test Basic Website
 
  35         curl -siL http://127.0.0.1:3000 | egrep '^HTTP/1.1 200 OK'
 
  36         curl -siL http://127.0.0.1:3000 | grep 'OpenStreetMap is the free wiki world map'
 
  37         curl -siL http://127.0.0.1:3000/api/0.6/node/1 | grep 'Null Island'
 
  38     - name: Test Complete Suite
 
  40         docker compose run --rm web bundle exec rails db:test:prepare
 
  41         docker compose run --rm web bundle exec rails test:all