name: publish-images on: push: branches: [ '**' ] tags: [ '*' ] env: REGISTRY: git.4nkweb.com IMAGE_OWNER: 4nk IMAGE_REPO: 4nk-ia-back jobs: docker-build-and-push: runs-on: debian-runner steps: - name: Checkout uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.USER }} password: ${{ secrets.TOKEN }} - name: Compute tags id: meta run: | set -euo pipefail # Déterminer si l'on est sur un tag exact if TAG_NAME=$(git describe --tags --exact-match 2>/dev/null); then VERSION_TAG="$TAG_NAME" else BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) if [[ "$BRANCH_NAME" == "HEAD" ]]; then SHORT_SHA=$(git rev-parse --short=8 HEAD) VERSION_TAG="sha-${SHORT_SHA}" else VERSION_TAG=$(echo "$BRANCH_NAME" | tr '/' '-') fi fi echo "version=${VERSION_TAG}" >> "$GITHUB_OUTPUT" - name: Build & Push host-api uses: docker/build-push-action@v6 with: context: ./docker/host-api file: ./docker/host-api/Dockerfile push: true platforms: linux/amd64 tags: | ${{ env.REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_REPO }}/host-api:${{ steps.meta.outputs.version }} ${{ env.REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_REPO }}/host-api:latest - name: Build & Push worker uses: docker/build-push-action@v6 with: context: . file: ./docker/worker/Dockerfile push: true platforms: linux/amd64 tags: | ${{ env.REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_REPO }}/worker:${{ steps.meta.outputs.version }} ${{ env.REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_REPO }}/worker:latest