rename #24
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: GeoNode Test Suites | |
| on: [push, workflow_dispatch] | |
| jobs: | |
| # ------------------------------------------------- | |
| # BUILD DOCKER IMAGES AND SHARE AS ARTIFACTS | |
| # ------------------------------------------------- | |
| build_and_test: | |
| name: Build and Run Tests | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Build all services (Docker Compose v2) | |
| run: | | |
| docker compose --env-file .env_test -f docker-compose-test.yml build --progress plain | |
| - name: Start the stack | |
| run: docker compose --env-file .env_test -f docker-compose-test.yml up -d | |
| working-directory: ${{ github.workspace }} | |
| # - name: Wait for services to become healthy | |
| # run: | | |
| # n=1 | |
| # m=10 | |
| # until [ $n -gt $m ] | |
| # do | |
| # sleep 60 | |
| # DJANGO_STATUS=$(docker inspect --format='{{.State.Health.Status}}' django4geonode) | |
| # GEOSERVER_STATUS=$(docker inspect --format='{{.State.Health.Status}}' geoserver4geonode) | |
| # echo "⏳ Waited $n min (of $m)" | |
| # if [[ $DJANGO_STATUS == healthy && $GEOSERVER_STATUS == healthy ]]; then | |
| # break | |
| # fi | |
| # docker ps | |
| # n=$((n+1)) | |
| # done | |
| # [[ $DJANGO_STATUS == healthy && $GEOSERVER_STATUS == healthy ]] | |
| # working-directory: ${{ github.workspace }} | |
| - name: Setup test databases | |
| run: | | |
| docker compose --env-file .env_test -f docker-compose-test.yml exec db psql -U postgres -c 'SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid();' | |
| docker compose --env-file .env_test -f docker-compose-test.yml exec db createdb -U postgres -T postgres test_postgres | |
| docker compose --env-file .env_test -f docker-compose-test.yml exec db createdb -U postgres -T postgres test_geonode | |
| docker compose --env-file .env_test -f docker-compose-test.yml exec db createdb -U postgres -T postgres test_geonode_data | |
| docker compose --env-file .env_test -f docker-compose-test.yml exec db psql -U postgres -d test_geonode -c 'CREATE EXTENSION IF NOT EXISTS postgis;' | |
| docker compose --env-file .env_test -f docker-compose-test.yml exec db psql -U postgres -d test_geonode_data -c 'CREATE EXTENSION IF NOT EXISTS postgis;' | |
| - name: Run tests | |
| run: | | |
| docker compose --env-file .env_test -f docker-compose-test.yml exec django bash -lc ' | |
| TESTS=$(python -c "import sys;from geonode import settings;print(' '.join([a+'.tests' for a in settings.GEONODE_APPS]))") && | |
| ./tests/test.sh \ | |
| geonode.tests.smoke \ | |
| $TESTS \ | |
| geonode.tests.test_search \ | |
| geonode.tests.test_utils \ | |
| geonode.tests.test_headers \ | |
| geonode.api.tests \ | |
| geonode.tests.test_rest_api \ | |
| geonode.base.api.tests \ | |
| geonode.layers.api.tests \ | |
| geonode.maps.api.tests \ | |
| geonode.documents.api.tests \ | |
| geonode.geoapps.api.tests \ | |
| geonode.upload \ | |
| geonode.tests.csw \ | |
| geonode.catalogue.backends.tests | |
| ' | |
| working-directory: ${{ github.workspace }} | |
| - name: Stop stack (always) | |
| if: always() | |
| run: docker compose --env-file .env_test -f docker-compose-test.yml down -v | |
| working-directory: ${{ github.workspace }} | |