orign 0.2.3

A globally distributed container orchestrator
Documentation
steps:
  # Set up Docker Buildx
  - name: "gcr.io/cloud-builders/docker"
    entrypoint: "bash"
    args:
      - "-c"
      - |
        docker buildx create --name mybuilder --use
        docker buildx inspect --bootstrap

  # Build and push server image with conditional tagging
  - name: "gcr.io/cloud-builders/docker"
    id: Build and Push
    entrypoint: "bash"
    args:
      - "-c"
      - |
        # Always build with branch name tag
        docker buildx build \
          --platform linux/amd64 \
          -t us-docker.pkg.dev/$PROJECT_ID/orign/server:$BRANCH_NAME \
          --cache-from type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/server:buildcache \
          --cache-to type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/server:buildcache,mode=max \
          --push \
          .
        
        # Only tag as latest if on main branch
        if [ "$BRANCH_NAME" == "main" ]; then
          docker buildx build \
            --platform linux/amd64 \
            -t us-docker.pkg.dev/$PROJECT_ID/orign/server:latest \
            --cache-from type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/server:buildcache \
            --push \
            .
        fi

  # Build and push swift-trainer image with conditional tagging
  - name: "gcr.io/cloud-builders/docker"
    id: Build and Push Swift Trainer
    entrypoint: "bash"
    args:
      - "-c"
      - |
        # Always build with branch name tag
        docker buildx build \
          --platform linux/amd64 \
          --build-arg CACHE_BUST=$(date +%s) \
          -t us-docker.pkg.dev/$PROJECT_ID/orign/swift-trainer:$BRANCH_NAME \
          --cache-from type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/swift-trainer:buildcache \
          --cache-to type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/swift-trainer:buildcache,mode=max \
          --push \
          ./docker/swift
        
        # Only tag as latest if on main branch
        if [ "$BRANCH_NAME" == "main" ]; then
          docker buildx build \
            --platform linux/amd64 \
            --build-arg CACHE_BUST=$(date +%s) \
            -t us-docker.pkg.dev/$PROJECT_ID/orign/swift-trainer:latest \
            --cache-from type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/swift-trainer:buildcache \
            --push \
            ./docker/swift
        fi

  # Build and push trl-trainer image with conditional tagging
  - name: "gcr.io/cloud-builders/docker"
    id: Build and Push TRL Trainer
    entrypoint: "bash"
    args:
      - "-c"
      - |
        # Always build with branch name tag
        docker buildx build \
          --platform linux/amd64 \
          --build-arg CACHE_BUST=$(date +%s) \
          -t us-docker.pkg.dev/$PROJECT_ID/orign/trl-trainer:$BRANCH_NAME \
          --cache-from type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/trl-trainer:buildcache \
          --cache-to type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/trl-trainer:buildcache,mode=max \
          --push \
          ./docker/trl
        
        # Only tag as latest if on main branch
        if [ "$BRANCH_NAME" == "main" ]; then
          docker buildx build \
            --platform linux/amd64 \
            --build-arg CACHE_BUST=$(date +%s) \
            -t us-docker.pkg.dev/$PROJECT_ID/orign/trl-trainer:latest \
            --cache-from type=registry,ref=us-docker.pkg.dev/$PROJECT_ID/orign/trl-trainer:buildcache \
            --push \
            ./docker/trl
        fi


timeout: "3600s"

options:
  machineType: "N1_HIGHCPU_8"