Запуск тестов django в действиях github вызывает код ошибки 137
У меня есть приложение, состоящее из нескольких контейнеров, которые я запускаю с помощью docker-compose. Я пробовал добавить файл .yml
в папку .github/workflows
, чтобы запускать юнит-тесты при каждом добавлении в репозиторий. Контейнеры запускаются нормально, но когда дело доходит до шага запуска тестов, возникает ошибка:
Error: Process completed with exit code 137.
После поиска этого кода выхода в Интернете я обнаружил, что это ошибка памяти, но я не могу понять, что ее вызывает и как ее исправить. Вот мой .yml
файл для запуска тестов.
name: django-tests
on:
push:
branches: [develop]
jobs:
start_docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Create env file
run: |
touch .env
echo POSTGRES_ENGINE=${{ secrets.POSTGRES_ENGINE }} >> .env
echo POSTGRES_DATABASE=${{ secrets.POSTGRES_DATABASE }} >> .env
echo POSTGRES_USER=${{ secrets.POSTGRES_USER }} >> .env
echo POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }} >> .env
echo POSTGRES_HOST=${{ secrets.POSTGRES_HOST }} >> .env
echo POSTGRES_PORT=${{ secrets.POSTGRES_PORT }} >> .env
echo SECRET_KEY=${{ secrets.SECRET_KEY }} >> .env
cat .env
mv .env project/db
- name: Start containers
run:
docker-compose -f "docker-compose.yml" up -d --build
- name: Run tests
run: docker exec my_app python manage.py test
- name: Stop containers
run: docker-compose -f "docker-compose.yml" down
Ошибка не была связана с памятью, в конце концов, я неправильно настроил свои секреты github. Я исправил это, создав один секрет github и добавив все мои переменные окружения в качестве значения. Соответствующая часть файла .yml
выглядела примерно так:
- name: Create env file
run: |
touch .env
echo "${{ secrets.MAIN }}" >> .env
cat .env
mv .env project/db