Skip to content

feat(usb_device): esp_tinyusb API calls with a device in suspended state #1238

feat(usb_device): esp_tinyusb API calls with a device in suspended state

feat(usb_device): esp_tinyusb API calls with a device in suspended state #1238

# This is the main workflow for:
#
# - build_and_run_test_app_usb.yml
#
# It triggers reusable workflows with input arguments
name: Build and Run Test apps
on:
pull_request:
types: [opened, reopened, synchronize]
# Cancel previous runs of this workflow for the same PR when a new commit is pushed
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
check-label:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
has_label: ${{ steps.check.outputs.has_label }}
steps:
- name: Check for BUILD_AND_TEST_ALL_APPS label
id: check
uses: actions/github-script@v8
with:
script: |
const labels = context.payload.pull_request?.labels?.map(label => label.name) || [];
const hasLabel = labels.includes('BUILD_AND_TEST_ALL_APPS');
core.setOutput('has_label', hasLabel);
get-changed-files:
needs: check-label
runs-on: ubuntu-latest
outputs:
all_changed_files: ${{ steps.set-output.outputs.all_changed_files }}
steps:
- uses: actions/checkout@v5
if: needs.check-label.outputs.has_label != 'true'
- name: Get changed files
if: needs.check-label.outputs.has_label != 'true'
id: changed-files
uses: tj-actions/changed-files@v47
with:
separator: ';' # idf-build-apps expects files separated with semicolon
safe_output: false # Do not escape special characters
- name: Set output
id: set-output
if: always()
run: |
if [ "${{ needs.check-label.outputs.has_label }}" = "true" ]; then
echo "all_changed_files=" >> $GITHUB_OUTPUT
else
echo "all_changed_files=${{ steps.changed-files.outputs.all_changed_files }}" >> $GITHUB_OUTPUT
fi
build_run:
needs: get-changed-files
uses: ./.github/workflows/build_and_run_test_app_usb.yml
with:
idf_releases: '["release-v5.2",
"release-v5.3",
"release-v5.4",
"release-v5.5",
"release-v6.0",
"release-v6.1",
"latest"]'
idf_targets: '["esp32s2", "esp32p4"]'
changed_files: ${{ needs.get-changed-files.outputs.all_changed_files }}