-
Notifications
You must be signed in to change notification settings - Fork 58
CI: Improve workflows [WIP] #293
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
Conversation
(continue building other configurations if one fails, as it should help debugging)
(split `macos-latest` into specific versions and compile either of them with the two latest supported xcode versions)
(I'm suspecting this to cause problems in the build workflow. However, testing it this way might be completely wrong and break entirely.)
|
The current issue caused by a path containing a space can be seen in the operation e.g. here https://github.com/HaHeho/ssr/actions/runs/3101424126/jobs/5022768368#step:15:122 This is the exact issue I've encountered when building locally, and it happens on the CI only after introducing the path with a space. So I'm fairly confident the my horrible hack to introduce the pathed space into the CI is functioning as intended (at least up to the point of the issue). The issue happens for all tested configurations identically. It seems like it should be trivial to fix, but I didn't find a way yet. @mgeier you probably have an idea? |
|
In case of the pd-externals workflow, the introduced path with a space causes a fail only for |
|
Thanks for working on this! Supporting filenames with spaces is always a chore ...
I wouldn't call it trivial. It took me a few hours. I first tried a gazillion ways of escaping the absolute path, and nothing seemed to work. I was close to giving up when I tried using a relative path instead. This meant to have different handling in I've only tested it on Linux, so there might still be things left to do for macOS. And I didn't test the Pd externals.
These errors happen when building libsndfile, so I guess we'll have to fix their build system? This doesn't look very promising: libsndfile/libsndfile#350 Alternatively, we could try using their CMake-based build system instead. |
It looks like this is actually a bug in I've created a PR at autotools-mirror/libtool#4, I hope this somehow makes it into the actual repository. |
|
I merged some of the changes that you implemented since investigating this issue. In my understanding, everything that was a potential improvement of the workflow in this PR is now already in the main repository or other PRs, right? The only missing thing would be the build testing the with actual spaces in the path (the way it is currently implemented here is awful of course). But it is probably not reasonable to include and implement this in a neat way into main i.e., its good enough that we fixed the build challenges with spaces for now. Hence, I believe I can close this draft @mgeier ? |
|
Thanks for the update! Why is the error from #293 (comment) not happening anymore? The images and versions I selected are kinda random, I wanted to reduce the number of jobs a bit. About the "fail fast" thing: I don't really have an opinion on that, but we can change it if you want. We can still try to use paths with spaces. But I think it would be nicer to use a variable for that instead of repeating "test path with spaces" all over the place. For the future, I would recommend not making so many different changes in one PR but multiple smaller PRs instead. |
|
I've looked a bit more into the So this seems to be a known problem, I just don't understand why nobody tries to fix it ... I thought that since my attempt in autotools-mirror/libtool#4 doesn't seem to be noticed, maybe we could try to bring this patch to Homebrew? Maybe we can provide a patch, but I don't know yet how that would work. For future reference, here is the relevant (I think) file from Homebrew: |
I have no idea. It did not occur in the last workflow run. The run log from the above comment is not available anymore, therefore it is difficult for me to investigate what makes the difference here. The error occurred in "step:4:705", while the latest macos -> step:4 (Build dependencies) doesn't even have so many lines anymore.
Seems fair. Exhaustive testing won't be possible anyways. The existing configurations have some coverage and
Its probably good to keep failing fast for sustainability reason. Not doing it was just helpful for debugging different issues on different configurations here.
For sure this should be implemented better than here. But since I'm the first one to encounter this issue, it does not seem to be very relevant (or Linux people rather know to dodge paths with spaces to begin with).
Agreed. This was a draft mostly for testing with the existing GitHub workflows. |
|
Thanks for the hint about CI compiler versions, see #321. I'm not sure if you meant to include
Yes, indeed. I've (painfully) learned to avoid spaces many years ago. BTW, in the meantime I've found out that even if configuring and compiling (mostly) works with a path with spaces, there are still problems when installing (with I'm currently not interested in supporting this use case, but if you want (or anyone else wants) to fix this, I'm of course open for PRs. |
No, that was just to recall what the current choices were and what the current GitHub default per OS is. The current hard coded OS + compiler combinations will not be the most recent any more a some point. Only using One Apple M1 runners are available, this would for sure be one to make sure it is included in the workflows. But there seems to be no announcement or ETA for it yet (actions/runner-images#2187). Jack and SSR should work fine on Apple silicon, as investigated in #254. |
I ran into a compilation issue locally, and figured that it was not covered in the CI workflow. So far, I have done a couple of things that are outside of the scope of my initial issue. These things should be discussed if you even want them, and potentially be split into separate PRs.
macos-latestconfigurations into discrete versionsmacos-10.15,macos-11,macos-12and compile either of them with the two latest supported xcode versions (seems useful, but maybe too explicit?)Fix workflow issue with build "(macos-12, Xcode_13.4.1)"actions/checkout@v2toactions/checkout@v3actions/upload-artifact@v2toactions/upload-artifact@v3main.yml(this is what currently still fails)pd-externals.yml(this currently fails only formacos-latest)