Correction de l'inscription multiple par email sur un évènement #256
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: pytest | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| pull_request: | |
| branches: | |
| - main | |
| - develop | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| POSTGRES_DB: geotrekdb | |
| POSTGRES_PASSWORD: geotrek | |
| POSTGRES_USER: geotrek | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| name: ${{ matrix.name }} | |
| services: | |
| postgres: | |
| image: pgrouting/pgrouting:14-3.5-3.7 | |
| env: | |
| POSTGRES_DB: ${{ env.POSTGRES_DB }} | |
| POSTGRES_USER: ${{ env.POSTGRES_USER }} | |
| POSTGRES_PASSWORD: ${{ env.POSTGRES_PASSWORD }} | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd pg_isready | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| steps: | |
| - name: Add database extensions | |
| run: | | |
| psql -h localhost -U "$POSTGRES_USER" -d "$POSTGRES_DB" -tc 'CREATE EXTENSION "postgis";' | |
| psql -h localhost -U "$POSTGRES_USER" -d "$POSTGRES_DB" -tc 'CREATE EXTENSION "postgis_raster";' | |
| psql -h localhost -U "$POSTGRES_USER" -d "$POSTGRES_DB" -tc 'CREATE EXTENSION "hstore";' | |
| psql -h localhost -U "$POSTGRES_USER" -d "$POSTGRES_DB" -tc 'CREATE EXTENSION "uuid-ossp";' | |
| psql -h localhost -U "$POSTGRES_USER" -d "$POSTGRES_DB" -tc 'CREATE EXTENSION "pg_trgm";' | |
| psql -h localhost -U "$POSTGRES_USER" -d "$POSTGRES_DB" -tc 'CREATE EXTENSION "unaccent";' | |
| env: | |
| POSTGRES_DB: ${{ env.POSTGRES_DB }} | |
| POSTGRES_USER: ${{ env.POSTGRES_USER }} | |
| PGPASSWORD: ${{ env.POSTGRES_PASSWORD }} | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Geotrek | |
| run: | | |
| echo "deb [arch=amd64] https://packages.geotrek.fr/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/geotrek.list | |
| wget -O- "https://packages.geotrek.fr/geotrek.gpg.key" | sudo apt-key add - | |
| sudo apt update | |
| sudo apt install debconf-utils | |
| cat << EOF | sudo debconf-set-selections | |
| geotrek-admin geotrek-admin/POSTGRES_PASSWORD password $POSTGRES_PASSWORD | |
| geotrek-admin geotrek-admin/SERVER_NAME string localhost | |
| geotrek-admin geotrek-admin/SRID string 2154 | |
| geotrek-admin geotrek-admin/POSTGRES_HOST string localhost | |
| geotrek-admin geotrek-admin/TIMEOUT string 300 | |
| geotrek-admin geotrek-admin/MANAGE_DB boolean false | |
| geotrek-admin geotrek-admin/LANGUAGES string fr en | |
| geotrek-admin geotrek-admin/POSTGRES_USER string $POSTGRES_USER | |
| geotrek-admin geotrek-admin/POSTGRES_DB string $POSTGRES_DB | |
| geotrek-admin geotrek-admin/POSTGRES_PORT string 5432 | |
| geotrek-admin geotrek-admin/DEFAULT_STRUCTURE string TEST | |
| geotrek-admin geotrek-admin/RANDO_SERVER_NAME string * | |
| EOF | |
| sudo apt-get --quiet --yes install geotrek-admin | |
| env: | |
| POSTGRES_DB: ${{ env.POSTGRES_DB }} | |
| POSTGRES_USER: ${{ env.POSTGRES_USER }} | |
| POSTGRES_PASSWORD: ${{ env.POSTGRES_PASSWORD }} | |
| - name: Install event reservation database | |
| run: | | |
| psql -h localhost -d $POSTGRES_DB -U geotrek --set ON_ERROR_STOP=on -f create_db_structure.sql | |
| working-directory: ./db | |
| env: | |
| POSTGRES_DB: ${{ env.POSTGRES_DB }} | |
| PGPASSWORD: geotrek | |
| VERBOSITY: verbose | |
| - name: Install backend dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements.txt | |
| python -m pip install pytest | |
| python -m pip install pytest-flask | |
| python -m pip install pytest-cov | |
| working-directory: ./backend | |
| - name: Install backend | |
| run: | | |
| cp -n config/conftest.py config/config.py | |
| working-directory: ./backend | |
| - name: Run pytests | |
| run: | | |
| pytest -v --cov --cov-report xml | |
| working-directory: ./backend | |
| env: | |
| MAIL_SERVER: ${{secrets.MAIL_SERVER}} | |
| MAIL_PORT: ${{secrets.MAIL_PORT}} | |
| MAIL_USERNAME: ${{secrets.MAIL_USERNAME}} | |
| MAIL_PASSWORD: ${{secrets.MAIL_PASSWORD}} | |
| MAIL_DEFAULT_SENDER: ${{secrets.MAIL_USERNAME}} | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 |