]> git.openstreetmap.org Git - rails.git/blobdiff - .github/workflows/docker.yml
Merge remote-tracking branch 'upstream/pull/4776'
[rails.git] / .github / workflows / docker.yml
index c7874db392b725c947341161fe1eb12f95260eae..771d307cfe8d412631548f0ebec2a629fe46b897 100644 (file)
@@ -2,13 +2,16 @@ name: Docker
 on:
   - push
   - pull_request
+concurrency:
+  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
+  cancel-in-progress: true
 jobs:
   test:
     name: Docker
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-22.04
     steps:
     - name: Checkout source
-      uses: actions/checkout@v1
+      uses: actions/checkout@v4
     - name: Poke config
       run: |
         cp config/example.storage.yml config/storage.yml
@@ -16,18 +19,23 @@ jobs:
         touch config/settings.local.yml
     - name: Build Docker Image
       run: |
-        docker-compose build
-    - name: Start Docker-Compose
+        docker compose build
+    - name: Start Docker Compose
       run: |
-        docker-compose up -d
+        docker compose up -d
         sleep 15 # let the DB warm up a little
     - name: Prepare Database
       run: |
-        docker-compose run --rm web rake db:migrate
-        docker-compose run --rm web osmosis --rx docker/null-island.osm.xml --wd host=db database=openstreetmap user=openstreetmap password=openstreetmap validateSchemaVersion=no
-        docker-compose run web bundle exec rake yarn:install
+        docker compose run --rm web bundle exec rails db:migrate
+        docker compose run --rm web bundle exec rails i18n:js:export
+        docker compose run --rm web bundle exec rails assets:precompile
+        docker compose run --rm web osmosis --rx docker/null-island.osm.xml --wd host=db database=openstreetmap user=openstreetmap password=openstreetmap validateSchemaVersion=no
     - name: Test Basic Website
       run: |
         curl -siL http://127.0.0.1:3000 | egrep '^HTTP/1.1 200 OK'
         curl -siL http://127.0.0.1:3000 | grep 'OpenStreetMap is the free wiki world map'
         curl -siL http://127.0.0.1:3000/api/0.6/node/1 | grep 'Null Island'
+    - name: Test Complete Suite
+      run: |
+        docker compose run --rm web bundle exec rails db:test:prepare
+        docker compose run --rm web bundle exec rails test:all