Files
Olhar-API/.gitea/workflows/ci.yml
T
Gato e73ecfd379
CI — Tests & Docker Build / Tests (push) Failing after 5s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
feat(version): exposer GET /api/v1/version public sans authentification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 10:07:14 +02:00

76 lines
2.1 KiB
YAML

name: CI — Tests & Docker Build
on:
push:
branches:
- main
- 'feat/**'
pull_request:
jobs:
test:
name: Tests
runs-on: ubuntu-latest
container:
image: eclipse-temurin:25-jdk
services:
postgres:
image: postgres:16
env:
POSTGRES_DB: olhar_test
POSTGRES_USER: olhar
POSTGRES_PASSWORD: olhar
env:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/olhar_test
SPRING_DATASOURCE_USERNAME: olhar
SPRING_DATASOURCE_PASSWORD: olhar
SPRING_DATASOURCE_DRIVER_CLASS_NAME: org.postgresql.Driver
SECURITY_JWT_SECRET: test-secret-key-for-ci-testing-only-must-be-long-enough
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Lancer les tests
run: ./gradlew test --no-daemon
build-and-push:
name: Build & push image Docker
needs: test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Lire la version depuis build.gradle
id: version
run: echo "VERSION=$(grep '^version' build.gradle | awk -F"'" '{print $2}')" >> $GITHUB_OUTPUT
- name: Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Login registry Gitea
uses: docker/login-action@v3
with:
registry: git.goutailler-olivier.com
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build & push image
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile
push: true
tags: |
git.goutailler-olivier.com/gato/olhar-api:latest
git.goutailler-olivier.com/gato/olhar-api:${{ steps.version.outputs.VERSION }}
- name: Trigger déploiement Watchtower
run: |
wget -q --post-data='' \
--header="Authorization: Bearer ${{ secrets.WATCHTOWER_TOKEN }}" \
https://watchtower.goutailler-olivier.com/v1/update \
-O /dev/null