Virtual-environments: Running out of disk space on Windows 2019

Created on 31 Jul 2020  路  8Comments  路  Source: actions/virtual-environments

Describe the bug
I am trying to build a project with CMake (links below) and one of the workers is running out of disk space in the process.

Area for Triage:
Servers

Question, Bug, or Feature?:
Bug

Virtual environments affected

  • [ ] macOS 10.15
  • [ ] Ubuntu 16.04 LTS
  • [ ] Ubuntu 18.04 LTS
  • [ ] Ubuntu 20.04 LTS
  • [ ] Windows Server 2016 R2
  • [x] Windows Server 2019

Expected behavior
Not running out of disk space

Actual behavior
Running out of disk space

Here is the respective Actions log:
https://github.com/grische/blender/runs/932880160?check_suite_focus=true

and the workflow file:
https://github.com/grische/blender/blob/47d8f2e535d7892f282ae95ca64a9641078801d7/.github/workflows/blender_master_ci.yaml

Image administration Windows question

All 8 comments

Hello, could you please add the following step at the begin of your pipeline and share results?

steps:
- run: Get-PSDrive

Thank you for providing build logs.
So runner has

  • 88.64 GB on C drive
  • 12 GB on D drive

D drive is limited (mostly, intended for checkout step)

Based on runner documentation, we provide only 14 GB of free space on machines.

As for your particular issue, I think currently, your build uses D drive only (12 GB) and don't use C drive. I suggest reconfiguring build to build on C drive if it is possible

I see. Interesting that the other environments (windows-2016, Ubuntu, macOS) do not fail.

@maxim-lobanov how would you change the above workflow file to use C instead of D?

Hello, thank you for your response.
This issue is not reproduced on MacOS and Linux because they use the single drive (/).
Moving your build to C drive is tricky (it is rare case when D drive doesn't have enough free space for repository but it looks like your submodules take ~10GB):
1) Replace actions/checkout with git clone <repourl> C:\Repo (actions/checkout can't clone repository to C drive)
2) set working directory property for all further steps

@dmitry-shibanov How would change the above workflow file?

  1. The workflow file uses a matrix of Ubuntu/macOS/Windows, so I would need to create two checkout tasks, one with actions/checkout for ubuntu/macOS and a manual one for Windows?

  2. It also already uses working-directory: ${{ github.workspace }}/build, so I would need to create a separate step to introduce a new environment variable and then hardcode it for windows to C:\Repo and use it for ubuntu/macOS like the above?

Is there really no easier way to handle this Windows build? If I could override github.workspace, this might make the steps above redundant.

Hello, @grische , unfortunately github.workspace variable can鈥檛 be overridden.
Also, as far as I know there no easier way to use C drive without significant modification of pipeline
(D drive is default for builds and officially we don鈥檛 provide more than 14 GB of free space; moving repository to drive C is just possible workaround)

  1. Define separate job for windows (outside of test matrix)
  2. Use git clone and specify place on disk C:/
- name: Checkout Blender
  run: |
      mkdir C:/blender.git
      git clone https://github.com/grische/blender.git C:/blender.git --depth 1
  1. Change working directory for all next steps
- name: submodules and libraries update
  working-directory: C:/blender.git
  run: python C:/blender.git/build_files/buildbot/worker_update.py

Hello, We close the issue. But feel free to reopen it, if you have any concerns.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

orj picture orj  路  4Comments

trajano picture trajano  路  3Comments

adamsiembida picture adamsiembida  路  3Comments

frankieroberto picture frankieroberto  路  4Comments

mcooley picture mcooley  路  3Comments