在GitHub操作中运行Django测试导致错误代码137

发布于 2025-02-11 15:08:10 字数 1450 浏览 0 评论 0原文

我有一个由我使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜血缘 2025-02-18 15:08:10

错误毕竟与内存无关,我没有正确设置我的github秘密。我通过创建一个github秘密来修复它,并将所有环境变量添加为价值。 .yml文件的相关部分看起来像这样:

 - name: Create env file
        run:  |
              touch .env
              echo "${{ secrets.MAIN }}" >> .env
              cat .env
              mv .env project/db

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:

 - name: Create env file
        run:  |
              touch .env
              echo "${{ secrets.MAIN }}" >> .env
              cat .env
              mv .env project/db
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文