在GitHub操作中运行Django测试导致错误代码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
I have an app made up of multiple containers that I run with docker-compose. I've tried adding a .yml
file to my .github/workflows
folder in order to run unit tests on every push to the repo. The containers start up fine but when it comes to the step for running the tests, there is an error:
Error: Process completed with exit code 137.
After looking up that exit code online, I found that this is a memory error but I can't figure out what is causing it and how to fix it. Here is my .yml
file for running the tests.
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
错误毕竟与内存无关,我没有正确设置我的github秘密。我通过创建一个github秘密来修复它,并将所有环境变量添加为价值。
.yml
文件的相关部分看起来像这样:The error was not memory related after all, I didn't set up my github secrets correct. I fixed it by creating a single github secret and added all of my environmental variables as value. The relevant part of the
.yml
file looked something like this: