-
Notifications
You must be signed in to change notification settings - Fork 76
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
GitHub Actions .github/workflows/30min-iiab-test-install-debian12.yml for CI/CD & QA #3595
Conversation
neomatrixcode
commented
Jun 8, 2023
- add .github/workflows/30min-iiab-test-install-debian12.yml
- add a virtual machine for testing Raspberry Pi 3B Arm Cortex-A7 with Debian 12 Testing (Bookworm) from https://raspi.debian.net/daily-images/
… for CI/CD & QA (#2) * add debian12
@@ -52,7 +52,7 @@ jobs: | |||
cpu_info: ${{ matrix.cpu_info }} | |||
copy_repository_path: /opt/iiab/iiab | |||
commands: | | |||
test `uname -m` = ${{ matrix.arch }} | |||
#test `uname -m` = ${{ matrix.arch }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@neomatrixcode please explain quick why these lines are being commented out?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I copied the test command from the example, but I don't consider it important. I consider removing that line but I just put it in a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would output sometimes be test aarch64 = aarch64
and sometimes (something like!) test x86_64 = x86_64
?
(If so obvious to gurus — but can we try to make our work more approachable & maintainable for newcomers/others?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would output sometimes be test aarch64 = aarch64 and sometimes (something like!) test x86_64 = x86_64 ?
yes, that's correct, uname -m returns the name of the platform the operating system is running on
I agree with @neomatrixcode that test does not serve any purpose here. It is meant to be a conditional, but there is no result of the condition. If you only want to run the remaining commands if the assertion is true wouldn't you use
|
Also, during these test builds would it be possible to capture the size of the various roles installed and store them back into the repo? This would build a catalog of role sizes to be used by sizing code. Perhaps the size should be rounded up to allow an approximate single value to serve multiple targets. |
The point is that some of us can benefit (and make our community more approachable) by seeing Any command ( |
Just FYI this is already being recorded into |
If |
My guess is that certain people started using the
(But any such approach accomplishes the job...) |
In this specific case, outputting both:
Again I understand this is boring to experienced GitHub Actions gurus. But it's useful to others (including me!) However it's done. Whether using the |
Just FYI IIAB doesn't support "Pure Debian" on Raspberry Pi, as this has been extremely fragile and unpopular to date. (But for testing purposes, perhaps this adds useful coverage for now? e.g. until more real Raspberry Pi emulation [or actual automated Raspberry Pi testing] hopefully appears some day in future!) |
how does that force failure? |
A red cross appears (instead of a green checkmark) in GitHub Actions output, i.e. when exit code is non-zero. |
and thrown away immediately after the test build GHA I suggested committing to a file in the repo during the test build, so that it is available to real installs before a role is installed |
and that halts the remaining commands? If so, then test serves a purpose. |
Exactly. And many people also use the |
On the one hand this sounds useful, so I'm sympathetic. On the other what value does it really add with local_vars_none.yml which isn't really installing any major apps? |
agree that it has no value for none |
Your idea is excellent in my opinion, to publish estimated app sizes routinely, e.g. if we later run LARGE-sized (or MAX-sized probably better) via GitHub Actions. As these sizes will evolve over time — and keeping these records can be useful even if just for diagnostic purposes initially. |
I think that capturing the size of the various installed roles could be done in a dedicated github actions, if that calculation is useful for it to be automatic. Regarding uname -m, I think that since it is for informational purposes, the echo $(COMMAND) could be used to show the platform used in the output of the github action |
👍
Personally I'd favor auto-documenting both with something like...
...so that we have diagnostic info next time Microsoft (or we) changes architectures etc. |
Regarding https://docs.github.com/en/actions/learn-github-actions/contexts#runner-context Given that even Microsoft can't keep up with its own changing decisions, it definitely wouldn't hurt to output all ~5 of these "runner context" values going forward, e.g. the example they give is:
|
Certainly if "runner context" can be made a bit more visible in the output? (Understanding that some workflows hard-code "runner context" in places like...) |
In this specific case "arch" refers to the value of the variable - arch: debian12, which is provided by the user. |
All 3 values can be slightly different, and as such should be recorded in the output (no need to check the source code, zero bureaucracy for newcomers or maintainers a year later). Interestingly |
GitHub Actions context refinements building on PR #3595, for IIAB testing on Debian 12 on emulated Raspberry Pi 3 B