name: Build boards on: workflow_call: inputs: platform: required: true type: string boards: required: true type: string cp-version: required: true type: string jobs: build: 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 uses: ./.github/actions/port_deps with: platform: ${{ inputs.platform }} - name: Set up submodules id: set-up-submodules uses: ./.github/actions/fetch_submodules - name: Set up external uses: ./.github/actions/external_deps with: platform: ${{ inputs.platform }} - name: Set up mpy-cross if: steps.set-up-submodules.outputs.frozen == 'True' uses: ./.github/actions/mpy_cross - 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 run: python3 -u build_release_files.py working-directory: tools env: BOARDS: ${{ matrix.board }} - name: Upload artifact uses: actions/upload-artifact@v3 with: name: ${{ matrix.board }} path: bin/${{ matrix.board }} - name: Upload to S3 if: >- (github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository_owner == 'adafruit') || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested')) run: | pip install awscli [ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1 env: AWS_PAGER: '' AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}