name: build-and-push on: push: branches: - main - high-performance jobs: build: runs-on: ubuntu-latest env: DOCKER_HOST: unix:///var/run/docker.sock strategy: fail-fast: false matrix: service: - gateway - users - companies - jobs - leads - job-seekers - customers - payments - employees - photographers - makeup-artists - tutors - developers - video-editors - graphic-designers - social-media-managers - fitness-trainers - catering-services - ugc-content-creators - cron steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx run: | docker buildx create --use || true docker buildx inspect --bootstrap - name: Login to Registry env: REGISTRY_HOSTPORT: ${{ secrets.REGISTRY_HOSTPORT }} REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} run: | set -euo pipefail test -n "$REGISTRY_HOSTPORT" echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY_HOSTPORT" -u "$REGISTRY_USERNAME" --password-stdin - name: Build and push env: REGISTRY_HOSTPORT: ${{ secrets.REGISTRY_HOSTPORT }} run: | docker buildx build --push \ -f Dockerfile.simple \ --build-arg SERVICE_NAME=${{ matrix.service }} \ -t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:${{ gitea.sha }}" \ -t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:high-performance-latest" \ .