Merge branch 'develop' #41
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build production version | |
on: | |
push: | |
branches: [main] | |
jobs: | |
build-everything: | |
runs-on: ubuntu-latest | |
name: Build All Binaries | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- name: Set up Git identity | |
run: | | |
git config --local user.name "Leønid Yakubovič" | |
git config --local user.email "[email protected]" | |
- name: Prepare environment | |
uses: ./.github/actions/prepare_pio | |
- name: Download AquesTalk | |
run: | | |
wget https://www.a-quest.com/archive/package/aquestalk-esp32_0243.zip -O /tmp/aquestalk.zip | |
unzip /tmp/aquestalk.zip -d /tmp | |
mv /tmp/aquestalk-esp32/src/esp32/libaquestalk.a ./lib/nonfree-aquestalk/libaquestalk.a | |
mv /tmp/aquestalk-esp32/src/aquestalk.h ./lib/nonfree-aquestalk/aquestalk.h | |
- name: Create env file | |
run: cp ./.env.example ./.env | |
- name: Build all targets | |
run: pio run | |
- name: Upload firmware images | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ./.pio/build/*/firmware.bin | |
name: firmwares.zip | |
if-no-files-found: error | |
- name: Delete WIP tunes | |
run: rm ./data/music/wip_*.pomf | |
- name: Add FS version into the file system | |
run: echo "$(git rev-parse --short HEAD)" > ./data/FS_VER | |
- name: Create LittleFS image | |
run: pio run --target buildfs --environment music-pomf | |
- name: Upload filesystem image | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ./.pio/build/music-pomf/littlefs.bin | |
name: filesystem.zip | |
if-no-files-found: error | |
- name: Switch to public branch | |
run: | | |
cp ./data/FS_VER /tmp/FS_VER | |
git checkout HEAD -- ./data/FS_VER | |
git checkout pub | |
git merge main --strategy-option theirs | |
cp /tmp/FS_VER ./data/FS_VER | |
- name: Move things to FVUDATA for publishing | |
run: | | |
git rm -r ./webroot/fvudata/* | |
./helper/ci/create_fvudata.sh | |
- name: Add FVUDATA stuff into git and push | |
run: | | |
cp ./CNAME ./webroot/CNAME | |
git add -f ./webroot/fvudata/* | |
git commit -m "ci: Publish firmwares at $(git rev-parse --short HEAD)" | |
git push --force -u origin pub | |
# Thanks to yet another weird limitation of Github Actions, we need to duplicate this action here | |
# https://github.com/orgs/community/discussions/25702 | |
# Remove when a better solution is found | |
- name: Publish webroot via GitHub Pages | |
uses: rayluo/[email protected] | |
with: | |
source-directory: webroot | |
target-branch: gh-pages |