gradio

Форк
0
/
test-python.yml 
91 строка · 3.2 Кб
1
name: "test / python"
2

3
on:
4
  workflow_run:
5
    workflows: ["trigger"]
6
    types: 
7
      - requested
8

9
permissions:
10
  statuses: write
11

12
concurrency:
13
  group: "${{ github.event.workflow_run.head_repository.full_name }}-${{ github.event.workflow_run.head_branch }}-${{ github.workflow_ref }}"
14
  cancel-in-progress: true
15

16
env:
17
  NODE_OPTIONS: "--max-old-space-size=4096"
18
  HF_TOKEN: ${{ secrets.HF_TOKEN }}
19

20
jobs:
21
  changes:
22
    name: "changes"
23
    runs-on: ubuntu-latest
24
    continue-on-error: true
25
    outputs:
26
      should_run: ${{ steps.changes.outputs.should_run }}
27
      sha: ${{ steps.changes.outputs.sha }}
28
      pr_number: ${{ steps.changes.outputs.pr_number }}
29
      source_branch: ${{ steps.changes.outputs.source_branch }}
30
      source_repo: ${{ steps.changes.outputs.source_repo }}
31
      merge_sha: ${{ steps.changes.outputs.merge_sha }}
32
      labels: ${{ steps.changes.outputs.labels }}
33
      mergeable: ${{ steps.changes.outputs.mergeable }}
34
    steps:
35
      - uses: actions/checkout@v4
36
      - uses: "gradio-app/gradio/.github/actions/changes@main"
37
        id: changes
38
        with:
39
          type: "gradio"
40
          name: "test / python / linux"
41
          token: ${{ secrets.GITHUB_TOKEN }}
42
  test-python:
43
    needs: [changes]
44
    if: needs.changes.outputs.should_run == 'true'
45
    name: "test-python-${{ matrix.os }}-${{ matrix.test-type == 'flaky' && 'flaky' || 'not-flaky'}}"
46
    strategy:
47
      matrix:
48
        os: ["ubuntu-latest", "windows-latest"]
49
        test-type: ["not flaky", "flaky"]
50
        exclude:
51
          - os: ${{ github.event.workflow_run.event == 'pull_request' && contains( needs.changes.outputs.labels, 'windows-tests') && 'dummy' || 'windows-latest' }}
52
          - test-type: ${{ github.event.workflow_run.event == 'pull_request' && contains( needs.changes.outputs.labels, 'flaky-tests') && 'dummy' || 'flaky' }}
53
    runs-on: ${{ matrix.os }}
54
    continue-on-error: true
55
    steps:
56
    - uses: actions/checkout@v4
57
      with:
58
        ref: ${{ needs.changes.outputs.merge_sha }}
59
        repository: ${{ needs.changes.outputs.mergeable == 'true' &&  github.repository || needs.changes.outputs.source_repo }}
60
    - name: install dependencies
61
      id: install_deps
62
      uses: "gradio-app/gradio/.github/actions/install-all-deps@main"
63
      with:
64
        python_version: "3.8"
65
        os: ${{ matrix.os }}
66
        test: true
67
    - name: Lint
68
      if: runner.os == 'Linux'
69
      run: |
70
        . venv/bin/activate
71
        bash scripts/lint_backend.sh
72
    - name: Typecheck
73
      if: runner.os == 'Linux'
74
      run: |
75
        . venv/bin/activate
76
        bash scripts/type_check_backend.sh
77
    - name: Run tests
78
      run: |
79
        . ${{steps.install_deps.outputs.venv_activate}}
80
        python -m pytest -m "${{ matrix.test-type }}"
81
    - name: do check
82
      if: always()
83
      uses: "gradio-app/github/actions/commit-status@main"
84
      with:
85
        type: "gradio"
86
        token: ${{ secrets.GITHUB_TOKEN }}
87
        pr: ${{ needs.changes.outputs.pr_number }}
88
        sha: ${{ needs.changes.outputs.sha }}
89
        name: "test / python / ${{ matrix.os == 'ubuntu-latest' && 'linux' || 'windows'}}"
90
        result: ${{ job.status }}
91
        job_id: "test-python-${{ matrix.os }}-${{ matrix.test-type == 'flaky' && 'flaky' || 'not-flaky'}}"
92

93

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.