diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 76bbba3..8dd47bc 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -14,6 +14,22 @@ jobs: core: name: Core (Java · mvn test + JaCoCo) runs-on: ubuntu-latest + # Les tests Core utilisent une VRAIE base PostgreSQL (cf. + # src/test/resources/application.properties, ddl-auto=create-drop). + # On en fournit une en service container. Sur Gitea (job en conteneur), + # le service est joignable par son NOM d'hôte `postgres`. + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_DB: loremind_test + POSTGRES_USER: loremind_test + POSTGRES_PASSWORD: loremind_test + options: >- + --health-cmd "pg_isready -U loremind_test -d loremind_test" + --health-interval 10s + --health-timeout 5s + --health-retries 10 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 @@ -26,6 +42,10 @@ jobs: # `mvn test` exécute aussi jacoco:report + jacoco:check (plancher 60%). - name: mvn test (via wrapper) working-directory: core + env: + SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/loremind_test + SPRING_DATASOURCE_USERNAME: loremind_test + SPRING_DATASOURCE_PASSWORD: loremind_test run: | chmod +x ./mvnw ./mvnw -B test diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 25740a7..8675fe2 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -17,6 +17,20 @@ jobs: # tests rouges ne publiera donc PAS d'images. tests: runs-on: ubuntu-latest + # Base PostgreSQL réelle pour les tests Core (joignable par le nom `postgres` + # depuis le conteneur du job Gitea). + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_DB: loremind_test + POSTGRES_USER: loremind_test + POSTGRES_PASSWORD: loremind_test + options: >- + --health-cmd "pg_isready -U loremind_test -d loremind_test" + --health-interval 10s + --health-timeout 5s + --health-retries 10 steps: - name: Checkout uses: actions/checkout@v4 @@ -29,6 +43,10 @@ jobs: cache: maven - name: Core — mvn test (+ JaCoCo check) working-directory: core + env: + SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/loremind_test + SPRING_DATASOURCE_USERNAME: loremind_test + SPRING_DATASOURCE_PASSWORD: loremind_test run: | chmod +x ./mvnw ./mvnw -B test diff --git a/.github/workflows/desktop-release.yml b/.github/workflows/desktop-release.yml index bc4db28..d037708 100644 --- a/.github/workflows/desktop-release.yml +++ b/.github/workflows/desktop-release.yml @@ -42,6 +42,22 @@ jobs: # les memes tests ici. Un test rouge => pas d'installeur publie. tests: runs-on: ubuntu-latest + # Base PostgreSQL réelle pour les tests Core. Sur les runners GitHub (job sur + # la VM, pas en conteneur), le service est joignable via localhost + le port mappé. + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_DB: loremind_test + POSTGRES_USER: loremind_test + POSTGRES_PASSWORD: loremind_test + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U loremind_test -d loremind_test" + --health-interval 10s + --health-timeout 5s + --health-retries 10 steps: - uses: actions/checkout@v4 with: @@ -55,6 +71,10 @@ jobs: cache: maven - name: Core — mvn test (+ JaCoCo check) working-directory: core + env: + SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/loremind_test + SPRING_DATASOURCE_USERNAME: loremind_test + SPRING_DATASOURCE_PASSWORD: loremind_test run: | chmod +x ./mvnw ./mvnw -B test