# Copyright 2022 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
#
# Workflow for running Examples of IREE usage against releases periodically.

name: samples

on:
  schedule:
    # Weekdays at 13:00 UTC = 05:00 PST / 06:00 PDT. No one should be dealing
    # with this on weekends.
    - cron: "5 4 * * 1-5"
  workflow_dispatch:

jobs:
  colab:
    runs-on: ubuntu-20.04-64core
    steps:
      - name: "Checking out repository"
        uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
      - name: "Testing Colab Notebooks"
        run: |
          ./build_tools/github_actions/docker_run.sh  \
            gcr.io/iree-oss/samples@sha256:f17ef5293531c6f53917d6689ecf64bff1535ac7e3668e9275ac31dc1261d8e5 \
            ./samples/colab/test_notebooks.py

  samples:
    runs-on: ubuntu-20.04-64core
    steps:
      - name: "Checking out repository"
        uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
      - name: "Testing Samples"
        run: |
          ./build_tools/github_actions/docker_run.sh  \
            gcr.io/iree-oss/samples@sha256:f17ef5293531c6f53917d6689ecf64bff1535ac7e3668e9275ac31dc1261d8e5 \
            ./build_tools/testing/test_samples.sh

  # FIXME: unify this with host build from ci.yml. This is complicated by
  # incompatibility between storage options for GitHub-managed and self-hosted
  # runners.
  web:
    runs-on: ubuntu-20.04-64core
    # TODO: remove dependence on magic matching build dir names
    env:
      HOST_BUILD_DIR: build-host-install
    steps:
      - name: "Checking out repository"
        uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
        with:
          submodules: true
      - name: "Building host tools"
        run: |
          ./build_tools/github_actions/docker_run.sh  \
            --env "CCACHE_NAMESPACE=gcr.io/iree-oss/base@sha256:dcae1cb774c62680ffb9ed870a255181a428aacf5eb2387676146e055bc3b9e8" \
            gcr.io/iree-oss/base@sha256:dcae1cb774c62680ffb9ed870a255181a428aacf5eb2387676146e055bc3b9e8 \
            ./build_tools/cmake/build_host_tools.sh "${HOST_BUILD_DIR}"
      - name: "Testing Experimental Web Samples"
        env:
          IREE_EMPSCRIPTEN_BUILD_DIR: build-emscripten
        run: |
          ./build_tools/github_actions/docker_run.sh  \
            --env "IREE_HOST_BUILD_DIR=${HOST_BUILD_DIR}" \
            --env "IREE_EMPSCRIPTEN_BUILD_DIR=${IREE_EMPSCRIPTEN_BUILD_DIR}" \
            gcr.io/iree-oss/emscripten@sha256:b119aa6f2719205092a41e4512a194ed0b16192030cc2f14d6e02771facf8f4a \
            ./experimental/web/build_and_test_samples.sh
