-
Notifications
You must be signed in to change notification settings - Fork 238
Autobuild: Reorganize macOS/iOS build scripts #2476
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
Autobuild: Reorganize macOS/iOS build scripts #2476
Conversation
There was a reason for that, now I see it written out. Hm. It'll be explained somewhere - I think it was an answer to one of the points I raised. |
Really? On latest I haven't yet looked at your changes... |
I've found some history regarding the Mac CodeQL split: #978 (comment) #978 (comment)
@softins Thanks for the hint, I'll re-check my history. That shouldn't happen. :( |
|
I made a comment recently somewhere about why we had separate CodeQL and Artifacts steps for Mac, but I can't find it now. It's not here, and probably buried in one of the relevant PRs or issues. I said that I had tried to combine CodeQL and Artifacts for Mac without success last year, by setting So it looks like we are now safe to combine them as per this PR (using the build script from The only other thing I wasn't sure of is that the Mac build script actually builds twice - once for client and once for server. I don't know how that affects the CodeQL part. |
I think it's the same for Debian (but it's gui and headless) there. I do also think that we should track as issue that alternatives should be considered (in terms of not building basically the same binary twice). JamulusServer.app should just run Jamulus.app with the -s argument. |
Yep, thought the same.
Running Jamulus.app with |
|
@softins Thanks for your insights, tests and explanations! I've just checked the diff again. Although I missed the differences initially, I think they are fine (especially now that we are no longer running a different job for CodeQL). I'm therefore removing the Draft status without any further changes. I've edited the PR description. |
ann0see
left 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.
Since it builds, I'll approve it.
softins
left 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.
Looks ok. There is a pending merge conflict flagged by Github, but that appears to be just to do with indentation in the matrix section. So I'll approve it in advance of that being fixed ready to merge.
- `diff -u autobuild/mac/{artifacts,codeQL}/autobuild_mac_1_prepare.sh` is
empty.
- `diff -u autobuild/mac/{artifacts,codeQL}/autobuild_mac_2_build.sh`
contains extra logic for signing, but as this is controlled by a
parameter, it is fine to merge anyway.
- `autobuild/mac/artifacts/autobuild_mac_3_copy_files.sh` does not exist
for the CodeQL job (it's unused there).
Therefore, it's safe to move those scripts one level up and drop all the
duplication. That makes it consistent with all the other platforms as
well.
This commit moves the .sh files to their new location and adjusts a
single line to account for the reduced nesting level. It also updates
the callers to use the new paths.
There's no need to place the ios autobuild scripts in an "artifacts" sub directory. This was probably done as the ios build was likely based on the mac build logic. This commit moves the .sh files to their new location and adjusts a single line to account for the reduced nesting level. It also updates the callers to use the new paths.
All other platforms run codeQL as part of their regular build. This increases the time until artifacts are available, but avoids having to build each job twice. We should handle codeQL consistenly.
22cac32 to
729bbd8
Compare
|
Rebased, confirmed that all targets are green and that MacOS Non-legacy properly runs Code-QL. Merging. |
Short description of changes
Autobuild: Merge Mac build scripts
diff -u autobuild/mac/{artifacts,codeQL}/autobuild_mac_1_prepare.shis empty.diff -u autobuild/mac/{artifacts,codeQL}/autobuild_mac_2_build.shshows a different build process for artifacts and CodeQL. As we are combining both jobs now, taking just the artifacts build.sh is fine though.autobuild/mac/artifacts/autobuild_mac_3_copy_files.shdoes not exist for the CodeQL job (it's unused there).Therefore, it's safe to move those scripts one level up and drop all the duplication. That makes it consistent with all the other platforms as well.
This commit moves the artifacts/*.sh files to their new location and adjusts a single line to account for the reduced nesting level. It also updates the callers to use the new paths.
Autobuild: Move ios build scripts up one level
There's no need to place the ios autobuild scripts in an "artifacts" sub directory. This was probably done as the ios build was likely based on the mac build logic.
This commit doesn't change any .sh file content, it just moves the files one level up and updates the callers to use the new paths.
Autobuild: Drop extra Mac CodeQL step
All other platforms run CodeQL as part of their regular build. This increases the time until artifacts are available, but avoids having to build each job twice. We should handle codeQL consistenly.
CHANGELOG: Autobuild: Reorganized macOS/iOS build logic.
Context: Fixes an issue?
Fixes unneeded duplication.
Does this change need documentation? What needs to be documented and how?
No.
Status of this Pull Request
Ready.
What is missing until this pull request can be merged?
Reviews.
Checklist