124c7b785a
.. this board is nearly the same as the "1.2" version originally released, but makes a few changes to reduce pin conflicts between the 13-pin camera header and the bootstrapping pins. "1.3" was introduced in summer 2020-- check the bottom of your board silk to find out whether you have a 1.2 or a 1.3, because it's not clear whether there is remaining 1.2 stock. Another vexing fact about the 1.3 is that its LCD can have one of two chipets, and the chipset used is not marked anywhere!
580 lines
21 KiB
YAML
580 lines
21 KiB
YAML
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
name: Build CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
release:
|
|
types: [published]
|
|
check_suite:
|
|
types: [rerequested]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Dump GitHub context
|
|
env:
|
|
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
run: echo "$GITHUB_CONTEXT"
|
|
- uses: actions/checkout@v2.2.0
|
|
with:
|
|
submodules: true
|
|
fetch-depth: 0
|
|
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
|
|
- name: CircuitPython version
|
|
run: |
|
|
git describe --dirty --tags
|
|
echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.8
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y eatmydata
|
|
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64 latexmk texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra gcc-aarch64-linux-gnu
|
|
pip install -r requirements-dev.txt
|
|
- name: Versions
|
|
run: |
|
|
gcc --version
|
|
python3 --version
|
|
- name: New boards check
|
|
run: python3 -u ci_new_boards_check.py
|
|
working-directory: tools
|
|
- name: Duplicate USB VID/PID Check
|
|
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
|
|
- name: Build and Validate Stubs
|
|
run: make check-stubs -j2
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: stubs
|
|
path: circuitpython-stubs*
|
|
- name: Test Documentation Build (HTML)
|
|
run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: docs
|
|
path: _build/html
|
|
- name: Test Documentation Build (LaTeX/PDF)
|
|
run: |
|
|
make latexpdf
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: docs
|
|
path: _build/latex
|
|
- name: Build mpy-cross
|
|
run: make -C mpy-cross -j2
|
|
- name: Build unix port
|
|
run: |
|
|
make -C ports/unix VARIANT=coverage -j2
|
|
- name: Test all
|
|
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1
|
|
working-directory: tests
|
|
- name: Native Tests
|
|
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --emit native
|
|
working-directory: tests
|
|
- name: mpy Tests
|
|
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --mpy-cross-flags='-mcache-lookup-bc' --via-mpy -d basics float micropython
|
|
working-directory: tests
|
|
- name: Native mpy Tests
|
|
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --mpy-cross-flags='-mcache-lookup-bc' --via-mpy --emit native -d basics float micropython
|
|
working-directory: tests
|
|
- name: Build mpy-cross.static-aarch64
|
|
run: make -C mpy-cross -j2 -f Makefile.static-aarch64
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mpy-cross.static-aarch64
|
|
path: mpy-cross/mpy-cross.static-aarch64
|
|
- name: Build mpy-cross.static-raspbian
|
|
run: make -C mpy-cross -j2 -f Makefile.static-raspbian
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mpy-cross.static-raspbian
|
|
path: mpy-cross/mpy-cross.static-raspbian
|
|
- name: Build mpy-cross.static
|
|
run: make -C mpy-cross -j2 -f Makefile.static
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mpy-cross.static-amd64-linux
|
|
path: mpy-cross/mpy-cross.static
|
|
- name: Build mpy-cross.static-mingw
|
|
run: make -C mpy-cross -j2 -f Makefile.static-mingw
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mpy-cross.static-x64-windows
|
|
path: mpy-cross/mpy-cross.static.exe
|
|
- name: Upload stubs and mpy-cross builds to S3
|
|
run: |
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static-aarch64 s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-aarch64-${{ env.CP_VERSION }} --no-progress --region us-east-1
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static-raspbian s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-raspbian-${{ env.CP_VERSION }} --no-progress --region us-east-1
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-amd64-linux-${{ env.CP_VERSION }} --no-progress --region us-east-1
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static.exe s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-x64-windows-${{ env.CP_VERSION }}.exe --no-progress --region us-east-1
|
|
zip -9r circuitpython-stubs.zip circuitpython-stubs
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp circuitpython-stubs.zip s3://adafruit-circuit-python/bin/stubs/circuitpython-stubs-${{ env.CP_VERSION }}.zip --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 }}
|
|
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
|
|
|
|
|
|
mpy-cross-mac:
|
|
runs-on: macos-10.15
|
|
steps:
|
|
- name: Dump GitHub context
|
|
env:
|
|
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
run: echo "$GITHUB_CONTEXT"
|
|
- uses: actions/checkout@v2.2.0
|
|
with:
|
|
submodules: true
|
|
fetch-depth: 0
|
|
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
|
|
- name: CircuitPython version
|
|
run: |
|
|
git describe --dirty --tags
|
|
echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
|
|
- name: Install dependencies
|
|
run: |
|
|
brew install gettext
|
|
echo >>$GITHUB_PATH /usr/local/opt/gettext/bin
|
|
- name: Versions
|
|
run: |
|
|
gcc --version
|
|
python3 --version
|
|
msgfmt --version
|
|
- name: Build mpy-cross
|
|
run: make -C mpy-cross -j2
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mpy-cross-macos-catalina
|
|
path: mpy-cross/mpy-cross
|
|
- name: Select SDK for M1 build
|
|
run: sudo xcode-select -switch /Applications/Xcode_12.3.app
|
|
- name: Build mpy-cross (arm64)
|
|
run: make -C mpy-cross -j2 -f Makefile.m1 V=2
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mpy-cross-macos-bigsur-arm64
|
|
path: mpy-cross/mpy-cross-arm64
|
|
- name: Make universal binary
|
|
run: lipo -create -output mpy-cross-macos-universal mpy-cross/mpy-cross mpy-cross/mpy-cross-arm64
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: mpy-cross-macos-universal
|
|
path: mpy-cross-macos-universal
|
|
- name: Upload mpy-cross build to S3
|
|
run: |
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross-macos-universal s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross-macos-universal-${{ env.CP_VERSION }} --no-progress --region us-east-1
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross-arm64 s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross-macos-bigsur-${{ env.CP_VERSION }}-arm64 --no-progress --region us-east-1
|
|
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross-macos-catalina-${{ env.CP_VERSION }} --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 }}
|
|
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
|
|
|
|
|
|
build-arm:
|
|
runs-on: ubuntu-20.04
|
|
needs: test
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
board:
|
|
- "8086_commander"
|
|
- "ADM_B_NRF52840_1"
|
|
- "TG-Watch"
|
|
- "adafruit_feather_rp2040"
|
|
- "adafruit_itsybitsy_rp2040"
|
|
- "adafruit_macropad_rp2040"
|
|
- "adafruit_neokey_trinkey_m0"
|
|
- "adafruit_proxlight_trinkey_m0"
|
|
- "adafruit_qt2040_trinkey"
|
|
- "adafruit_qtpy_rp2040"
|
|
- "adafruit_rotary_trinkey_m0"
|
|
- "adafruit_slide_trinkey_m0"
|
|
- "aloriumtech_evo_m51"
|
|
- "aramcon2_badge"
|
|
- "aramcon_badge_2019"
|
|
- "arduino_mkr1300"
|
|
- "arduino_mkrzero"
|
|
- "arduino_nano_33_ble"
|
|
- "arduino_nano_33_iot"
|
|
- "arduino_nano_rp2040_connect"
|
|
- "arduino_zero"
|
|
- "bast_pro_mini_m0"
|
|
- "bastble"
|
|
- "bdmicro_vina_d21"
|
|
- "bdmicro_vina_d51"
|
|
- "bdmicro_vina_d51_pcb7"
|
|
- "bless_dev_board_multi_sensor"
|
|
- "blm_badge"
|
|
- "capablerobot_usbhub"
|
|
- "catwan_usbstick"
|
|
- "circuitbrains_basic_m0"
|
|
- "circuitbrains_deluxe_m4"
|
|
- "circuitplayground_bluefruit"
|
|
- "circuitplayground_express"
|
|
- "circuitplayground_express_crickit"
|
|
- "circuitplayground_express_displayio"
|
|
- "clue_nrf52840_express"
|
|
- "cp32-m4"
|
|
- "cp_sapling_m0"
|
|
- "cp_sapling_m0_revb"
|
|
- "cp_sapling_m0_spiflash"
|
|
- "cytron_maker_pi_rp2040"
|
|
- "datalore_ip_m4"
|
|
- "datum_distance"
|
|
- "datum_imu"
|
|
- "datum_light"
|
|
- "datum_weather"
|
|
- "dynalora_usb"
|
|
- "dynossat_edu_eps"
|
|
- "dynossat_edu_obc"
|
|
- "electronut_labs_blip"
|
|
- "electronut_labs_papyr"
|
|
- "escornabot_makech"
|
|
- "espruino_pico"
|
|
- "espruino_wifi"
|
|
- "feather_bluefruit_sense"
|
|
- "feather_m0_adalogger"
|
|
- "feather_m0_basic"
|
|
- "feather_m0_express"
|
|
- "feather_m0_express_crickit"
|
|
- "feather_m0_rfm69"
|
|
- "feather_m0_rfm9x"
|
|
- "feather_m0_supersized"
|
|
- "feather_m4_can"
|
|
- "feather_m4_express"
|
|
- "feather_m7_1011"
|
|
- "feather_mimxrt1011"
|
|
- "feather_mimxrt1062"
|
|
- "feather_nrf52840_express"
|
|
- "feather_stm32f405_express"
|
|
- "fluff_m0"
|
|
- "gemma_m0"
|
|
- "grandcentral_m4_express"
|
|
- "hallowing_m0_express"
|
|
- "hallowing_m4_express"
|
|
- "hiibot_bluefi"
|
|
- "huntercat_nfc"
|
|
- "ikigaisense_vita"
|
|
- "imxrt1010_evk"
|
|
- "imxrt1020_evk"
|
|
- "imxrt1060_evk"
|
|
- "itsybitsy_m0_express"
|
|
- "itsybitsy_m4_express"
|
|
- "itsybitsy_nrf52840_express"
|
|
- "kicksat-sprite"
|
|
- "loc_ber_m4_base_board"
|
|
- "makerdiary_m60_keyboard"
|
|
- "makerdiary_nrf52840_m2_devkit"
|
|
- "makerdiary_nrf52840_mdk"
|
|
- "makerdiary_nrf52840_mdk_usb_dongle"
|
|
- "matrixportal_m4"
|
|
- "meowbit_v121"
|
|
- "meowmeow"
|
|
- "metro_m0_express"
|
|
- "metro_m4_airlift_lite"
|
|
- "metro_m4_express"
|
|
- "metro_m7_1011"
|
|
- "metro_nrf52840_express"
|
|
- "mini_sam_m4"
|
|
- "monster_m4sk"
|
|
- "ndgarage_ndbit6"
|
|
- "ndgarage_ndbit6_v2"
|
|
- "neopixel_trinkey_m0"
|
|
- "nfc_copy_cat"
|
|
- "nice_nano"
|
|
- "nucleo_f746zg"
|
|
- "nucleo_f767zi"
|
|
- "nucleo_h743zi_2"
|
|
- "ohs2020_badge"
|
|
- "openbook_m4"
|
|
- "openmv_h7"
|
|
- "particle_argon"
|
|
- "particle_boron"
|
|
- "particle_xenon"
|
|
- "pca10056"
|
|
- "pca10059"
|
|
- "pca10100"
|
|
- "pewpew10"
|
|
- "pewpew_m4"
|
|
- "picoplanet"
|
|
- "pimoroni_keybow2040"
|
|
- "pimoroni_pga2040"
|
|
- "pimoroni_picolipo_16mb"
|
|
- "pimoroni_picolipo_4mb"
|
|
- "pimoroni_picosystem"
|
|
- "pimoroni_tiny2040"
|
|
- "pitaya_go"
|
|
- "pyb_nano_v2"
|
|
- "pybadge"
|
|
- "pyboard_v11"
|
|
- "pycubed"
|
|
- "pycubed_mram"
|
|
- "pygamer"
|
|
- "pyportal"
|
|
- "pyportal_titano"
|
|
- "pyruler"
|
|
- "qtpy_m0"
|
|
- "qtpy_m0_haxpress"
|
|
- "raspberry_pi_pico"
|
|
- "raytac_mdbt50q-db-40"
|
|
- "robohatmm1_m4"
|
|
- "sam32"
|
|
- "same54_xplained"
|
|
- "seeeduino_wio_terminal"
|
|
- "seeeduino_xiao"
|
|
- "sensebox_mcu"
|
|
- "serpente"
|
|
- "shirtty"
|
|
- "silicognition-m4-shim"
|
|
- "simmel"
|
|
- "snekboard"
|
|
- "sparkfun_lumidrive"
|
|
- "sparkfun_micromod_rp2040"
|
|
- "sparkfun_nrf52840_micromod"
|
|
- "sparkfun_nrf52840_mini"
|
|
- "sparkfun_pro_micro_rp2040"
|
|
- "sparkfun_qwiic_micro_no_flash"
|
|
- "sparkfun_qwiic_micro_with_flash"
|
|
- "sparkfun_redboard_turbo"
|
|
- "sparkfun_samd21_dev"
|
|
- "sparkfun_samd21_mini"
|
|
- "sparkfun_samd51_micromod"
|
|
- "sparkfun_samd51_thing_plus"
|
|
- "sparkfun_thing_plus_rp2040"
|
|
- "spresense"
|
|
- "stackrduino_m0_pro"
|
|
- "stm32f411ce_blackpill"
|
|
- "stm32f411ce_blackpill_with_flash"
|
|
- "stm32f411ve_discovery"
|
|
- "stm32f412zg_discovery"
|
|
- "stm32f4_discovery"
|
|
- "stm32f746g_discovery"
|
|
- "stringcar_m0_express"
|
|
- "teensy40"
|
|
- "teensy41"
|
|
- "teknikio_bluebird"
|
|
- "thunderpack_v11"
|
|
- "thunderpack_v12"
|
|
- "tinkeringtech_scoutmakes_azul"
|
|
- "trellis_m4_express"
|
|
- "trinket_m0"
|
|
- "trinket_m0_haxpress"
|
|
- "uartlogger2"
|
|
- "uchip"
|
|
- "ugame10"
|
|
- "winterbloom_big_honking_button"
|
|
- "winterbloom_sol"
|
|
- "xinabox_cc03"
|
|
- "xinabox_cs11"
|
|
|
|
steps:
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.8
|
|
- uses: actions/checkout@v2.2.0
|
|
with:
|
|
submodules: true
|
|
fetch-depth: 0
|
|
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt-get install -y gettext
|
|
pip install -r requirements-dev.txt
|
|
wget --no-verbose https://adafruit-circuit-python.s3.amazonaws.com/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
|
|
sudo tar -C /usr --strip-components=1 -xaf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
|
|
- name: Versions
|
|
run: |
|
|
gcc --version
|
|
arm-none-eabi-gcc --version
|
|
python3 --version
|
|
- name: mpy-cross
|
|
run: make -C mpy-cross -j2
|
|
- name: Setup 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 }}
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ matrix.board }}
|
|
path: bin/${{ matrix.board }}
|
|
- name: Upload to S3
|
|
run: "[ -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 }}
|
|
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
|
|
|
|
build-riscv:
|
|
runs-on: ubuntu-20.04
|
|
needs: test
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
board:
|
|
- "fomu"
|
|
|
|
steps:
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.8
|
|
- uses: actions/checkout@v2.2.0
|
|
with:
|
|
submodules: true
|
|
fetch-depth: 0
|
|
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt-get install -y gettext
|
|
pip install requests sh click setuptools awscli
|
|
wget https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
|
|
sudo tar -C /usr --strip-components=1 -xaf riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
|
|
- name: Versions
|
|
run: |
|
|
gcc --version
|
|
riscv64-unknown-elf-gcc --version
|
|
python3 --version
|
|
- name: mpy-cross
|
|
run: make -C mpy-cross -j2
|
|
- name: Setup 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 }}
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ matrix.board }}
|
|
path: bin/${{ matrix.board }}
|
|
- name: Upload to S3
|
|
run: "[ -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 }}
|
|
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
|
|
build-xtensa:
|
|
runs-on: ubuntu-20.04
|
|
needs: test
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
board:
|
|
- "adafruit_feather_esp32s2_nopsram"
|
|
- "adafruit_feather_esp32s2_tftback_nopsram"
|
|
- "adafruit_funhouse"
|
|
- "adafruit_magtag_2.9_grayscale"
|
|
- "adafruit_metro_esp32s2"
|
|
- "artisense_rd00"
|
|
- "atmegazero_esp32s2"
|
|
- "electroniccats_bastwifi"
|
|
- "espressif_kaluga_1"
|
|
- "espressif_kaluga_1.3"
|
|
- "espressif_saola_1_wroom"
|
|
- "espressif_saola_1_wrover"
|
|
- "franzininho_wifi_wroom"
|
|
- "franzininho_wifi_wrover"
|
|
- "lilygo_ttgo_t8_s2_st7789"
|
|
- "microdev_micro_s2"
|
|
- "muselab_nanoesp32_s2_wroom"
|
|
- "muselab_nanoesp32_s2_wrover"
|
|
- "targett_module_clip_wroom"
|
|
- "targett_module_clip_wrover"
|
|
- "unexpectedmaker_feathers2"
|
|
- "unexpectedmaker_feathers2_prerelease"
|
|
- "unexpectedmaker_tinys2"
|
|
|
|
steps:
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.8
|
|
- uses: actions/checkout@v2.2.0
|
|
with:
|
|
submodules: true
|
|
fetch-depth: 0
|
|
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
|
|
- name: CircuitPython version
|
|
run: git describe --dirty --tags
|
|
- uses: actions/cache@v2
|
|
name: Fetch IDF tool cache
|
|
id: idf-cache
|
|
with:
|
|
path: ${{ github.workspace }}/.idf_tools
|
|
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20210506
|
|
- name: Clone IDF submodules
|
|
run: |
|
|
(cd $IDF_PATH && git submodule update --init)
|
|
env:
|
|
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
|
|
- name: Install IDF tools
|
|
run: |
|
|
$IDF_PATH/tools/idf_tools.py --non-interactive install required
|
|
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
|
|
$IDF_PATH/tools/idf_tools.py --non-interactive install-python-env
|
|
rm -rf $IDF_TOOLS_PATH/dist
|
|
env:
|
|
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
|
|
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
|
|
- name: Install CircuitPython deps
|
|
run: |
|
|
source $IDF_PATH/export.sh
|
|
pip install -r requirements-dev.txt
|
|
sudo apt-get install -y gettext ninja-build
|
|
env:
|
|
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
|
|
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
|
|
- name: Versions
|
|
run: |
|
|
source $IDF_PATH/export.sh
|
|
gcc --version
|
|
xtensa-esp32s2-elf-gcc --version
|
|
python3 --version
|
|
ninja --version
|
|
cmake --version
|
|
shell: bash
|
|
env:
|
|
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
|
|
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
|
|
- name: mpy-cross
|
|
run: make -C mpy-cross -j2
|
|
- name: Setup build failure matcher
|
|
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
|
- name: build
|
|
run: |
|
|
source $IDF_PATH/export.sh
|
|
python3 -u build_release_files.py
|
|
working-directory: tools
|
|
shell: bash
|
|
env:
|
|
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
|
|
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
|
|
BOARDS: ${{ matrix.board }}
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ matrix.board }}
|
|
path: bin/${{ matrix.board }}
|
|
- name: Upload to S3
|
|
run: "[ -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 }}
|
|
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
|