64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
name: Fetch external deps
|
|
|
|
inputs:
|
|
action:
|
|
required: false
|
|
default: restore
|
|
type: choice
|
|
options:
|
|
- cache
|
|
- restore
|
|
|
|
port:
|
|
required: false
|
|
default: none
|
|
type: string
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
# arm
|
|
- name: Get arm toolchain
|
|
if: >-
|
|
inputs.port != 'none' &&
|
|
inputs.port != 'litex' &&
|
|
inputs.port != 'espressif'
|
|
uses: carlosperate/arm-none-eabi-gcc-action@v1
|
|
with:
|
|
release: '10-2020-q4'
|
|
|
|
# espressif
|
|
- name: Get espressif toolchain
|
|
if: inputs.port == 'espressif'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y ninja-build
|
|
shell: bash
|
|
- name: Install IDF tools
|
|
if: inputs.port == 'espressif'
|
|
run: |
|
|
echo "Installing ESP-IDF tools"
|
|
$IDF_PATH/tools/idf_tools.py --non-interactive install required
|
|
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
|
|
echo "Installing Python environment and packages"
|
|
$IDF_PATH/tools/idf_tools.py --non-interactive install-python-env
|
|
rm -rf $IDF_TOOLS_PATH/dist
|
|
shell: bash
|
|
- name: Set environment
|
|
if: inputs.port == 'espressif'
|
|
run: |
|
|
source $IDF_PATH/export.sh
|
|
echo >> $GITHUB_ENV "IDF_PYTHON_ENV_PATH=$IDF_PYTHON_ENV_PATH"
|
|
echo >> $GITHUB_PATH "$PATH"
|
|
shell: bash
|
|
|
|
# common
|
|
- name: Cache python dependencies
|
|
if: inputs.port != 'espressif'
|
|
uses: ./.github/actions/deps/python
|
|
with:
|
|
action: ${{ inputs.action }}
|
|
- name: Install python dependencies
|
|
run: pip install -r requirements-dev.txt
|
|
shell: bash
|