Enlargeable Config Packet #141
Workflow file for this run
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: CI | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
workflow_dispatch: | |
# Allow to stop obsolete workflows | |
concurrency: | |
group: ci-buildtrain-${{ github.ref }}-1 | |
cancel-in-progress: true | |
jobs: | |
erc-drc-checks: | |
runs-on: ubuntu-latest | |
if: github.ref_type != 'tag' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: INTI-CMNB/KiBot@v2_k8 | |
with: | |
config: Hardware/OpenMowerMainboard/OpenMowerMainboard.kibot.yaml | |
board: Hardware/OpenMowerMainboard/OpenMowerMainboard.kicad_pcb | |
verbose: 1 | |
- uses: INTI-CMNB/KiBot@v2_k7 | |
with: | |
config: Hardware/DockStation/mower_PowerDeviceCarrier.kibot.yaml | |
board: Hardware/DockStation/mower_PowerDeviceCarrier.kicad_pcb | |
verbose: 1 | |
firmware: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache pip | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Cache PlatformIO | |
uses: actions/cache@v4 | |
with: | |
path: ~/.platformio | |
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
- name: Install PlatformIO | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade platformio | |
- name: Run PlatformIO | |
run: pio run -d Firmware/LowLevel | |
- name: Copy Artifacts | |
run: | | |
mkdir artifacts | |
mkdir ./artifacts/0_13_X | |
cp Firmware/LowLevel/.pio/build/0_13_X/firmware.elf ./artifacts/0_13_X | |
cp Firmware/LowLevel/.pio/build/0_13_X/firmware.uf2 ./artifacts/0_13_X | |
mkdir ./artifacts/0_12_X_LSM6DSO | |
cp Firmware/LowLevel/.pio/build/0_12_X/firmware.elf ./artifacts/0_12_X_LSM6DSO | |
cp Firmware/LowLevel/.pio/build/0_12_X/firmware.uf2 ./artifacts/0_12_X_LSM6DSO | |
mkdir ./artifacts/0_12_X | |
cp Firmware/LowLevel/.pio/build/0_12_X/firmware.elf ./artifacts/0_12_X | |
cp Firmware/LowLevel/.pio/build/0_12_X/firmware.uf2 ./artifacts/0_12_X | |
mkdir ./artifacts/0_11_X_MPU9250 | |
cp Firmware/LowLevel/.pio/build/0_11_X_MPU9250/firmware.elf ./artifacts/0_11_X_MPU9250 | |
cp Firmware/LowLevel/.pio/build/0_11_X_MPU9250/firmware.uf2 ./artifacts/0_11_X_MPU9250 | |
mkdir ./artifacts/0_11_X_WT901 | |
cp Firmware/LowLevel/.pio/build/0_11_X_WT901/firmware.elf ./artifacts/0_11_X_WT901 | |
cp Firmware/LowLevel/.pio/build/0_11_X_WT901/firmware.uf2 ./artifacts/0_11_X_WT901 | |
mkdir ./artifacts/0_10_X_MPU9250 | |
cp Firmware/LowLevel/.pio/build/0_10_X_MPU9250/firmware.elf ./artifacts/0_10_X_MPU9250 | |
cp Firmware/LowLevel/.pio/build/0_10_X_MPU9250/firmware.uf2 ./artifacts/0_10_X_MPU9250 | |
mkdir ./artifacts/0_10_X_WT901 | |
cp Firmware/LowLevel/.pio/build/0_10_X_WT901/firmware.elf ./artifacts/0_10_X_WT901 | |
cp Firmware/LowLevel/.pio/build/0_10_X_WT901/firmware.uf2 ./artifacts/0_10_X_WT901 | |
mkdir ./artifacts/0_9_X_MPU9250 | |
cp Firmware/LowLevel/.pio/build/0_9_X_MPU9250/firmware.elf ./artifacts/0_9_X_MPU9250 | |
cp Firmware/LowLevel/.pio/build/0_9_X_MPU9250/firmware.uf2 ./artifacts/0_9_X_MPU9250 | |
mkdir ./artifacts/0_9_X_WT901 | |
cp Firmware/LowLevel/.pio/build/0_9_X_WT901/firmware.elf ./artifacts/0_9_X_WT901 | |
cp Firmware/LowLevel/.pio/build/0_9_X_WT901/firmware.uf2 ./artifacts/0_9_X_WT901 | |
mkdir ./artifacts/0_9_X_WT901_INSTEAD_OF_SOUND | |
cp Firmware/LowLevel/.pio/build/0_9_X_WT901_INSTEAD_OF_SOUND/firmware.elf ./artifacts/0_9_X_WT901_INSTEAD_OF_SOUND | |
cp Firmware/LowLevel/.pio/build/0_9_X_WT901_INSTEAD_OF_SOUND/firmware.uf2 ./artifacts/0_9_X_WT901_INSTEAD_OF_SOUND | |
mkdir ./artifacts/0_13_X_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_13_X_IGNORE_CHARGING_CURRENT/firmware.elf ./artifacts/0_13_X_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_13_X_IGNORE_CHARGING_CURRENT/firmware.uf2 ./artifacts/0_13_X_IGNORE_CHARGING_CURRENT | |
mkdir ./artifacts/0_12_X_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_12_X_IGNORE_CHARGING_CURRENT/firmware.elf ./artifacts/0_12_X_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_12_X_IGNORE_CHARGING_CURRENT/firmware.uf2 ./artifacts/0_12_X_IGNORE_CHARGING_CURRENT | |
mkdir ./artifacts/0_11_X_WT901_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_11_X_WT901_IGNORE_CHARGING_CURRENT/firmware.elf ./artifacts/0_11_X_WT901_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_11_X_WT901_IGNORE_CHARGING_CURRENT/firmware.uf2 ./artifacts/0_11_X_WT901_IGNORE_CHARGING_CURRENT | |
mkdir ./artifacts/0_10_X_WT901_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_10_X_WT901_IGNORE_CHARGING_CURRENT/firmware.elf ./artifacts/0_10_X_WT901_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_10_X_WT901_IGNORE_CHARGING_CURRENT/firmware.uf2 ./artifacts/0_10_X_WT901_IGNORE_CHARGING_CURRENT | |
mkdir ./artifacts/0_9_X_WT901_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_9_X_WT901_IGNORE_CHARGING_CURRENT/firmware.elf ./artifacts/0_9_X_WT901_IGNORE_CHARGING_CURRENT | |
cp Firmware/LowLevel/.pio/build/0_9_X_WT901_IGNORE_CHARGING_CURRENT/firmware.uf2 ./artifacts/0_9_X_WT901_IGNORE_CHARGING_CURRENT | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: open-mower-pico-firmware | |
path: artifacts/ | |
tagged-release: | |
runs-on: ubuntu-latest | |
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v') | |
needs: firmware | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: INTI-CMNB/KiBot@v2_k7 | |
with: | |
config: Hardware/OpenMowerMainboard/OpenMowerMainboard.kibot.yaml | |
board: Hardware/OpenMowerMainboard/OpenMowerMainboard.kicad_pcb | |
- uses: INTI-CMNB/KiBot@v2_k7 | |
with: | |
config: Hardware/DockStation/mower_PowerDeviceCarrier.kibot.yaml | |
board: Hardware/DockStation/mower_PowerDeviceCarrier.kicad_pcb | |
- name: 'Fix permissions on release/' | |
run: sudo chmod 0777 release | |
- uses: actions/download-artifact@v4 | |
with: | |
name: open-mower-pico-firmware | |
path: firmware | |
- name: Create firmware zip | |
run: | | |
zip -r release/firmware.zip firmware | |
- name: Calculating checksum | |
shell: bash | |
run: | | |
sha256sum release/firmware.zip > release/firmware.sha256 | |
- uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
prerelease: false | |
files: release/* | |
- name: Deploy release | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: release | |
destination_dir: release | |
- name: Deploy release_navigator | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: release_navigator | |
destination_dir: release_navigator | |
keep_files: true | |
- name: Deploy release_navigator index | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: release_navigator | |
keep_files: true | |
pre-release-latest-firmware: | |
runs-on: ubuntu-latest | |
if: github.ref_type != 'tag' && github.ref == 'refs/heads/main' | |
needs: firmware | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: open-mower-pico-firmware | |
path: firmware | |
- name: Create firmware zip | |
run: | | |
zip -r firmware.zip firmware | |
- name: Calculating checksum | |
shell: bash | |
run: | | |
sha256sum firmware.zip > firmware.sha256 | |
- uses: "marvinpinto/action-automatic-releases@latest" | |
if: github.event_name != 'pull_request' | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
title: "Latest Firmware" | |
automatic_release_tag: "latest" | |
prerelease: true | |
files: firmware.{sha256,zip} |