Skip to content

Draft: Release process for noglib BSPs #10

Draft: Release process for noglib BSPs

Draft: Release process for noglib BSPs #10

name: Process noglib BSPs
on:
push:
branches:
- master
pull_request:
types: [opened, reopened, synchronize]
jobs:
noglib_process:
runs-on: ubuntu-latest
container: 'espressif/idf:latest'
steps:
- uses: actions/checkout@v1
with:
ref: release/noglib
- name: Merge ${{ github.head_ref || github.ref_name }} -> release/noglib
shell: bash
run: |
git config --global --add safe.directory ${{ github.workspace }}
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git merge ${{ github.head_ref || github.ref_name }}
working-directory: ${{ github.workspace }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create noglib version of BSPs
# TODO: Extend this part to all BSPs
env:
BSPs: "bsp/esp_wrover_kit bsp/esp32_s3_eye bsp/esp32_p4_function_ev_board bsp/m5stack_core_s3 bsp/m5dial"
run: |
. ${IDF_PATH}/export.sh
pip install idf-component-manager==1.* py-markdown-table --upgrade
python .github/ci/bsp_noglib.py ${BSPs}
- name: Build noglib example
shell: bash
env:
ENV_BUILD_NOGLIB: "1"
run: |
export IDF_EXTRA_ACTIONS_PATH=${GITHUB_WORKSPACE}/examples
. ${IDF_PATH}/export.sh
pip install idf-component-manager==1.* ruamel.yaml idf-build-apps --upgrade
idf-build-apps find -p examples/noglib
idf-build-apps build -p examples/noglib
- name: Push updated release/noglib branch
if: ${{ github.ref_name == 'master' }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add bsp/.
git commit -m "feat: Noglib BSPs based on commit ${{ github.sha }}"
git push --force-with-lease
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload noglib BSPs to ESP-Registry
uses: espressif/upload-components-ci-action@v1
with:
directories: >
bsp/esp32_s3_eye_noglib;
bsp/esp32_p4_function_ev_board_noglib;
bsp/m5stack_core_s3_noglib;
bsp/m5dial_noglib;
bsp/esp_wrover_kit_noglib;
namespace: "espressif"
api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}
dry_run: ${{ github.ref_name != 'master' || github.repository_owner != 'espressif' }}