Skip to content

Portenta H7: extended pin list, pinNames, SPI, WIre, PWM, ADC #87

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
91 changes: 90 additions & 1 deletion .github/workflows/package_core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
wget -nv https://raw.githubusercontent.com/arduino/arduino-examples/refs/heads/main/examples/01.Basics/Blink/Blink.ino -P Blink/

- name: Compile Blink for ${{ env.FQBN }}
uses: arduino/compile-sketches@main
uses: pillo79/compile-sketches@main
with:
fqbn: ${{ env.FQBN }}
platforms: |
Expand All @@ -96,3 +96,92 @@ jobs:
sketch-paths: Blink
verbose: 'false'
enable-deltas-report: 'false'
enable-warnings-report: 'true'
enable-warnings-log: 'true'

- name: Clean up log
run: |
sed -i -e 's!/home/runner/.arduino15/packages/arduino/hardware/zephyr/[^/]*/!!g' sketches-reports/*

- uses: actions/upload-artifact@v4
with:
name: test-report-${{ needs.package-core.outputs.CORE_TAG }}-${{ matrix.board }}
path: sketches-reports/*

collect-logs:
name: Test summary
runs-on: ubuntu-latest
needs:
- package-core
- test-core
if: ${{ !cancelled() && needs.package-core.result == 'success' }}
env:
BOARD_NAMES: ${{ needs.package-core.outputs.BOARD_NAMES }}
steps:
- uses: actions/download-artifact@v4
with:
path: .
pattern: test-report-*
merge-multiple: true

- run: |
echo "### Core test results" >> "$GITHUB_STEP_SUMMARY"
for BOARD in $(echo $BOARD_NAMES | jq -cr '.[]'); do
FQBN="arduino:zephyr:$BOARD"
REPORT_FILE="arduino-zephyr-$BOARD.json"
if [ ! -f $REPORT_FILE ]; then
echo ":x: $BOARD - No report found?" >> "$GITHUB_STEP_SUMMARY"
else
REPORT=$(jq -cr '.boards[0].sketches[0]' $REPORT_FILE)
if ! $(echo $REPORT | jq -cr '.compilation_success') ; then
echo ":x: $BOARD - **Build failed**" >> "$GITHUB_STEP_SUMMARY"
else
WARNINGS=$(echo $REPORT | jq -cr '.warnings.current.absolute // 0')
if [ $WARNINGS -eq 0 ]; then
echo ":white_check_mark: $BOARD - Build successful" >> "$GITHUB_STEP_SUMMARY"
else
echo "<details><summary>:warning: $BOARD - $WARNINGS Warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
echo >> "$GITHUB_STEP_SUMMARY"
echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
echo $REPORT | jq -cr '.warnings_log[]' >> "$GITHUB_STEP_SUMMARY"
echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
echo >> "$GITHUB_STEP_SUMMARY"
echo "</details>" >> "$GITHUB_STEP_SUMMARY"
fi
fi
fi
done

publish-artifacts:
name: Publish artifacts
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && github.repository == 'arduino/ArduinoCore-zephyr' }}
needs:
- package-core
- test-core
env:
CORE_ARTIFACT: ${{ needs.package-core.outputs.CORE_ARTIFACT }}
CORE_TAG: ${{ needs.package-core.outputs.CORE_TAG }}
PACKAGE_INDEX_JSON: zephyr-core-${{ needs.package-core.outputs.CORE_TAG }}.json
steps:
- uses: actions/download-artifact@v4
with:
name: ${{ env.CORE_ARTIFACT }}

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.IAM_ROLE }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Upload artifact
run: aws s3 sync ${{ env.CORE_ARTIFACT }}.tar.bz2 s3://${{ secrets.S3_BUCKET }}

- name: Prepare package index snippet
run: ./extra/gen_package_index_json.sh

- name: Archive package index snippet
uses: actions/upload-artifact@v4
with:
name: ${{ env.PACKAGE_INDEX_JSON }}
path: ${{ env.PACKAGE_INDEX_JSON }}
11 changes: 11 additions & 0 deletions extra/gen_package_index_json.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

if [ -z "$CORE_TAG" ]; then
echo "This script can be used in Github CI only."
exit 1
fi

export ARTIFACT_HASH=$(sha256sum $CORE_ARTIFACT)
export ARTIFACT_SIZE=$(stat -c %s $CORE_ARTIFACT)

envsubst < extra/zephyr-core-template.json > $PACKAGE_INDEX_JSON
66 changes: 66 additions & 0 deletions extra/zephyr-core-template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"packages": [
{
"platforms": [
{
"name": "Arduino Zephyr Boards",
"architecture": "zephyr",
"version": "$CORE_TAG",
"category": "Arduino",
"url": "https://downloads.arduino.cc/cores/zephyr/${CORE_ARTIFACT}.tar.bz2",
"archiveFileName": "${CORE_ARTIFACT}.tar.bz2",
"checksum": "SHA-256:${ARTIFACT_HASH}",
"size": "${ARTIFACT_SIZE}",
"help": {
"online": "https://www.arduino.cc/en/Reference/HomePage"
},
"boards": [
{
"name": "Arduino Giga"
},
{
"name": "Arduino Nano 33 BLE"
},
{
"name": "Arduino Portenta H7"
},
{
"name": "Arduino Portenta C33"
},
{
"name": "Renesas EK_RA8D1"
},
{
"name": "NXP FRDM MCXN947"
},
{
"name": "NXP FRDM RW612"
}
],
"toolsDependencies": [
{
"packager": "zephyr",
"name": "arm-zephyr-eabi",
"version": "0.16.8"
},
{
"packager": "arduino",
"name": "dfu-util",
"version": "0.11.0-arduino5"
},
{
"packager": "arduino",
"name": "bossac",
"version": "1.9.1-arduino2"
},
{
"packager": "arduino",
"name": "zephyr-post-build-tool",
"version": "0.1.0"
}
]
}
]
}
]
}
Loading