Skip to content

Comments

Linux and MacOS workflows#1004

Merged
MarkCallow merged 4 commits intomainfrom
github-actions
Apr 14, 2025
Merged

Linux and MacOS workflows#1004
MarkCallow merged 4 commits intomainfrom
github-actions

Conversation

@MathiasMagnus
Copy link
Collaborator

No description provided.

@CLAassistant
Copy link

CLAassistant commented Mar 28, 2025

CLA assistant check
All committers have signed the CLA.

@MarkCallow
Copy link
Collaborator

Please fix the syntax error at line 70 in publish-pyktx.yml. Because the YAML is broken the .yml file is shown strangely in the list of workflows even when not working on the github-actions branch.

@aqnuep aqnuep self-requested a review March 31, 2025 13:18
@MathiasMagnus MathiasMagnus force-pushed the github-actions branch 2 times, most recently from ec92ade to 324706e Compare April 1, 2025 12:24
Fixes vkloadtests RPATH on iOS.
3.29+ recognize .xcframeworks so FindVulkan was finding MoltenVK.xcframework
which has only a static library not suitable for use in the app bundle.

Removal of some tabs from CMakeLists.txt is along for the ride.
Copy link
Collaborator

@MarkCallow MarkCallow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since wrote that you think you are finished, I have reviewed even though the PR is still set as draft. I have included in this review the changes I requested in my e-mail yesterday.

The "big red button" looks fine. The workflows I want in it are android, emscripten web, linux, macos, mingw and windows

@MarkCallow
Copy link
Collaborator

Just in case you missed the edit I made, please call the additional workflow for the Emscripten/WASM builds `web.yml" as the packages it creates have web in their names.

@MarkCallow
Copy link
Collaborator

MarkCallow commented Apr 10, 2025

Please remove all the checkmkvk remnants from linux.yml and macos.yml. The Check mkvk workflow handles that now. The code was still in .travis.yml because I planned to not include it when porting to GHA so I simply disabled it by never setting the relevant environment variable.

@MarkCallow
Copy link
Collaborator

MarkCallow commented Apr 11, 2025

Have you looked up the "error 65"? If not, see https://circleci.com/blog/xcodebuild-exit-code-65-what-it-is-and-how-to-solve-for-ios-and-macos-builds/ and do man sysexits.

I don't think the code signing has anything to do with this error. That happens long after cmake instantiates xcodebuild and, when secrets are available, nothing related to code signing is passed to xcodebuild on its command line.

EX_DATAERR (65)       The input data was incorrect in some way.  This should only be used for
                           user's data and not system files.

It also has nothing to do with the CMake warning you can see in the log. I have that too. It's been present since 3.31 and it isn't preventing my builds from working.

That said I don't have any idea what it is. I suggest removing the | handle_compiler_output to see if helpful messages are being swallowed.

@MarkCallow
Copy link
Collaborator

I don't think the code signing has anything to do with this error.

Well I was wrong.

@MathiasMagnus
Copy link
Collaborator Author

@MarkCallow I was going off on this hunch.

@MarkCallow
Copy link
Collaborator

Add build.keychain on the end of the command to find the installer cert. The command doesn't seem to use the default keychain. Even locally I had to add login.keychain before it found the certs.

I think GHA may be swallowing some of the output in the name of security. The developer cert was clearly found but no output from the command is visible. Locally I see

keychain: "/Users/mark/Library/Keychains/login.keychain-db"
version: 512
class: 0x80001000 
attributes:
    "alis"<blob>="Symantec Class 3 Organizational CA - G2"
    "cenc"<uint32>=0x00000003 
    "ctyp"<uint32>=0x00000001 
    "hpky"<blob>=0x75E1E3CEB21FAC8F96C5C6175C4AFDE1E01D3A06  "u\341\343\316\262\037\254\217\226\305\306\027\134J\375\341\340\035:\006"
  ...

Also add security default-keychain to verify the default is build.keychain. Try adding that in the script stage as well to make sure it is still the default.

@MarkCallow
Copy link
Collaborator

It seems to have the Installer certificate under both names. I'll regenerate the .p12 file and make a new secret.

@MarkCallow
Copy link
Collaborator

MarkCallow commented Apr 11, 2025

I verified the base64 encoded file with the certs has the correct certs in it by decoding it back to a .p12 file and importing it into my keychain. There were no complaints and no new certs appeared which means the existing ones were re-imported or ignored. I have again copied the base64 encoded data to the MACOS_CERTIFICATES_P12 secret. Please try again.

I gave you a slightly incorrect security command. You need to add -c before the certificate name. It was ignoring the name and showing the first certificate in the keychain. Please fix that too.

@MarkCallow
Copy link
Collaborator

I have to go. I hope you can figure this out now. I have uploaded the APPLE_CODE_SIGN_IDENTITY and APPLE_PKG_SIGN_IDENTITY secrets again in case I made some error last time.

@MarkCallow
Copy link
Collaborator

The visible parts of the certificates printed in the latest build match what I see locally so I think they've been added to the keychain correctly.

@MarkCallow
Copy link
Collaborator

It's working now. There must have been an error in either MACOS_CERTIFICATES_P12 or APPLE_CODE_SIGN_IDENTITY before. I just uploaded both again. Sorry about that. It's an infernal nuisance that even the person who set the secrets can't view them.

@MarkCallow
Copy link
Collaborator

Terrific. It has worked. It was even notarized correctly.

@MathiasMagnus MathiasMagnus marked this pull request as ready for review April 11, 2025 16:18
@MarkCallow
Copy link
Collaborator

One final thing. Move check reuse into its own workflow, which does not need to be callable from manual.yml. This workflow will need to run no matter what file in the repo has changed so no ignore:.

Please delete the tag you created and the draft release.

@MathiasMagnus MathiasMagnus changed the title WIP Linux and MacOS workflows Linux and MacOS workflows Apr 14, 2025
Copy link
Collaborator

@MarkCallow MarkCallow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look good. Like the simplification. One very minor change please.

@aqnuep aqnuep requested a review from MarkCallow April 14, 2025 09:55
Copy link
Collaborator

@MarkCallow MarkCallow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two more minor changes. @aqnuep's additional review request took me a view of all the changes. I was previously looking at just those made since I last viewed.

@MarkCallow MarkCallow merged commit 520dc8f into main Apr 14, 2025
36 checks passed
@MarkCallow
Copy link
Collaborator

Thanks for the excellent work, @MathiasMagnus.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants