feature(usbtmc): add support for usbtmc vendor-spicific command messages #3889
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
workflow_dispatch: | |
push: | |
paths: | |
- 'src/**' | |
- 'examples/**' | |
- 'lib/**' | |
- 'hw/**' | |
- 'tools/get_deps.py' | |
- 'tools/build.py' | |
- '.github/actions/**' | |
- '.github/workflows/build.yml' | |
- '.github/workflows/build_util.yml' | |
- '.github/workflows/ci_set_matrix.py' | |
pull_request: | |
branches: [ master ] | |
paths: | |
- 'src/**' | |
- 'examples/**' | |
- 'lib/**' | |
- 'hw/**' | |
- 'tools/get_deps.py' | |
- 'tools/build.py' | |
- '.github/actions/**' | |
- '.github/workflows/build.yml' | |
- '.github/workflows/build_util.yml' | |
- '.github/workflows/ci_set_matrix.py' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
set-matrix: | |
runs-on: ubuntu-latest | |
outputs: | |
json: ${{ steps.set-matrix-json.outputs.matrix }} | |
steps: | |
- name: Checkout TinyUSB | |
uses: actions/checkout@v4 | |
- name: Generate matrix json | |
id: set-matrix-json | |
run: | | |
MATRIX_JSON=$(python .github/workflows/ci_set_matrix.py) | |
echo "matrix=$MATRIX_JSON" | |
echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT | |
# --------------------------------------- | |
# Build CMake | |
# --------------------------------------- | |
cmake: | |
needs: set-matrix | |
uses: ./.github/workflows/build_util.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: | |
# - 'arm-clang' is built by circle-ci in PR | |
- 'aarch64-gcc' | |
- 'arm-gcc' | |
- 'msp430-gcc' | |
- 'riscv-gcc' | |
with: | |
build-system: 'cmake' | |
toolchain: ${{ matrix.toolchain }} | |
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.toolchain]) }} | |
one-per-family: ${{ github.event_name == 'push' }} | |
# --------------------------------------- | |
# Build Make (built by circle-ci in PR, only build on push here) | |
# --------------------------------------- | |
make: | |
if: github.event_name == 'push' | |
needs: set-matrix | |
uses: ./.github/workflows/build_util.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: | |
# 'arm-clang' | |
- 'arm-gcc' | |
- 'aarch64-gcc' | |
- 'msp430-gcc' | |
- 'riscv-gcc' | |
- 'rx-gcc' | |
- 'esp-idf' | |
with: | |
build-system: 'make' | |
toolchain: ${{ matrix.toolchain }} | |
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.toolchain]) }} | |
one-per-family: true | |
# --------------------------------------- | |
# Build Make on Windows/MacOS | |
# --------------------------------------- | |
make-os: | |
if: github.event_name == 'pull_request' | |
uses: ./.github/workflows/build_util.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, macos-latest] | |
with: | |
os: ${{ matrix.os }} | |
build-system: 'make' | |
toolchain: 'arm-gcc' | |
build-args: '["stm32h7"]' | |
one-per-family: true | |
# --------------------------------------- | |
# Build IAR | |
# Since IAR Token secret is not passed to forked PR, only build non-forked PR with make. | |
# cmake is built by circle-ci. Due to IAR limit capacity, only build oe per family | |
# --------------------------------------- | |
arm-iar: | |
if: false # disable for now since we got reach capacity limit too often | |
#if: github.event_name == 'push' && github.repository_owner == 'hathach' | |
needs: set-matrix | |
uses: ./.github/workflows/build_util.yml | |
secrets: inherit | |
strategy: | |
fail-fast: false | |
matrix: | |
build-system: | |
- 'make' | |
with: | |
build-system: ${{ matrix.build-system }} | |
toolchain: 'arm-iar' | |
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)['arm-iar']) }} | |
one-per-family: true | |
# --------------------------------------- | |
# Zephyr | |
# --------------------------------------- | |
zephyr: | |
if: github.event_name == 'push' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout TinyUSB | |
uses: actions/checkout@v4 | |
- name: Setup Zephyr project | |
uses: zephyrproject-rtos/action-zephyr-setup@v1 | |
with: | |
app-path: examples | |
toolchains: arm-zephyr-eabi | |
- name: Build | |
run: | | |
west build -b pca10056 -d examples/device/cdc_msc/build examples/device/cdc_msc -- -DRTOS=zephyr | |
west build -b pca10056 -d examples/device/msc_dual_lun/build examples/device/msc_dual_lun -- -DRTOS=zephyr |