summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorScott Shawcroft <scott@adafruit.com>2020-07-02 13:56:09 -0700
committerGitHub <noreply@github.com>2020-07-02 13:56:09 -0700
commitc33542f978cc61f0466ff60ea769e3067baca95f (patch)
tree071e8f8a86971f7e947053c3b4fb2ff7da95d223 /.github
parentf572b723060382bbc9ca7a3edc88cb7c30fdcc30 (diff)
parenteec42d4cb53536a75e88f7f9321515bc6dcfeaa7 (diff)
Merge branch 'main' into patch-1
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml212
-rw-r--r--.github/workflows/create_website_pr.yml12
-rw-r--r--.github/workflows/pre-commit.yml24
3 files changed, 221 insertions, 27 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 32c949a3a..fa7dd9dd2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,30 +10,32 @@ on:
jobs:
test:
- runs-on: ubuntu-16.04
+ runs-on: ubuntu-18.04
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- - name: Set up Python 3.5
+ - 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
+ - name: Set up Python 3.8
uses: actions/setup-python@v1
with:
- python-version: 3.5
+ python-version: 3.8
- name: Install deps
run: |
sudo apt-get install -y eatmydata
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64
- pip install requests sh click setuptools cpp-coveralls Sphinx sphinx-rtd-theme recommonmark sphinxcontrib-svg2pdfconverter polib pyyaml
+ pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid
- name: Versions
run: |
gcc --version
python3 --version
- - uses: actions/checkout@v1
- with:
- submodules: true
- - name: CircuitPython version
- run: git describe --dirty --always --tags
- name: Build mpy-cross
run: make -C mpy-cross -j2
- name: Build unix port
@@ -42,7 +44,7 @@ jobs:
make -C ports/unix -j2
make -C ports/unix coverage -j2
- name: Test all
- run: MICROPY_CPYTHON3=python3.5 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1
+ run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1
working-directory: tests
- name: Print failure info
run: |
@@ -54,19 +56,28 @@ jobs:
working-directory: tests
if: failure()
- name: Native Tests
- run: MICROPY_CPYTHON3=python3.5 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --emit native
+ run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --emit native
working-directory: tests
- name: mpy Tests
- run: MICROPY_CPYTHON3=python3.5 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
+ run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
working-directory: tests
+ - name: Stubs
+ run: make stubs -j2
+ - uses: actions/upload-artifact@v2
+ with:
+ name: stubs
+ path: circuitpython-stubs*
- name: Docs
run: sphinx-build -E -W -b html . _build/html
+ - uses: actions/upload-artifact@v2
+ with:
+ name: docs
+ path: _build/html
- name: Translations
run: make check-translate
- name: New boards check
run: python3 -u ci_new_boards_check.py
working-directory: tools
-
- name: Build mpy-cross.static-raspbian
run: make -C mpy-cross -j2 -f Makefile.static-raspbian
- uses: actions/upload-artifact@v1.0.0
@@ -89,25 +100,28 @@ jobs:
path: mpy-cross/mpy-cross.static.exe
mpy-cross-mac:
- runs-on: macos-latest
+ runs-on: macos-10.15
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- - name: Install deps
+ - name: Make gettext programs available
run: |
- brew link --force gettext
+ brew install gettext
+ echo "::set-env name=PATH::/usr/local/opt/gettext/bin:$PATH"
- name: Versions
run: |
gcc --version
python3 --version
msgfmt --version
- - uses: actions/checkout@v1
+ - 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 --always --tags
+ run: git describe --dirty --tags
- name: Build mpy-cross
run: make -C mpy-cross -j2
- uses: actions/upload-artifact@v1.0.0
@@ -116,12 +130,15 @@ jobs:
path: mpy-cross/mpy-cross
build-arm:
- runs-on: ubuntu-16.04
+ runs-on: ubuntu-18.04
needs: test
strategy:
fail-fast: false
matrix:
board:
+ - "8086_commander"
+ - "TG-Watch02A"
+ - "aloriumtech_evo_m51"
- "aramcon_badge_2019"
- "arduino_mkr1300"
- "arduino_mkrzero"
@@ -129,6 +146,7 @@ jobs:
- "arduino_nano_33_iot"
- "arduino_zero"
- "bast_pro_mini_m0"
+ - "bdmicro_vina_m0"
- "capablerobot_usbhub"
- "catwan_usbstick"
- "circuitbrains_basic_m0"
@@ -164,10 +182,12 @@ jobs:
- "feather_nrf52840_express"
- "feather_radiofruit_zigbee"
- "feather_stm32f405_express"
+ - "fluff_m0"
- "gemma_m0"
- "grandcentral_m4_express"
- "hallowing_m0_express"
- "hallowing_m4_express"
+ - "hiibot_bluefi"
- "imxrt1010_evk"
- "imxrt1020_evk"
- "imxrt1060_evk"
@@ -175,6 +195,7 @@ jobs:
- "itsybitsy_m4_express"
- "itsybitsy_nrf52840_express"
- "kicksat-sprite"
+ - "loc_ber_m4_base_board"
- "makerdiary_nrf52840_mdk"
- "makerdiary_nrf52840_mdk_usb_dongle"
- "meowbit_v121"
@@ -186,21 +207,30 @@ jobs:
- "mini_sam_m4"
- "monster_m4sk"
- "ndgarage_ndbit6"
+ - "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"
- "pirkey_m0"
+ - "pitaya_go"
- "pyb_nano_v2"
- "pybadge"
- "pybadge_airlift"
- "pyboard_v11"
- "pycubed"
+ - "pycubed_mram"
- "pygamer"
- "pygamer_advance"
- "pyportal"
@@ -208,9 +238,12 @@ jobs:
- "pyruler"
- "robohatmm1_m4"
- "sam32"
+ - "same54_xplained"
+ - "seeeduino_wio_terminal"
- "seeeduino_xiao"
- "serpente"
- "shirtty"
+ - "simmel"
- "snekboard"
- "sparkfun_lumidrive"
- "sparkfun_nrf52840_mini"
@@ -225,23 +258,28 @@ jobs:
- "stm32f411ve_discovery"
- "stm32f412zg_discovery"
- "stm32f4_discovery"
+ - "stm32f746g_discovery"
- "stringcar_m0_express"
- "teensy40"
+ - "teensy41"
- "teknikio_bluebird"
+ - "thunderpack"
- "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.5
+ - name: Set up Python 3.8
uses: actions/setup-python@v1
with:
- python-version: 3.5
+ python-version: 3.8
- name: Install deps
run: |
sudo apt-get install -y gettext
@@ -253,9 +291,11 @@ jobs:
gcc --version
arm-none-eabi-gcc --version
python3 --version
- - uses: actions/checkout@v1
+ - 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: mpy-cross
run: make -C mpy-cross -j2
- name: build
@@ -273,3 +313,131 @@ jobs:
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-18.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
+ - 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
+ - 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: mpy-cross
+ run: make -C mpy-cross -j2
+ - name: build
+ run: python3 -u build_release_files.py
+ working-directory: tools
+ env:
+ BOARDS: ${{ matrix.board }}
+ - uses: actions/upload-artifact@v1.0.0
+ 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_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-latest
+ needs: test
+ strategy:
+ fail-fast: false
+ matrix:
+ board:
+ - "espressif_saola_1_wroom"
+ - "espressif_saola_1_wrover"
+ - "unexpectedmaker_feathers2"
+
+ 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@v1
+ 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') }}-20200523
+ - 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 requests sh click setuptools awscli
+ 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: 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@v1.0.0
+ 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_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'))
diff --git a/.github/workflows/create_website_pr.yml b/.github/workflows/create_website_pr.yml
index 69ca8f12b..9907c08ae 100644
--- a/.github/workflows/create_website_pr.yml
+++ b/.github/workflows/create_website_pr.yml
@@ -12,22 +12,24 @@ jobs:
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- - name: Set up Python 3.5
+ - name: Set up Python 3.8
uses: actions/setup-python@v1
with:
- python-version: 3.5
+ python-version: 3.8
- name: Install deps
run: |
- pip install requests sh click
+ pip install requests sh click
- name: Versions
run: |
gcc --version
python3 --version
- - uses: actions/checkout@v1
+ - 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 --always --tags
+ run: git describe --dirty --tags
- name: Website
run: python3 build_board_info.py
working-directory: tools
diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
new file mode 100644
index 000000000..966310304
--- /dev/null
+++ b/.github/workflows/pre-commit.yml
@@ -0,0 +1,24 @@
+# SPDX-FileCopyrightText: Copyright (c) 2019 Anthony Sottile
+#
+# SPDX-License-Identifier: MIT
+
+name: pre-commit
+
+on:
+ pull_request:
+ push:
+ branches: [main]
+
+jobs:
+ pre-commit:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions/setup-python@v1
+ - name: set PY
+ run: echo "::set-env name=PY::$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')"
+ - uses: actions/cache@v1
+ with:
+ path: ~/.cache/pre-commit
+ key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
+ - uses: pre-commit/action@v1.1.0