Skip to content

Commit

Permalink
Merge branch 'main' into release-artifacts
Browse files Browse the repository at this point in the history
  • Loading branch information
netmindz committed Apr 18, 2024
2 parents b902f09 + 444b0d5 commit 9a6ef0d
Show file tree
Hide file tree
Showing 49 changed files with 1,476 additions and 7,453 deletions.
43 changes: 36 additions & 7 deletions .github/workflows/pio.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,39 @@ name: PlatformIO CI
on: [push]

jobs:
build:
get_default_envs:
name: Gather Environments
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Get default environments
id: envs
run: |
echo -n "environments=" >> $GITHUB_OUTPUT
jq -c -n '$ARGS.positional' --args $(pio project config --json-output | jq -cr '.[][0]' | grep 'env:'| awk -F: '{ print $2" "}' | tr -d '\n') >> $GITHUB_OUTPUT
cat $GITHUB_OUTPUT
outputs:
environments: ${{ steps.envs.outputs.environments }}

build:
runs-on: ubuntu-latest
needs: get_default_envs
strategy:
fail-fast: false
matrix:
environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }}
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -15,7 +45,7 @@ jobs:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
key: ${{ runner.os }}-${{ matrix.environment}}-${{ hashFiles('platformio.ini') }}
- uses: actions/setup-python@v4
with:
python-version: '3.9'
Expand All @@ -27,12 +57,12 @@ jobs:
git_hash=$(git rev-parse --short "$GITHUB_SHA")
echo "git_hash=${git_hash}" >> $GITHUB_ENV
- name: Build PlatformIO Project
run: pio run
run: pio run -e ${{ matrix.environment }}
- name: 'Upload Artifact'
uses: actions/upload-artifact@v3
with:
name: StarMod-esp32-${{env.GITHUB_REF_NAME}}-${{env.git_hash}}.bin
path: .pio/build/esp32dev/firmware.bin
name: StarMod-${{ matrix.environment }}-${{env.GITHUB_REF_NAME}}-${{env.git_hash}}.bin
path: .pio/build/${{ matrix.environment }}/firmware.bin
retention-days: 30

release:
Expand All @@ -51,5 +81,4 @@ jobs:
files: |
*.bin
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39 changes: 4 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,10 @@
# StarMod

Headstart for building ESP32 applications: printing, file management, persistent data, Wifi, Web, UI and system management works out of the box.
StarMod will integrate with major IOT/network devices and applications.
See [StarDocs](https://ewowi.github.io/StarDocs/)

Everything is a module.
<img width="1456" alt="image" src="https://github.com/ewowi/StarMod/assets/138451817/e29cfed8-59b2-4abb-82e4-c26bbec4cde2">

System modules:
Forks:

* Print: Print to different targets (Serial, file, net)
* Files: File Manager
* Model: Datamodel in json, stored to file, used in ui and network comms
* Network: Wifi
* Web: Web server
* UI: UI Server
* System: Show and manage ESP32 system
* [MoonModules/StarModLeds](https://github.com/MoonModules/StarModLeds)

User Modules

* E131/DMX support
* Home Assistant (planned)
* LEDs
* ...

Build apps on top of this

* Led apps
* IO control apps
* IOT apps
* Any app

By [MoonModules](https://github.com/MoonModules)
LED module inspired by [WLED MM](https://github.com/MoonModules/WLED)

Disclaimer:

Using this software is the users responsibility as it is not bug free. Therefore contributors of this repo can not be held reliable for anything including but not limited to spontaneous combustion of the entire led strip, the house and the inevitable heat death of the universe

GPL V3 License:

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions ([tldrlegal](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3))
Loading

0 comments on commit 9a6ef0d

Please sign in to comment.