From 03166091bfa558179d63bd954498f10e73332459 Mon Sep 17 00:00:00 2001 From: docgalaxyblock Date: Tue, 23 Apr 2024 22:09:50 +0200 Subject: [PATCH 1/3] action updates --- .github/workflows/ci.yaml | 72 ++++++++++++++++++++++++++++++--------- 1 file changed, 55 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 53fca795..d7389a53 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,13 +1,31 @@ name: CI -on: [push] +on: + push: + paths-ignore: + - "**.md" + + pull_request: + branches: + - 'main' + + 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@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: INTI-CMNB/KiBot@v2_k8 @@ -15,36 +33,46 @@ jobs: 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@v2 + - uses: actions/checkout@v4 + - name: Cache pip - uses: actions/cache@v2 + 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@v2 + uses: actions/cache@v4 with: path: ~/.platformio key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} + - name: Set up Python - uses: actions/setup-python@v2 + 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: | @@ -111,24 +139,29 @@ jobs: cp Firmware/LowLevel/.pio/build/0_9_X_WT901_IGNORE_CHARGING_CURRENT/firmware.uf2 ./artifacts/0_9_X_WT901_IGNORE_CHARGING_CURRENT - - name: Step 3 - Use the Upload Artifact GitHub Action - uses: actions/upload-artifact@v3 + - 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@v3 + - 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 @@ -137,13 +170,14 @@ jobs: - name: 'Fix permissions on release/' run: sudo chmod 0777 release - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: open-mower-pico-firmware path: firmware - name: Create firmware zip - run: zip -r release/firmware.zip firmware + run: | + zip -r release/firmware.zip firmware - uses: "marvinpinto/action-automatic-releases@latest" with: @@ -152,14 +186,14 @@ jobs: files: release/* - name: Deploy release - uses: peaceiris/actions-gh-pages@v3 + 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@v3 + uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: release_navigator @@ -167,30 +201,34 @@ jobs: keep_files: true - name: Deploy release_navigator index - uses: peaceiris/actions-gh-pages@v3 + 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' needs: firmware steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: open-mower-pico-firmware path: firmware - name: Create firmware zip - run: zip -r firmware.zip firmware + run: | + zip -r firmware.zip firmware - uses: "marvinpinto/action-automatic-releases@latest" + if: github.event_name != 'pull_request' with: repo_token: "${{ secrets.GITHUB_TOKEN }}" title: "Latest Firmware" From bf979bfdd184ab4c11e3504f1e5c3a0124ac504f Mon Sep 17 00:00:00 2001 From: docgalaxyblock Date: Mon, 13 May 2024 18:55:37 +0200 Subject: [PATCH 2/3] update README.md --- README.md | 52 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 7633b26b..50b9aaa0 100644 --- a/README.md +++ b/README.md @@ -2,28 +2,45 @@ Hello! With a background in software engineering, embedded programming, hardware design, and robotics, I'm on the lookout for new challenges. If you're in search of someone with my skills, let's team up and create something amazing! https://x-tech.online/ -# OpenMower - The DIY Smart Mowing Robot for Everyone - -![OpenMower the DIY smart robot mower](./img/open_mower_header.jpg)[![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/jE7QNaSxW7) - -# Join the Discord server for OpenMower discussion: [HERE](https://discord.gg/jE7QNaSxW7) - - - -*:warning: DISCLAIMER:** - -**IF YOU ARE NOT 100% SURE WHAT YOU ARE DOING, PLEASE DON'T TRY THIS AT HOME! ASK IN [DISCORD](https://discord.gg/jE7QNaSxW7), IF YOU HAVE ANY QUESTIONS!** - -# This project is active! -This is the hardware repository, so it might seem that the project is inactive, since hardware is pretty stable by now. -Most of the development work is done on the ROS code here: https://github.com/ClemensElflein/open_mower_ros - +
+
+
+

+ +

OpenMower - The DIY Smart Mowing Robot for Everyone

+ + +

+
+

+

+
+

Join the Discord server for OpenMower discussion: +

+

+
+
+ +> [!WARNING] +>

DISCLAIMER:

+> +> **IF YOU ARE NOT 100% SURE WHAT YOU ARE DOING, PLEASE DON'T TRY THIS AT HOME! ASK IN [DISCORD](https://discord.gg/jE7QNaSxW7), IF YOU HAVE ANY QUESTIONS!** + +> [!IMPORTANT] +>

This project is active!

+> +> This is the hardware repository, so it might seem that the project is inactive, since hardware is pretty stable by now. +> Most of the development work is done on the ROS code here: https://github.com/ClemensElflein/open_mower_ros + +
# About the Project If you want to see a quick overview, you can check out this video: - +

+ +

@@ -155,6 +172,7 @@ If you want to have a look at the disassembled mowers, check the Google Docs [he This page only contains the basic overview of the project. To follow my current development state, check out my [Blog](https://x-tech.online/). # Patents, Local Laws, Liability + Before building a robot based on the designs published here, please make sure that you are allowed to do so in your specific regions. There may be patents and / or laws prohibiting you of doing so. From 8f3a6dafbecd22d91915703fc01122b0312057bc Mon Sep 17 00:00:00 2001 From: docgalaxyblock Date: Tue, 23 Apr 2024 22:41:58 +0200 Subject: [PATCH 3/3] add firmware.zip checksum --- .github/workflows/ci.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d7389a53..9a7ec787 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -179,6 +179,11 @@ jobs: 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 }}" @@ -227,6 +232,11 @@ jobs: 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: @@ -234,4 +244,4 @@ jobs: title: "Latest Firmware" automatic_release_tag: "latest" prerelease: true - files: firmware.zip + files: firmware.{sha256,zip}