CS50W лекция7 тестирование, CI/CD - проблема с YAML и GitHub Actions

Я прохожу курс CS50 "Веб-программирование с Python и JavaScript" (CS50W). Сейчас у меня возникла проблема по лекции 7 Тестирование, CI/CD. Когда я следовал за Брайаном в разделе "Действия GitHub" (временная метка примерно 1:13:36), результат в моих действиях GitHub оказался не таким, как у него.

Вот код yaml (я точно скопировал из лекции) :

name: Testing
on: push

jobs:
test_project:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Django unit tests
  run:
    pip3 install --user django
    python manage.py test

В его GitHub Actions не было ничего неправильного в части "run django unit tests". Но в моих, как оказалось, были некоторые ошибки. Мой результат в GitHub Actions выглядел так это(Нажмите для просмотра скриншота):

Run pip3 install --user django python manage.py test
pip3 install --user django python manage.py test
shell: /usr/bin/bash -e {0}
Collecting django
Downloading Django-4.0.3-py3-none-any.whl (8.0 MB)
ERROR: Could not find a version that satisfies the requirement python (from versions: 
none)
ERROR: No matching distribution found for python
Error: Process completed with exit code 1.

Я подумал, что что-то не так с настройкой django или python в виртуальной машине GitHub Ubuntu, затем я попытался избавиться от синтаксиса python manage.py test в yaml-файле, и "run django unit tests" в GitHub Actions оказался без ошибок. Результат показал как(Нажмите для просмотра скриншота)

Run pip3 install --user django
pip3 install --user django
shell: /usr/bin/bash -e {0}
Collecting django
Downloading Django-4.0.3-py3-none-any.whl (8.0 MB)
Collecting asgiref<4,>=3.4.1
Downloading asgiref-3.5.0-py3-none-any.whl (22 kB)
Collecting backports.zoneinfo; python_version < "3.9"
Downloading backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl (74 kB)
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
Installing collected packages: asgiref, backports.zoneinfo, sqlparse, django
Successfully installed asgiref-3.5.0 backports.zoneinfo-0.2.1 django-4.0.3 sqlparse- 
0.4.2

Похоже, что django был успешно установлен. Но что пошло не так, когда синтаксис python manage.py test был добавлен в yaml файл? Я совершенно не представляю. Может ли кто-нибудь указать на это? Большое спасибо! Возможно, вы захотите взглянуть на мой репозиторий GitHub для этого. Если вам нужно больше информации, пожалуйста, просто скажите мне. СПАСИБО!!!

Сообщение об ошибке, которое вы получили, указывает на то, что он пытался установить python в:

ERROR: No matching distribution found for python

но python относится к вашей второй команде, python manage.py test

Сообщение об ошибке указывает на то, что он пытается выполнить две команды как одну единственную.

При выполнении нескольких команд необходимо включить символ |, чтобы Github Actions понял, что нужно выполнить несколько команд. В лекции видно, что Брайан включил необходимый символ |:

run: |
  pip3 install --user django
  python manage.py test
Вернуться на верх