Open
Conversation
8e10ca7 to
4f96768
Compare
cdf8cd1 to
2f8bbc4
Compare
tpanajott
reviewed
Jan 17, 2025
| # Optional: Print version to verify | ||
| echo "Version in environment variable: ${{ env.VERSION }}" | ||
|
|
||
| - name: Replace version in nspm-bin-version.h |
Contributor
There was a problem hiding this comment.
This step doesn't actually replace the version in the nspm-bin-version.h file. So, this step should be renamed to something more appropriate.
| # Optional: Print version to verify | ||
| echo "Version in environment variable: ${{ env.VERSION }}" | ||
|
|
||
| - name: Replace version in nspm-bin-version.h |
Contributor
There was a problem hiding this comment.
Same thing here, this step doesn't actually replace the version in the file.
| fi | ||
| echo "Version matches release tag." | ||
|
|
||
| - name: Replace version in nspm-bin-version.h |
Contributor
There was a problem hiding this comment.
Again, perhaps not the best name. Perhaps "Update workflow firmware identifier" or something like that?
Contributor
There was a problem hiding this comment.
This script is heavily used during development to upload a built firmware from the CLI to the local manager to be pushed to the test panel OTA. Perhaps it's possible to implement this in the makefile somehow?
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Target
mainbranch (should be adapted for beta and devel)Changes
Introduce Makefile - With this abstraction layer both: CI and developers, can make use of common commands to setup their environment (build and compile the project, flash some devices and so on independently of their OS)
Setup Pip and Pip lock files - That way platformio dependency in use is pinned in pip.lock (changes are operated as code and in a deterministic manner) + ease installation for developers and CI
Configure dependabot for python packages - That way we benefit from automatic PR for new versions including security, feat/bugfix
Fix pre-commit issues (shellcheck)
Remove .bin files (will be stored on cloudsmith)
Add
build-pr.ymlworkflow responsible to: compile the firmware, run pre-commit checks (formatting enforcement) and store an artifact within github builds (1 day retention) - useful for local testingAdd a
build-main.ymlworkflow responsible to release an edge release (experimental) each time a PR is merged into themainbranch (that way we can test it before releasing) This release is hosted on cloudsmith too so we can really test it also via the nspm docker later on (when we have a feature to select the OTA release channel stable|experimental)Add
release.ymlworkflow responsible to publish release artifacts when the release is created on GitHub artifacts are stored in cloudsmith.All cloudsmith artifacts have distinct labels in order to ease retrieval and setup distinct retention policies. (We might want to preserve only the last 10 edge releases but keep all the stable release by example)
At the moment only the following artifacts are stored on cloudsmith: