refactor and simplify fetching port deps
This commit is contained in:
parent
592fea6822
commit
1ea21cc8fc
24
.github/actions/deps/ports/action.yml
vendored
Normal file
24
.github/actions/deps/ports/action.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
name: Fetch port deps
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
board:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
port:
|
||||||
|
value: ${{ steps.board-to-port.outputs.port }}
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- name: Board to port
|
||||||
|
id: board-to-port
|
||||||
|
run: |
|
||||||
|
PORT=$(find ports/*/boards/ -type d -name ${{ inputs.board }} | sed 's/^ports\///g;s/\/boards.*//g')
|
||||||
|
if [ -z $PORT ]; then (exit 1); else echo >> $GITHUB_OUTPUT "port=$PORT"; fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Set up espressif port
|
||||||
|
if: steps.board-to-port.outputs.port == 'espressif'
|
||||||
|
uses: ./.github/actions/deps/ports/espressif
|
19
.github/workflows/build-boards-custom.yml
vendored
19
.github/workflows/build-boards-custom.yml
vendored
@ -51,20 +51,15 @@ jobs:
|
|||||||
if: inputs.debug || inputs.flags != ''
|
if: inputs.debug || inputs.flags != ''
|
||||||
run: |
|
run: |
|
||||||
> custom-build && git add custom-build
|
> custom-build && git add custom-build
|
||||||
- name: Get port
|
|
||||||
id: get-port
|
|
||||||
run: |
|
|
||||||
PORT=$(find ports/*/boards/ -type d -name ${{ inputs.board }} | sed 's/^ports\///g;s/\/boards.*//g')
|
|
||||||
if [ -z $PORT ]; then (exit 1); else echo >> $GITHUB_OUTPUT "port=$PORT"; fi
|
|
||||||
- name: Port to platform
|
|
||||||
run: echo >> $GITHUB_ENV "PLATFORM=${{ env[format('PLATFORM_{0}', steps.get-port.outputs.port)] }}"
|
|
||||||
- name: Set up python
|
- name: Set up python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
- name: Set up port
|
- name: Set up port
|
||||||
if: env.PLATFORM == 'esp'
|
id: set-up-port
|
||||||
uses: ./.github/actions/deps/ports/espressif
|
uses: ./.github/actions/deps/ports
|
||||||
|
with:
|
||||||
|
board: ${{ inputs.board }}
|
||||||
- name: Set up submodules
|
- name: Set up submodules
|
||||||
id: set-up-submodules
|
id: set-up-submodules
|
||||||
uses: ./.github/actions/deps/submodules
|
uses: ./.github/actions/deps/submodules
|
||||||
@ -75,7 +70,7 @@ jobs:
|
|||||||
uses: ./.github/actions/deps/external
|
uses: ./.github/actions/deps/external
|
||||||
with:
|
with:
|
||||||
action: cache
|
action: cache
|
||||||
platform: ${{ env.PLATFORM }}
|
platform: ${{ env[format('PLATFORM_{0}', steps.set-up-port.outputs.port)] }}
|
||||||
- name: Set up mpy-cross
|
- name: Set up mpy-cross
|
||||||
if: steps.set-up-submodules.outputs.frozen == 'True'
|
if: steps.set-up-submodules.outputs.frozen == 'True'
|
||||||
uses: ./.github/actions/mpy_cross
|
uses: ./.github/actions/mpy_cross
|
||||||
@ -96,9 +91,9 @@ jobs:
|
|||||||
mkfs.fat --version || true
|
mkfs.fat --version || true
|
||||||
- name: Build board
|
- name: Build board
|
||||||
run: make -j2 ${{ inputs.flags }} BOARD=${{ inputs.board }} DEBUG=${{ inputs.debug && '1' || '0' }} TRANSLATION=${{ inputs.language }}
|
run: make -j2 ${{ inputs.flags }} BOARD=${{ inputs.board }} DEBUG=${{ inputs.debug && '1' || '0' }} TRANSLATION=${{ inputs.language }}
|
||||||
working-directory: ports/${{ steps.get-port.outputs.port }}
|
working-directory: ports/${{ steps.set-up-port.outputs.port }}
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.board }}-${{ inputs.language }}-${{ inputs.version }}${{ inputs.flags != '' && '-custom' || '' }}${{ inputs.debug && '-debug' || '' }}
|
name: ${{ inputs.board }}-${{ inputs.language }}-${{ inputs.version }}${{ inputs.flags != '' && '-custom' || '' }}${{ inputs.debug && '-debug' || '' }}
|
||||||
path: ports/${{ steps.get-port.outputs.port }}/build-${{ inputs.board }}/firmware.*
|
path: ports/${{ steps.set-up-port.outputs.port }}/build-${{ inputs.board }}/firmware.*
|
||||||
|
5
.github/workflows/build-boards.yml
vendored
5
.github/workflows/build-boards.yml
vendored
@ -38,8 +38,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
- name: Set up port
|
- name: Set up port
|
||||||
if: inputs.platform == 'esp'
|
uses: ./.github/actions/deps/ports
|
||||||
uses: ./.github/actions/deps/ports/espressif
|
with:
|
||||||
|
board: ${{ matrix.board }}
|
||||||
- name: Set up submodules
|
- name: Set up submodules
|
||||||
id: set-up-submodules
|
id: set-up-submodules
|
||||||
uses: ./.github/actions/deps/submodules
|
uses: ./.github/actions/deps/submodules
|
||||||
|
Loading…
Reference in New Issue
Block a user