# Copyright 2021 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

steps:
  - label: "Test Colab notebooks"
    commands:
      - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/samples@sha256:ea1bfce1c853e0b3d1afad094086535f903950dc81810024c4cf6347d90aea8a python3 ./samples/colab/test_notebooks.py"
    env:
      IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
    agents:
      - "queue=build"

  - label: "Test Samples"
    commands:
      - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/samples@sha256:ea1bfce1c853e0b3d1afad094086535f903950dc81810024c4cf6347d90aea8a ./build_tools/testing/test_samples.sh"
    env:
      IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
    agents:
      - "queue=build"

  # A host tools install is required for the WebAssembly build.
  # We _could_ instead download from the latest GitHub release, but all of our
  # releases are marked as "draft"s, so the convenient
  # https://github.com/iree-org/iree/releases/latest does not actually work :/
  - label: ":linux: Build host install"
    key: "build-host-install"
    commands:
      - "git submodule sync && git submodule update --init --jobs 8 --depth 1"
      - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/base@sha256:5d43683c6b50aebe1fca6c85f2012f3b0fa153bf4dd268e8767b619b1891423a ./build_tools/cmake/build_host_tools.sh"
      - "tar -czvf build-artifacts.tgz build-host/install"
    artifact_paths: "build-artifacts.tgz"
    env:
      IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
    agents:
      - "queue=build"

  - label: ":webassembly: Build experimental web samples"
    depends_on: "build-host-install"
    commands:
      - "buildkite-agent artifact download --step build-host-install build-artifacts.tgz ./"
      - "tar xzf build-artifacts.tgz"
      - "git submodule update --init --jobs 8 --depth 1"
      - "docker run --user=$(id -u):$(id -g) --volume=\\$PWD:\\$IREE_DOCKER_WORKDIR --workdir=\\$IREE_DOCKER_WORKDIR --rm gcr.io/iree-oss/emscripten@sha256:afa6aab07d753631c37a935695e69165d8f7598dec249b31d459b046593ccd56 ./experimental/web/test_samples.sh"
    env:
      IREE_DOCKER_WORKDIR: "/usr/src/github/iree"
    agents:
      - "queue=build"

# Notify rotation on postsubmit failures.
notify:
  - email: "bdi-build-cop+buildkite@grotations.appspotmail.com"
    if: "build.state == 'failed' && build.pull_request.id == null"
