name: Build & Push OCI # Construit et publie les images HomeHub sur le registre OCI Gitea. # - push sur main -> tags -latest # - tag git vX.Y.Z -> tags -latest + -X.Y.Z on: push: branches: [main] tags: ["v*"] env: REGISTRY: git.maison43gil.com IMAGE: git.maison43gil.com/gilles/home_hub jobs: build: runs-on: ubuntu-latest strategy: matrix: include: - role: backend context: ./backend - role: frontend context: ./frontend steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login au registre OCI Gitea uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Déduire les tags id: tags run: | TAGS="${IMAGE}:${{ matrix.role }}-latest" if [[ "${GITHUB_REF}" == refs/tags/v* ]]; then VERSION="${GITHUB_REF#refs/tags/v}" TAGS="${TAGS},${IMAGE}:${{ matrix.role }}-${VERSION}" fi echo "tags=${TAGS}" >> "$GITHUB_OUTPUT" - name: Build & push ${{ matrix.role }} uses: docker/build-push-action@v6 with: context: ${{ matrix.context }} push: true tags: ${{ steps.tags.outputs.tags }}