name: Build and Push Docker Images Staging on: push: branches: - staging env: GIT_HOST: git.easysoft.ro REGISTRY_HOST: registry.easysoft.ro API_IMAGE: apps/myai-api CV_MATCHER_API_IMAGE: apps/myai-cv-matcher-api RAG_API_IMAGE: apps/myai-rag-api WEB_IMAGE: apps/myai-web CV_CLEANUP_JOB_IMAGE: apps/myai-cv-cleanup-job CV_SEARCH_JOB_IMAGE: apps/myai-cv-search-job IMAGE_TAG: staging jobs: build: runs-on: host steps: - name: Checkout repository env: TOKEN: ${{ secrets.REPO_TOKEN }} run: | git clone "http://gelu:${TOKEN}@${GIT_HOST}:3000/${GITHUB_REPOSITORY}.git" . - name: Login to registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${REGISTRY_HOST}" \ -u "${{ secrets.REGISTRY_USER }}" \ --password-stdin - name: Build API image run: | docker build -f Apis/api/Dockerfile -t "${REGISTRY_HOST}/${API_IMAGE}:${IMAGE_TAG}" . - name: Build CV Matcher API image run: | docker build -f Apis/cv-matcher-api/Dockerfile -t "${REGISTRY_HOST}/${CV_MATCHER_API_IMAGE}:${IMAGE_TAG}" . - name: Build RAG API image run: | docker build -f Apis/rag-api/Dockerfile -t "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}" . - name: Build Web image run: | APP_VERSION="1.0.$(git rev-list --count HEAD)" docker build -f web/Dockerfile \ --build-arg APP_VERSION="${APP_VERSION}" \ -t "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}" . - name: Build CV cleanup job image run: | docker build -f Jobs/cv-cleanup-job/Dockerfile -t "${REGISTRY_HOST}/${CV_CLEANUP_JOB_IMAGE}:${IMAGE_TAG}" . - name: Build CV search job image run: | docker build -f Jobs/cv-search-job/Dockerfile -t "${REGISTRY_HOST}/${CV_SEARCH_JOB_IMAGE}:${IMAGE_TAG}" . - name: Push API image run: | docker push "${REGISTRY_HOST}/${API_IMAGE}:${IMAGE_TAG}" - name: Push CV Matcher API image run: | docker push "${REGISTRY_HOST}/${CV_MATCHER_API_IMAGE}:${IMAGE_TAG}" - name: Push RAG API image run: | docker push "${REGISTRY_HOST}/${RAG_API_IMAGE}:${IMAGE_TAG}" - name: Push Web image run: | docker push "${REGISTRY_HOST}/${WEB_IMAGE}:${IMAGE_TAG}" - name: Push CV cleanup job image run: | docker push "${REGISTRY_HOST}/${CV_CLEANUP_JOB_IMAGE}:${IMAGE_TAG}" - name: Push CV search job image run: | docker push "${REGISTRY_HOST}/${CV_SEARCH_JOB_IMAGE}:${IMAGE_TAG}"