Closed as not planned
Description
Describe the problem
I try to enable that the build files are exported to the sketch directory. Unfortunatuly, I could not debug the problem at this moment.
To reproduce
The action file:
name: build
on: [push, pull_request]
jobs:
compile-sketches:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4 # Updated to latest version
- name: Compile Arduino Sketches
uses: arduino/compile-sketches@v1
with:
verbose: true
fqbn: esp8266:esp8266:d1_mini_pro
platforms: |
- source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
name: esp8266:esp8266
sketch-paths: |
- Firmware/sm-esp8266
libraries: |
- name: WiFiManager
- name: ArduinoJson
- name: PubSubClient
cli-compile-flags: "-e"
- name: List Files
run: |
ls -l Firmware/sm-esp8266
This gives the result at the compilation step that the arduino-cli is not correctly called:
Compiling sketch: Firmware/sm-esp8266
Error: accepts at most 1 arg(s), received 3
Usage:
arduino-cli compile [flags]
Examples:
/home/runner/bin/arduino-cli compile -b arduino:avr:uno /home/user/Arduino/MySketch
/home/runner/bin/arduino-cli compile -b arduino:avr:uno --build-property "build.extra_flags=\"-DMY_DEFINE=\"hello world\"\"" /home/user/Arduino/MySketch
/home/runner/bin/arduino-cli compile -b arduino:avr:uno --build-property "build.extra_flags=-DPIN=2 \"-DMY_DEFINE=\"hello world\"\"" /home/user/Arduino/MySketch
/home/runner/bin/arduino-cli compile -b arduino:avr:uno --build-property build.extra_flags=-DPIN=2 --build-property "compiler.cpp.extra_flags=\"-DSSID=\"hello world\"\"" /home/user/Arduino/MySketch
Flags:
--board-options strings List of board options separated by commas. Or can be used multiple times for multiple options.
--build-path string Path where to save compiled files. If omitted, a directory will be created in the default temporary path of your OS.
--build-property stringArray Override a build property with a custom value. Can be used multiple times for multiple properties.
--clean Optional, cleanup the build folder and do not use any cached build.
--discovery-timeout duration Max time to wait for port discovery, e.g.: 30s, 1m (default 1s)
--dump-profile Create and print a profile configuration from the build.
--encrypt-key string The name of the custom encryption key to use to encrypt a binary during the compile process. Used only by the platforms that support it.
-e, --export-binaries If set built binaries will be exported to the sketch folder.
-b, --fqbn string Fully Qualified Board Name, e.g.: arduino:avr:uno
-h, --help help for compile
-j, --jobs int32 Max number of parallel compiles. If set to 0 the number of available CPUs cores will be used.
--keys-keychain string The path of the dir to search for the custom keys to sign and encrypt a binary. Used only by the platforms that support it.
--libraries strings Path to a collection of libraries. Can be used multiple times or entries can be comma separated.
--library strings Path to a single library’s root folder. Can be used multiple times or entries can be comma separated.
--only-compilation-database Just produce the compilation database, without actually compiling. All build commands are skipped except pre* hooks.
--optimize-for-debug Optional, optimize compile output for debugging, rather than for release.
--output-dir string Save build artifacts in this directory.
-p, --port string Upload port address, e.g.: COM3 or /dev/ttyACM2
--preprocess Print preprocessed code to stdout instead of compiling.
-m, --profile string Sketch profile to use
-P, --programmer string Programmer to use, e.g: atmel_ice
-l, --protocol string Upload port protocol, e.g: serial
-q, --quiet Optional, suppresses almost every output.
--show-properties string[="expanded"] Show build properties. The properties are expanded, use "--show-properties=unexpanded" if you want them exactly as they are defined. (default "disabled")
--sign-key string The name of the custom signing key to use to sign a binary during the compile process. Used only by the platforms that support it.
-u, --upload Upload the binary after the compilation.
-v, --verbose Optional, turns on verbose mode.
-t, --verify Verify uploaded binary after the upload.
--warnings string Optional, can be: none, default, more, all. Used to tell gcc which warning level to use (-W flag). (default "none")
Global Flags:
--additional-urls strings Comma-separated list of additional URLs for the Boards Manager.
--config-dir string Sets the default data directory (Arduino CLI will look for configuration file in this directory).
--config-file string The custom config file (if not specified the default will be used).
--json Print the output in JSON format.
--log Print the logs on the standard output.
--log-file string Path to the file where logs will be written.
--log-format string The output format for the logs, can be: text, json (default "text")
--log-level string Messages with this level and above will be logged. Valid levels are: trace, debug, info, warn, error, fatal, panic (default "info")
--no-color Disable colored output.
accepts at most 1 arg(s), received 3
Expected behavior
That the compilation is done correctly, which is when I remove the 'cli-compile-flags', and that the binary files are found in the sketch directory.
'arduino/compile-sketches' version
latest
Additional context
No response
Issue checklist
- I searched for previous reports in the issue tracker
- I verified the problem still occurs when using the latest version
- My report contains all necessary details