Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub workflows exhaust worker disk space #234

Closed
ashleythedeveloper opened this issue Mar 9, 2025 · 1 comment · Fixed by #235
Closed

GitHub workflows exhaust worker disk space #234

ashleythedeveloper opened this issue Mar 9, 2025 · 1 comment · Fixed by #235
Assignees

Comments

@ashleythedeveloper
Copy link
Collaborator

ashleythedeveloper commented Mar 9, 2025

The workflow failures in our GitHub Actions are occurring due to disk space limitations. GitHub only guarantees 14 GB of free disk space on their standard runners, with actual availability varying between workers.

Raw logs

2025-03-06T11:23:26.4867661Z #30 [app dependencies 2/2] RUN yarn install && yarn cache clean
2025-03-06T11:23:41.2914017Z #30 116.4 [5/5] Building fresh packages...
2025-03-06T11:23:57.7509248Z ##[warning]You are running out of disk space. The runner will stop working when the machine runs out of disk space. Free space left: 0 MB
2025-03-06T11:44:56.0239438Z ##[error]The operation was canceled.

Affected workflows

Potential Solutions

1. Upgrade GitHub-Hosted Runner

GitHub offers enhanced runner specifications that would resolve this issue, but this feature is only available for Teams and Enterprise accounts.

2. Self-Host the GitHub Runner

We could set up our own runners on cloud infrastructure (AWS, GCP, etc.), giving us complete control over hardware specifications.

3. Free Up Disk Space (not viable)

Implement third-party actions to clear disk space and remove node_modules directories/Docker images after each step. This approach would be somewhat cumbersome as three separate steps require these assets (application build/unit tests, end-to-end tests, and documentation build). The end-to-end test step appears to be the primary trigger for disk space exhaustion.

4. Separate Steps into Different Workflows (not viable)

Split high disk-consuming steps into separate workflows, each using a fresh runner. Initial testing indicates this would work, but it introduces complexity for the release process. Currently, a release is blocked if end-to-end tests fail, but this dependency would be lost with separate workflows. I'm unaware of the ability to depend on the status of another workflow without including it within the same runner.

Awaiting @kshychko's guidance on the preferred approach.

@kshychko
Copy link
Contributor

@ashleythedeveloper, I found this workaround - actions/runner-images#2840 (comment)
Seems like it helps with the space, but all issue_workflow_test tests are failing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants