-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: devcontainer development #230
base: master
Are you sure you want to change the base?
Conversation
Fixed last comment |
63ce967
to
d52e53d
Compare
That would be a great idea. One of the other more urgent matters on my todo list is to make the firmware version more prominent in our firmware and nuke the versioning based on bmcd daemon.. long story short; i require a hook soon so that would be sorted then as well |
So the build script no has a argument Furthermore, I had to make several changes to the GitHub pipeline because there were some issues when building a fork. These should now all be resolved. For example, actions/checkout@v4 no longer checkout tags; furthermore, a. fork does not have tags yet. So, there were some issues, but they are resolved now. |
Fix artifacts to now include the sha256 hashes |
The last four GitHub actions were built successfully. |
…development/debugging
DevContainer Development
To facilitate easier development and contribution, I have spent this past weekend making a contribution that hopefully will benefit everybody. It's quite a big update. However, it is not a code contribution; it's a repository contribution. So, the firmware code has not been touched.
This PR will add
devcontainer
support to the repository while allowing manual Docker development like before.hadolint
for Dockerfileshellcheck
for scriptsmacOS
Documentation updated to give the reason why macOS requires a volume to build it successfully; this is because of the
APFS
filesystem Darwin uses.Scripts
The
setup_build.sh
has been renamed and moved toscripts/configure.sh
, and only a small change has been made regarding the root directory.Furthermore, additional scripts have been added to ease development; these include
build.sh
for building the firmware and collecting the generated image into adist
folder, including the generation of thesha256
hashes. The sha256 hashes have been added based on what I saw in the Web UI.The
configure.sh
script is thesetup_build.sh
.The
clean.sh
script cleans the repository of thebuildroot
anddist
direcetories.The
init.sh
script is the initialization script for the build container.The
sync.sh
is a unique script for people who develop on macOS, which will initiate syncing between the host and container workspace and vice versa.Commands
The devcontainer will automatically add additional
git
command aliases to facilitate easier development. These commands can be run from anywhere in the git repository; the aliases are defined in the repository.gitconfig
.Each command listed in the table is a
git
alias therefor these commands can be executed by prefixing it withgit
, for examplegit sha1
will display the short sha of the last commit.Hadolint
Hadolint has been added for the Dockerfile check
ShellCheck
Spellcheck has been added for script check
Comments
Let me know if there are any questions, please try it out, and hopefully this will get merged.