Set up CI/CD for this project, cross-compiling and publishing DOS executable using GitHub Actions Workflow#6
Set up CI/CD for this project, cross-compiling and publishing DOS executable using GitHub Actions Workflow#6volkertb wants to merge 15 commits intocrazii:masterfrom
Conversation
|
@crazii While this PR is not merged yet, you can see the results of the pipelines in my fork: https://github.com/volkertb/USBDDOS/actions A new pipeline (Actions run) should be triggered whenever new changes are pushed to this PR. I also fixed some issues in the Makefile and in some Your most recent commits introduced new build failures with DJGPP, since I had this working locally until I updated my branch with your most recent commits. When this PR is merged, breakage like this will be noticed quicker, since you (understandably) don't check each commit with all supported compilers while you work on the project. Right now it's failing in DJGPP with this error, both in my local development environment and in GitHub Actions: See the pipeline log at https://github.com/volkertb/USBDDOS/actions/runs/7350805100/job/20013107796 It's a weird error though, because that variable is in fact being referenced in the following two lines: _LOG("UHCI start HC status: %x\n", status);
assert(!(status & USBHCHALTED));I did noticed the |
|
The errors are fixed. |
…lds and publishes the USBDDOS DOS executable
…hen `i586-pc-msdosdjgpp-gcc` is not found in the path
…hen the included file between quotes is in the same dir as the including file, don't prefix it with a path)
…ase-sensitive file systems
…rror (since Makefile configured compiler to treat all warnings as errors)
2dbae80 to
2830d65
Compare
|
Thanks. I just rebased this branch on your recent upstream commits, and indeed, compilation is successful again. 👍 The I'm confident I can fix that without too much effort. As for also setting up CI/CD for Open Watcom compilation: I'd still like to do that, but I'll open a separate PR for that, once this one is merged. |
…oting the pipeline, which is now working
|
Pipeline is now working, both the building and the publishing. See the following:
We might want to replace the |
…rkflow, replace TODO placeholder in release notes template with brief explanation about difference between the two artifacts
…ince the compilation is passing locally with `act`, but failing in actual GitHub Actions for some reason.
…n separate steps, to ease build failure troubleshooting
… that it's only failing in GitHub Actions when building with `make DEBUG=1` (which passes locally with `act`, yet fails in actual GitHub Actions for some reason)
…o verify that it's only failing in GitHub Actions when building with `make DEBUG=1` (which passes locally with `act`, yet fails in actual GitHub Actions for some reason)" This reverts commit c4a6558.
|
The debug-enabled variant is failing with a compilation error in GitHub Actions, even though it builds fine locally. See this post for more details about that. |
|
The |
|
Then again, the standard GitHub-hosted runners apparently have 7GB of RAM, and I successfully ran the GitHub Action with act on a Linux PC with 8GB of RAM. So that makes it less likely that this was the cause. Unless that one extra GB of RAM made just the difference between success and failure when building USBDDOS with debug enabled. |
Glad to hear that. Congrats! |
|
Sorry I just pushed my changes, I should've merge it first. the unstable connection to github makes my anxious, editing readme.md online or pushing codes. damn. |
|
No, that's okay. The problem with the debug builds failing with that
What do you think? (By the way, don't worry about any changes you merge or commit in the meantime. It's trivial to rebase PRs, especially since the PR changes different files than the stuff you're merging or committing in the meantime.) |
|
Cool, thanks. I will also add git tags string into the make file. |
|
Now the git commit hash is added into build string, I'm not using tags I think the commit hash is good enough. |
Todo is a development notes that is not for release purpose. |
Either way will be ok, the error is related to the building environment but we don't know what triggers it. We can remove all packages to get a clean env to see if it still happens. If it still happens then we have to leave it for now. |
|
And sorry that when I was in the middle of coding, I become ignoring because I was focusing on the coding problem (it uses too many of my brain cells. :) So forgive me if I didn't reply you in time. I didn't mean it. |
|
Hi again! No need to apologize, since I've been off the radar myself, these last two weeks. (A little bicycle accident, still typing with one hand 😅) I'll need to find some time to process your feedback and dust off this PR. Thanks for understanding. 🙂 |
|
OK, cool. |
Closes #5