0
0
Fork 0
wireless-proxy-esp32/.github/workflows/main.yml

70 lines
2.2 KiB
YAML

name: build
on:
push:
paths-ignore:
- '**.md'
- 'circuit'
# env:
# UPLOAD_USER_FIRMWARE: false
jobs:
build:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: before_install
run: |
sudo apt update
sudo apt install -y gcc git wget make libncurses-dev flex bison python python-setuptools python-serial ninja-build
wget https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
- name: install
run: |
tar -xzf ./xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
python -m pip install --user -r ./ESP8266_RTOS_SDK/requirements.txt
- name: script
id: script
run: |
export IDF_PATH=$PWD/ESP8266_RTOS_SDK
export PATH="$PATH:$PWD/xtensa-lx106-elf/bin"
echo "FIRMWARE=$PWD/build" >> $GITHUB_ENV
python ./idf.py fullclean
python ./idf.py build
echo "::set-output name=status::success"
# - name: Generate release tag
# id: tag
# if: env.UPLOAD_USER_FIRMWARE == 'true' && steps.script.outputs.status == 'success' && !cancelled()
# run: |
# echo "::set-output name=release_tag::UserBuild_$(date +"%Y.%m.%d_%H-%M")"
# echo "::set-output name=status::success"
- name: Merge bin files
id: merge
if: steps.script.outputs.status == 'success' && !cancelled()
run: |
git clone https://github.com/espressif/esptool.git
./esptool/esptool.py --chip esp8266 merge_bin -o build/esp8266_dap_full.bin 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/esp8266_dap.bin
mv build/esp8266_dap.bin build/esp8266_dap_app.bin
echo "::set-output name=status::success"
- name: Upload firmware
uses: actions/upload-artifact@v2
if: steps.merge.outputs.status == 'success' && !cancelled()
with:
name: firmware.zip
path: |
${{ env.FIRMWARE }}/esp8266_dap_full.bin
${{ env.FIRMWARE }}/esp8266_dap_app.bin
${{ env.FIRMWARE }}/bootloader/bootloader.bin
${{ env.FIRMWARE }}/partition_table/partition-table.bin