-
Notifications
You must be signed in to change notification settings - Fork 3.1k
74 lines (68 loc) · 2.3 KB
/
azureml-unit-tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# ---------------------------------------------------------
# Copyright (c) Recommenders contributors.
# Licensed under the MIT License.
# ---------------------------------------------------------
name: azureml-unit-tests
on:
pull_request:
branches:
- 'staging'
- 'main'
paths:
# Tests will be run only when there are changes in the code:
- examples/**
- '!examples/**/*.md'
- recommenders/**
- '!recommenders/**/*.md'
- tests/**
- '!tests/**/*.md'
- setup.py
types: [opened, synchronize, reopened, ready_for_review]
# Enable manual trigger
workflow_dispatch:
input:
tags:
description: 'Tags to label this manual run (optional)'
default: 'Manual trigger'
# Make this workflow reusable
workflow_call:
jobs:
get-test-groups:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Get test group names
id: get_test_groups
uses: ./.github/actions/get-test-groups
with:
TEST_KIND: "unit"
- name: Print test group names
run: echo ${{ steps.get_test_groups.outputs.test_groups }}
shell: bash
outputs:
test_groups: ${{ steps.get_test_groups.outputs.test_groups }}
if: github.event.pull_request.draft == false
execute-tests:
needs: get-test-groups
name: ${{ join(matrix.*, ', ') }}
runs-on: ubuntu-latest
strategy:
max-parallel: 50 # Usage limits: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
matrix:
python-version: ['"python=3.8"', '"python=3.9"', '"python=3.10"', '"python=3.11"']
test-group: ${{ fromJSON(needs.get-test-groups.outputs.test_groups) }}
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Execute tests
uses: ./.github/actions/azureml-test
id: execute_tests
with:
EXP_NAME: 'unit_tests'
TEST_KIND: 'unit'
AZUREML_TEST_CREDENTIALS: ${{ secrets.AZUREML_TEST_CREDENTIALS }}
AZUREML_TEST_SUBID: ${{ secrets.AZUREML_TEST_SUBID }}
PYTHON_VERSION: ${{ matrix.python-version }}
TEST_GROUP: ${{ matrix.test-group }}
if: github.event.pull_request.draft == false