Ken Van Hoeylandt cba73d1de2
app-module and TactilitySDK improvements (#665)
New features:
- SDK version 7.0.0 packages include version metadata and platform-specific application settings.
- Apps gain POSIX support for file polling, terminal attributes, and standard input/output, plus additional C and POSIX functions.
 - Shell commands can launch installed headless apps using their registered app settings.
- Apps can exit with a status code, and terminal clear commands support clearing from the cursor to the end, from the start through the cursor, or the entire display.

Fixes:
- SDK integration builds locate the build tool reliably and use settings for the selected platform.
- ESP32 file operations handle invalid paths and existing directories more consistently.
2026-09-27 22:30:23 +02:00

53 lines
1.7 KiB
YAML

name: Build
inputs:
board_id:
description: The sdkconfig file to build
required: true
arch:
description: The ESP32 SOC variant
required: true
runs:
using: "composite"
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: 'Board select'
shell: bash
run: python device.py ${{ inputs.board_id }}
- name: 'Build'
uses: espressif/esp-idf-ci-action@v1
with:
# NOTE: Update with ESP-IDF!
esp_idf_version: v6.1
target: ${{ inputs.arch }}
path: './'
- name: 'Release'
shell: bash
env:
# NOTE: Update with ESP-IDF!
ESP_IDF_VERSION: '6.1'
run: python Buildscripts/release-sdk-esp32.py release/TactilitySDK
- name: 'Test Integration Prep'
shell: bash
# The manifest.properties of our integration test uses version 0.0.0 to indicate that it is not using a normal SDK
# This way, it only works with our custom build. That means we have to create a copy of the SDK with the correct folder structure:
run: |
TACTILITY_SDK_NAME="$(cat version.txt)-${{ inputs.arch }}"
mkdir -p test_sdk/$TACTILITY_SDK_NAME
cp -r release/TactilitySDK test_sdk/$TACTILITY_SDK_NAME
- name: 'Test Integration'
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v6.1
target: ${{ inputs.arch }}
command: export TACTILITY_SDK_PATH=../../test_sdk && cd Tests/SdkIntegration && python ../../tactility.py build -a ${{ inputs.arch }} --local-sdk
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: TactilitySDK-${{ inputs.arch }}
path: release/TactilitySDK
retention-days: 30