Merge branch 'main' of https://github.com/jnthas/clockwise into main #63
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: Clockwise CI/CD | |
on: | |
push: | |
branches: | |
- 'releases/**' | |
workflow_dispatch: | |
inputs: | |
tags: | |
description: 'Reason for manual run' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 2 | |
matrix: | |
clockfaces: | |
- cw-cf-0x01 | |
- cw-cf-0x02 | |
- cw-cf-0x03 | |
- cw-cf-0x04 | |
- cw-cf-0x05 | |
- cw-cf-0x06 | |
- cw-cf-0x07 | |
steps: | |
- name: Checkout clockwise | |
uses: actions/checkout@v3 | |
with: | |
path: clockwise | |
- name: Update submodules | |
run: | | |
cd $GITHUB_WORKSPACE/clockwise | |
git submodule update --init firmware/clockfaces/ | |
- name: Checkout GitHub Pages | |
uses: actions/checkout@v3 | |
with: | |
repository: jnthas/clockwise | |
ref: gh-pages | |
path: github-pages | |
- name: Cache pip | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Cache PlatformIO | |
uses: actions/cache@v3 | |
with: | |
path: ~/.platformio | |
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
- name: Install PlatformIO | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade platformio | |
- name: Pulling changes from ${{ matrix.clockfaces }} | |
run: | | |
cd $GITHUB_WORKSPACE/clockwise/firmware/clockfaces/${{ matrix.clockfaces }} | |
git reset --hard origin/main | |
git checkout main | |
- name: Building ${{ matrix.clockfaces }} | |
run: | | |
export FW_NAME=CW_$(date '+%Y%m%d') | |
ln -s ../clockfaces/${{ matrix.clockfaces }} $GITHUB_WORKSPACE/clockwise/firmware/lib/${{ matrix.clockfaces }} | |
pio run --project-dir clockwise/firmware/ | |
rm $GITHUB_WORKSPACE/clockwise/firmware/lib/${{ matrix.clockfaces }} | |
- name: Publish new version | |
run: | | |
export FW_NAME=CW_$(date '+%Y%m%d') | |
cd $GITHUB_WORKSPACE/github-pages | |
git config user.name github-actions | |
git config user.email [email protected] | |
git pull origin gh-pages | |
cp --force $GITHUB_WORKSPACE/clockwise/firmware/.pio/build/esp32dev/firmware.bin static/firmware/${{ matrix.clockfaces }}/firmware.bin | |
sed -i '/name/c\ \"name\": \"'"$FW_NAME"'"\,' static/firmware/${{ matrix.clockfaces }}/manifest.json | |
git add . | |
git commit -m "new version published - ${{ matrix.clockfaces }}" | |
git push | |