Comments (2)
Thank you so much for your quick response! I had previously searched both forums, without finding a answer, before opening this issue. I had originally used the package index url, but had another mistake in my workflow file, and in my confusion, switched to the manual package install (which I now realize would have failed to get the matrix versions correct anyway).
Just switching the url back to using the package index fixed all my problems. Thank you for this project! It will be a real life saver.
from compile-sketches.
Hi @UncleGrumpy.
Explanation of Problem
This part of your workflow causes the "esp8266" platform to be installed from the Git repository source:
platforms: | - name: esp8266:esp8266 source-url: https://github.com/esp8266/Arduino.git version: ${{ matrix.core.version }}
When you use the standard way of installing the platform, all the tool dependencies are installed along with it via the Boards Manager infrastructure. But when you install it from a Git repository source, no tool dependencies are installed. One of the tool dependencies of the "esp8266" platform is Python. This is the cause of the error you encountered.
There is no possible way for the action to know the arbitrary procedure a platform would need for tool dependencies installation when installed from a repository source so you must configure your workflow to install all dependencies of the platform if you are going to source it from a repository.
Recommended Solution
The best solution will be to simply source the platform from Boards Manager:
platforms: |
- name: esp8266:esp8266
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
version: ${{ matrix.core.version }}
Sourcing from a Git repository is useful in cases where you want to test against the development version of a platform, but in this case you are only using the release versions of the platform so there is absolutely no benefit to sourcing it from the repository.
Notes re: Using the Repository Source
When it does make sense to use a repository source for a platform, tool dependencies installation is typically accomplish that by installing the release version of the platform sourced from Boards Manager just to get the tool dependencies and then overwrite that installation with the repository sourced platform. You can see an example of that here:
platforms: |
# Use Boards Manager to install the latest release of the platform to get the toolchain.
- name: arduino:avr
# Overwrite the Boards Manager installation with the platform from the repository.
- source-path: ./
name: arduino:avr
However, I haven't ever tried that with the "esp8266" platform. The standard way to install the tool dependencies when using a manual installation of that platform is the procedure described here:
https://arduino-esp8266.readthedocs.io/en/latest/installing.html#using-git-version
Providing support for this sort of thing is out of scope for this repository. You can ask over on Arduino Forum or the ESP8266 Forum if you need assistance with that.
from compile-sketches.
Related Issues (20)
- Ability to exclude specific examples in a matrix build HOT 3
- Ability to prep build environment without building HOT 3
- Library not included, when `source-path:` points to private repo HOT 3
- Library version is not working HOT 1
- Automatically load libraries from `depends` field in `library.propreties` HOT 2
- Incorrect and insufficient documentation of `cli-compile-args` input data format HOT 2
- cli-compile-flags HOT 1
- compile-sketches reporting 403 when trying to download arduino-cli HOT 5
- Allow FQBN to be defined in build profile alone
- Support for latest Mac and Windows OS
- Compile ESP8266 Platform examples => esp8266 installation fails HOT 2
- Sketches with `#include Math.h` do not compile via GH Action (but do locally) HOT 1
- compilesketches.py error before compile that related to recent update HOT 2
- could a runner's cache be supported? HOT 4
- Improve documentation of data format of dependency inputs HOT 1
- Spaces in FQBN are not supported HOT 3
- compile-sketches uses gnu++11... HOT 3
- Deprecation warning HOT 1
- Rate limiting failures have started appearing frequently in the past few weeks HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from compile-sketches.