40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
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
|
|
steps:
|
|
- name: Checkout source
|
|
uses: actions/checkout@v3
|
|
- 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: Build Docker Image
|
|
run: |
|
|
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 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
|