GitHub Actions для Python разработчиков.

Если вы разрабатываете свое приложение на GitHub, то, возможно, захотите рассмотреть возможность использования GitHub Actions для вашего CI/CD. В этом руководстве мы рассмотрим, как использовать действия GitHub для тестирования нескольких версий python и на разных платформах.

@python_job_interview – разбираем вопросы с собеседований на Python.

Наш пример будет включать быстрое приложение API, использующее pytest для запуска наших тестов, pylint для проверки компоновки, на версиях python (3.8, 3.9, 3.10, 3.11) с платформами (Windows, Mac, Linux). Вы можете найти этот пример на GitHub здесь.

Первое, что вы заметите, это то, что в каталоге .github/workflows есть файл с именем python-app.yml, который представляет собой файл YAML, который будет использоваться для нашего конвейера действий GitHub.

GitHub Actions для Python разработчиков.

В этом файле вы найдете приведенную ниже разбивку.

GitHub Actions для Python разработчиков.

Вы увидите, что runs-on ключа использует переменную matrix.os, которая имеет массив используемых операционных систем. В то время как ключ python-versions используют переменную matrix.python-version, которая принимает массив версий python.

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
        python-version: ["3.8", "3.9", "3.10", "3.11"]

Ниже вы увидите несколько ключей с именем run, каждый из которых предназначен для установки зависимостей, линтинга и тестирования.

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Lint with pylint
      run: |
        pylint --recursive=y api --rcfile=.pylintrc
    - name: Test with pytest
      run: |
        pytest api/

Каждый раз, когда вы отправляете изменение в свой репозиторий, это действие будет выполняться.

GitHub Actions для Python разработчиков.

Чтобы узнать больше об автоматизации и тестировании Python с помощью GitHub Actions, перейдите по этой ссылке.#Python#GitHub

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *