mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 10:53:17 +00:00
* **New Features** * Added a full SDK integration test suite with a minimal sample app and automated multi-platform build/run flows. * Added a new CLI build tool to orchestrate SDK download, build, packaging, and device install/run. * **Documentation** * Added typography design token suggestion to ideas. * **Chores** * Updated CI to run SDK integration prep and test steps. * Adjusted build artifact paths, license mappings, and repository ignore rules (including .tactility).
53 lines
1.7 KiB
YAML
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@v4
|
|
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: v5.5
|
|
target: ${{ inputs.arch }}
|
|
path: './'
|
|
- name: 'Release'
|
|
shell: bash
|
|
env:
|
|
# NOTE: Update with ESP-IDF!
|
|
ESP_IDF_VERSION: '5.5'
|
|
run: python Buildscripts/release-sdk.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="0.0.0-${{ 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: v5.5
|
|
target: ${{ inputs.arch }}
|
|
command: export TACTILITY_SDK_PATH=../../test_sdk && cd Tests/SdkIntegration && python tactility.py build ${{ inputs.arch }} --local-sdk
|
|
- name: 'Upload Artifact'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: TactilitySDK-${{ inputs.arch }}
|
|
path: release/TactilitySDK
|
|
retention-days: 30
|