| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- name: Build Docker Image
- on:
- push:
- branches:
- - main
- permissions:
- contents: read
- jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v7
- with:
- persist-credentials: false
- # Même version que le Dockerfile. Si les tests échouent, le job
- # s'arrête ici : rien n'est construit ni poussé sur Docker Hub.
- - name: Set up Python
- uses: actions/setup-python@v6
- with:
- python-version: "3.15"
- - name: Install dependencies
- run: pip install -r requirements.txt
- - name: Run tests
- run: python -m unittest
- - name: Log in to DockerHub
- env:
- DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
- DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- run: |
- echo "$DOCKER_PASSWORD" | docker login \
- -u "$DOCKER_USERNAME" --password-stdin
- - name: Build Docker image
- env:
- DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
- run: |
- IMAGE="$DOCKER_USERNAME/chatbot-maisonnette"
- docker build . \
- -t "$IMAGE:$GITHUB_SHA" \
- -t "$IMAGE:latest"
- - name: Push Docker images
- env:
- DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
- run: |
- IMAGE="$DOCKER_USERNAME/chatbot-maisonnette"
- docker push "$IMAGE:$GITHUB_SHA"
- docker push "$IMAGE:latest"
|