libhal-google / libhal

A collection of interfaces and abstractions for embedded peripherals and devices using modern C++
Apache License 2.0
86 stars 17 forks source link

Add project/demos/application building to CI #618

Closed kammce closed 1 year ago

kammce commented 1 year ago

This project will require that the developer come up with a standard way that libhal lays out project/demos/application directories. The end result of building these is the production of binary artifacts. The layout and can be locked to using cmake in a certain way if that makes the project easier.

Do not worry about multi-processor/multi-toolchain builds for this project.

And example of building demos can be found here: https://github.com/libhal/libhal-starter/actions/runs/3725701357/workflow

It may also make sense to exclude this part and instruct the CI developer to install their toolchains before running our build CI:

      - name: 📥 Install Arm GNU Toolchain (arm-none-eabi-gcc)
        uses: carlosperate/arm-none-eabi-gcc-action@v1
        id: arm-none-eabi-gcc-action
        with:
          release: '11.3.Rel1'

The information about which toolchain is used can be put into the project/library's CMake file so not needed as a flag for workflow.

kammce commented 1 year ago

Adding the arm compiler to the CI list is no longer necessary with the conan gnu-arm-embedded-toolchain.