# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
  branches:
    include:
    - master

pr:
  branches:
    include:
    - master

pool:
  vmImage: ubuntu-20.04

stages:
- stage: Build
  jobs:
  - job:

    container:
      image: sonicdev-microsoft.azurecr.io:443/sonic-slave-buster:latest

    displayName: "build"
    timeoutInMinutes: 60
    steps:
    - checkout: self
      clean: true
      submodules: recursive
      displayName: 'Checkout code'
    - script: |
        set -ex
        sudo apt-get update
        sudo apt-get install -y thrift-compiler libthrift-0.11.0 libthrift-dev
      displayName: "Install thrift compiler"
    - script: |
        set -ex
        export ANSI_COLORS_DISABLED=1
        cd meta
        make
      displayName: "Metadata check"
    - script: |
        set -ex
        export ANSI_COLORS_DISABLED=1
        export GEN_SAIRPC_OPTS="-ve"
        cd meta
        make rpc
        make sai_rpc_server.skeleton
        make sai_rpc_frontend
      displayName: "Build rpc"
    - script: |
        set -ex
        export ANSI_COLORS_DISABLED=1
        export GEN_SAIRPC_OPTS="-ve"
        export SAIRPC_EXTRA_LIBS=-L../../meta
        cd test/saithriftv2
        make directories meta obj/librpcserver.a saiserver
      displayName: "Build saithriftv2 saiserver"