Hi there,
I am currently working on a little project and want to try to use the arduino/compile-sketches action to make sure my project is and keeps compatible with all the target platforms including ESP32. So, I wrote this workflow:
on: [push, pull_request]
jobs:
compile:
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
fqbn: ['arduino:avr:nano', 'esp32:esp32:esp32']
steps:
- uses: actions/checkout@v7
- uses: arduino/compile-sketches@v1
with:
fqbn: "${{ matrix.fqbn }}"
sketch-paths: |
- ./MC/
platforms: |
- name: esp32:esp32
source-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
libraries: |
- name: HX711
- name: TMC2209
As you can see, there are two target platforms and two libraries. When running this action, it fails with "no space left on device" (GitHub runners seem to have about 14 GB of disk space available). The logs:
2026-09-18T13:58:21.0349113Z ##[group]Action setup
2026-09-18T13:58:23.3528702Z creating virtual environment...
2026-09-18T13:58:23.5417724Z installing poetry from spec 'poetry==2.4.1'...
2026-09-18T13:58:30.7581675Z done! ✨ 🌟 ✨
2026-09-18T13:58:30.7582282Z installed package poetry 2.4.1, installed using Python 3.12.4
2026-09-18T13:58:30.7590763Z These apps are now available
2026-09-18T13:58:30.7600606Z - poetry
2026-09-18T13:58:31.3353189Z Creating virtualenv non-package-mode-jE1jbGsw-py3.12 in /home/runner/.cache/pypoetry/virtualenvs
2026-09-18T13:58:31.8125005Z Installing dependencies from lock file
2026-09-18T13:58:31.9996780Z
2026-09-18T13:58:31.9998430Z Package operations: 18 installs, 0 updates, 0 removals
2026-09-18T13:58:31.9999108Z
2026-09-18T13:58:32.0003516Z - Installing certifi (2024.7.4)
2026-09-18T13:58:32.0018507Z - Installing cffi (2.0.0)
2026-09-18T13:58:32.0046943Z - Installing charset-normalizer (3.1.0)
2026-09-18T13:58:32.0082859Z - Installing cryptography (48.0.1)
2026-09-18T13:58:32.0084734Z - Installing gitdb (4.0.10)
2026-09-18T13:58:32.0134235Z - Installing gitpython (3.1.50)
2026-09-18T13:58:32.2875185Z - Installing idna (3.15)
2026-09-18T13:58:32.3374510Z - Installing pycparser (2.21)
2026-09-18T13:58:32.3950736Z - Installing pygithub (2.9.1)
2026-09-18T13:58:32.4248896Z - Installing pyjwt (2.13.0)
2026-09-18T13:58:32.4823063Z - Installing pynacl (1.6.2)
2026-09-18T13:58:32.5140206Z - Installing pyserial (3.5)
2026-09-18T13:58:32.5310127Z - Installing pyyaml (6.0.3)
2026-09-18T13:58:32.5534485Z - Installing requests (2.33.0)
2026-09-18T13:58:32.7013446Z - Installing semver (3.0.4)
2026-09-18T13:58:32.7112366Z - Installing smmap (5.0.0)
2026-09-18T13:58:32.7805769Z - Installing typing-extensions (4.8.0)
2026-09-18T13:58:32.8131303Z - Installing urllib3 (2.7.0)
2026-09-18T13:58:34.2518261Z ##[endgroup]
2026-09-18T13:58:34.2527379Z ##[end-action id=__arduino_compile-sketches.__run;outcome=success;conclusion=success;duration_ms=13240]
2026-09-18T13:58:34.2535064Z ##[start-action display=Run script;id=__arduino_compile-sketches.__run_2]
2026-09-18T13:58:34.2552210Z ##[group]Run # Run action
2026-09-18T13:58:34.2552486Z [36;1m# Run action[0m
2026-09-18T13:58:34.2552720Z [36;1mpoetry run \[0m
2026-09-18T13:58:34.2553023Z [36;1m python compilesketches/compilesketches.py[0m
2026-09-18T13:58:34.2590235Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-09-18T13:58:34.2590612Z env:
2026-09-18T13:58:34.2590900Z pythonLocation: /opt/hostedtoolcache/Python/3.12.4/x64
2026-09-18T13:58:34.2591377Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.4/x64/lib/pkgconfig
2026-09-18T13:58:34.2591854Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.4/x64
2026-09-18T13:58:34.2592270Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.4/x64
2026-09-18T13:58:34.2592689Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.4/x64
2026-09-18T13:58:34.2593108Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.4/x64/lib
2026-09-18T13:58:34.2593484Z INPUT_CLI-VERSION: latest
2026-09-18T13:58:34.2593750Z INPUT_FQBN: esp32:esp32:esp32
2026-09-18T13:58:34.2594070Z INPUT_LIBRARIES: - name: HX711
- name: TMC2209
2026-09-18T13:58:34.2594883Z INPUT_PLATFORMS: - name: esp32:esp32
source-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
2026-09-18T13:58:34.2595688Z INPUT_SKETCH-PATHS: - ./MC/
2026-09-18T13:58:34.2595969Z INPUT_CLI-COMPILE-FLAGS:
2026-09-18T13:58:34.2596236Z INPUT_VERBOSE: false
2026-09-18T13:58:34.2596470Z INPUT_GITHUB-TOKEN:
2026-09-18T13:58:34.2596724Z INPUT_ENABLE-DELTAS-REPORT: false
2026-09-18T13:58:34.2597049Z INPUT_ENABLE-WARNINGS-REPORT: false
2026-09-18T13:58:34.2597382Z INPUT_SKETCHES-REPORT-PATH: sketches-reports
2026-09-18T13:58:34.2597706Z ##[endgroup]
2026-09-18T14:00:29.0193573Z ##[warning]You are running out of disk space. The runner will stop working when the machine runs out of disk space. Free space left: 48 MB
2026-09-18T14:00:31.6782000Z ##[group]Compiling sketch: MC/MyProject
2026-09-18T14:00:31.6799205Z Downloading platform arduino:avr@1.8.8...
2026-09-18T14:00:31.6803965Z
2026-09-18T14:00:31.6804588Z Downloading index: package_index.tar.bz2 0 B / 109.52 KiB 0.00%
2026-09-18T14:00:31.6805695Z Downloading index: package_index.tar.bz2 downloaded
2026-09-18T14:00:31.6806273Z
2026-09-18T14:00:31.6806479Z arduino:avr@1.8.8 0 B / 6.83 MiB 0.00%
2026-09-18T14:00:31.6806989Z arduino:avr@1.8.8 downloaded
2026-09-18T14:00:31.6807480Z Installing platform arduino:avr@1.8.8...
2026-09-18T14:00:31.6807984Z Downloading platform esp32:esp32@3.3.11...
2026-09-18T14:00:31.6808299Z
2026-09-18T14:00:31.6808571Z Downloading index: package_index.tar.bz2 0 B / 109.52 KiB 0.00%
2026-09-18T14:00:31.6809022Z Downloading index: package_index.tar.bz2 downloaded
2026-09-18T14:00:31.7031161Z ##[error]No space left on device : '/home/runner/actions-runner/cached/2.337.0/_diag/pages/7106f729-44d9-44d2-adc7-a0a43e66d118_0ed36103-030c-4b70-8149-906fa833cd53_1.log'
Is the ESP32 repo too big? Is there anything we can do about this? We are not talking about a really heavy use case here, just a ~250 lines script, two platforms, two libraries. Thank you!