{% extends "workflow_skeleton.yml.jinja2" %}
{% block steps %}
runs-on: ubuntu-latest
steps:
  - name: Checkout repository
    uses: actions/checkout@v4
  - name: Generate config.json for canary workspace (scheduled runs only)
    if: github.event_name == 'schedule'
    run: echo '${{ '{{' }} secrets.TEST_WORKSPACE_CONFIG_JSON_CANARY }}' > ${{ '{{' }} github.workspace }}/examples/config.json
  - name: Generate config.json for production workspace
    if: github.event_name != 'schedule'
    run: echo '${{ '{{' }} secrets.EXAMPLE_WORKSPACE_CONFIG_JSON_PROD }}' > ${{ '{{' }} github.workspace }}/examples/config.json
  - name: Azure Login
    uses: azure/login@v1
    with:
      creds: ${{ '{{' }} secrets.AZURE_CREDENTIALS }}
  - name: Setup Python 3.9 environment
    uses: actions/setup-python@v4
    with:
      python-version: "3.9"
  - name: Prepare requirements
    run: |
      python -m pip install --upgrade pip
      pip install -r ${{ '{{' }} github.workspace }}/examples/requirements.txt
      pip install -r ${{ '{{' }} github.workspace }}/examples/dev_requirements.txt
  - name: Create Aoai Connection
    run: pf connection create -f ${{ '{{' }} github.workspace }}/examples/connections/azure_openai.yml --set api_key="${{ '{{' }} secrets.AOAI_API_KEY_TEST }}" api_base="${{ '{{' }} secrets.AOAI_API_ENDPOINT_TEST }}"
  - name: Test Notebook
    working-directory: {{ gh_working_dir }}
    run: |
      papermill -k python {{ name }}.ipynb {{ name }}.output.ipynb
  - name: Upload artifact
    if: ${{ '{{' }} always() }}
    uses: actions/upload-artifact@v3
    with:
      name: artifact
      path: {{ gh_working_dir }}
{% endblock steps %}