88 lines
2.3 KiB
YAML
88 lines
2.3 KiB
YAML
name: Build boards
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
boards:
|
|
required: true
|
|
type: string
|
|
cp-version:
|
|
required: true
|
|
type: string
|
|
secrets:
|
|
AWS_ACCESS_KEY_ID:
|
|
required: false
|
|
AWS_SECRET_ACCESS_KEY:
|
|
required: false
|
|
|
|
jobs:
|
|
board:
|
|
runs-on: ubuntu-22.04
|
|
env:
|
|
CP_VERSION: ${{ inputs.cp-version }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
board: ${{ fromJSON(inputs.boards) }}
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: false
|
|
fetch-depth: 1
|
|
- name: Set up python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.x
|
|
- name: Set up port
|
|
id: set-up-port
|
|
uses: ./.github/actions/deps/ports
|
|
with:
|
|
board: ${{ matrix.board }}
|
|
- name: Set up submodules
|
|
id: set-up-submodules
|
|
uses: ./.github/actions/deps/submodules
|
|
- name: Set up external
|
|
uses: ./.github/actions/deps/external
|
|
with:
|
|
port: ${{ steps.set-up-port.outputs.port }}
|
|
- name: Set up mpy-cross
|
|
if: steps.set-up-submodules.outputs.frozen == 'True'
|
|
uses: ./.github/actions/mpy_cross
|
|
with:
|
|
cp-version: ${{ inputs.cp-version }}
|
|
|
|
- name: Versions
|
|
run: |
|
|
gcc --version
|
|
python3 --version
|
|
cmake --version || true
|
|
ninja --version || true
|
|
aarch64-none-elf-gcc --version || true
|
|
arm-none-eabi-gcc --version || true
|
|
xtensa-esp32-elf-gcc --version || true
|
|
riscv32-esp-elf-gcc --version || true
|
|
riscv64-unknown-elf-gcc --version || true
|
|
mkfs.fat --version || true
|
|
|
|
- name: Set up build failure matcher
|
|
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
|
- name: Build board
|
|
run: python3 -u build_release_files.py
|
|
working-directory: tools
|
|
env:
|
|
BOARDS: ${{ matrix.board }}
|
|
PULL: ${{ github.event.number }}
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ${{ matrix.board }}
|
|
path: bin/${{ matrix.board }}
|
|
- name: Upload to S3
|
|
uses: ./.github/actions/upload_aws
|
|
with:
|
|
source: bin/
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|