m5stack / M5GFX

Graphics library for M5Stack series
MIT License
154 stars 47 forks source link

Continuous integration with GitHub actions #85

Open KenVanHoeylandt opened 6 months ago

KenVanHoeylandt commented 6 months ago

I was trying to implement CI to ensure the component compiles for the various versions of ESP-IDF.

The problem is that the project is not set up in a way that allows for this: ESP-IDF components should be in a subfolder (commonly main/, but it could also be M5GFX/). Without this, any attempt to compile the component with idf.py build leads to this error:

Called idf_component_register from a non-component directory.

Reference build: https://github.com/KenVanHoeylandt/M5GFX/actions/runs/8222729252/job/22484559726

.github/workflows/build.yml example:

name: Build
on: [push]
jobs:
  build-esp-idf-4.4:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo
        uses: actions/checkout@v2
        with:
          submodules: recursive
      - name: build
        uses: espressif/esp-idf-ci-action@main
        with:
          esp_idf_version: v4.4
          target: esp32

To allow for idf.py build to work independently in this project, these steps are required:

Considering that moving source files has a big impact on your currently unmerged branches, I figured I'd open this issue to discuss the proposed changes.

lovyan03 commented 5 months ago

Hello, @KenVanHoeylandt Sorry, it's my lack of understanding and I don't quite understand what you're asking. Are you saying you want the main source code of the library to be in main instead of src?