X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/810a941e81aa53147da9e653d248f8cf2c5ef787..585b77abba1a4bbc2f2b3db4a5900c84ba20b680:/.github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 23d9c6e01..771d307cf 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -2,18 +2,40 @@ 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 cp config/docker.database.yml config/database.yml touch config/settings.local.yml - - name: Docker Build + - name: Build Docker Image run: | - docker-compose build + docker compose build + - name: Start Docker Compose + run: | + docker compose up -d + sleep 15 # let the DB warm up a little + - name: Prepare Database + run: | + 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