name: Build ESP on: push: paths: - 'src/**' - 'examples/**' - 'lib/**' - 'hw/**' pull_request: branches: [ master ] paths: - 'src/**' - 'examples/**' - 'lib/**' - 'hw/**' concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: build-esp: runs-on: ubuntu-latest strategy: fail-fast: false matrix: board: # Alphabetical order # ESP32-S2 - 'espressif_saola_1' # ESP32-S3 #- 'espressif_s3_devkitm' # S3 compile error with "dangerous relocation: call8: call target out of range: memcpy" steps: - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.x' - name: Pull ESP-IDF docker run: docker pull espressif/idf:latest - name: Checkout TinyUSB uses: actions/checkout@v3 - name: Checkout hathach/linkermap uses: actions/checkout@v3 with: repository: hathach/linkermap path: linkermap - name: Build run: docker run --rm -v $PWD:/project -w /project espressif/idf:latest python3 tools/build_esp32sx.py ${{ matrix.board }} - name: Linker Map run: | pip install linkermap/ # find -quit to only print linkermap of 1 board per example for ex in `ls -d examples/device/*/` do find ${ex} -maxdepth 3 -name *.map -print -quit | xargs -I % sh -c 'echo "::group::%"; linkermap -v %; echo "::endgroup::"' done