From ea058c6e856468879f4b2caadc0b5e9f18ad37b8 Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Mon, 8 Dec 2025 14:42:19 -0700 Subject: [PATCH 1/3] xcode set correct file type for assembly files with project --- IDE/XCODE/wolfssl.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/IDE/XCODE/wolfssl.xcodeproj/project.pbxproj b/IDE/XCODE/wolfssl.xcodeproj/project.pbxproj index 4b00e46e5..1c5d65d1c 100644 --- a/IDE/XCODE/wolfssl.xcodeproj/project.pbxproj +++ b/IDE/XCODE/wolfssl.xcodeproj/project.pbxproj @@ -1069,11 +1069,11 @@ 700F0C892A2FBE8200755BA7 /* ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ssl.h; path = ../../wolfssl/openssl/ssl.h; sourceTree = ""; }; 700F0C8A2A2FBE8200755BA7 /* rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rsa.h; path = ../../wolfssl/openssl/rsa.h; sourceTree = ""; }; 9D01058F291CEA4F00A854D3 /* armv8-sha512-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-sha512-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha512-asm.S"; sourceTree = ""; }; - 9D010591291CEA4F00A854D3 /* armv8-sha256-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-sha256-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha256-asm.S"; sourceTree = ""; }; - 9D010593291CEA4F00A854D3 /* armv8-poly1305-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-poly1305-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-poly1305-asm.S"; sourceTree = ""; }; + 9D010591291CEA4F00A854D3 /* armv8-sha256-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-sha256-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha256-asm.S"; sourceTree = ""; }; + 9D010593291CEA4F00A854D3 /* armv8-poly1305-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-poly1305-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-poly1305-asm.S"; sourceTree = ""; }; 9D010595291CEA4F00A854D3 /* armv8-sha3-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-sha3-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-sha3-asm.S"; sourceTree = ""; }; - 9D010596291CEA4F00A854D3 /* armv8-chacha-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-chacha-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-chacha-asm.S"; sourceTree = ""; }; - 9D010598291CEA4F00A854D3 /* armv8-aes-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "armv8-aes-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-aes-asm.S"; sourceTree = ""; }; + 9D010596291CEA4F00A854D3 /* armv8-chacha-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-chacha-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-chacha-asm.S"; sourceTree = ""; }; + 9D010598291CEA4F00A854D3 /* armv8-aes-asm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-aes-asm.S"; path = "../../wolfcrypt/src/port/arm/armv8-aes-asm.S"; sourceTree = ""; }; 9D010599291CEA4F00A854D3 /* armv8-curve25519.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "armv8-curve25519.S"; path = "../../wolfcrypt/src/port/arm/armv8-curve25519.S"; sourceTree = ""; }; 9D2E31CA291CDF120082B941 /* quic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = quic.c; path = ../../src/quic.c; sourceTree = ""; }; 9D2E31CB291CDF120082B941 /* dtls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dtls.c; path = ../../src/dtls.c; sourceTree = ""; }; From 5873142403a6e97317f25c2f744d8e400bd99ed4 Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Mon, 8 Dec 2025 14:42:51 -0700 Subject: [PATCH 2/3] add xcode github actions build test --- .github/workflows/xcode.yml | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/xcode.yml diff --git a/.github/workflows/xcode.yml b/.github/workflows/xcode.yml new file mode 100644 index 000000000..97ea35a49 --- /dev/null +++ b/.github/workflows/xcode.yml @@ -0,0 +1,89 @@ +name: Xcode Build Tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + build: + if: github.repository_owner == 'wolfssl' + runs-on: macos-latest + # This should be a safe limit for the tests to run. + timeout-minutes: 10 + strategy: + matrix: + include: + # macOS builds + - target: wolfssl_osx + arch: arm64 + config: Release + sdk: macosx + name: macOS (ARM64, Release) + - target: wolfssl_osx + arch: x86_64 + config: Release + sdk: macosx + name: macOS (x86_64, Release) + - target: wolfssl_osx + arch: arm64 + config: Debug + sdk: macosx + name: macOS (ARM64, Debug) + - target: wolfssl_osx + arch: x86_64 + config: Debug + sdk: macosx + name: macOS (x86_64, Debug) + # Universal build (both architectures) + - target: wolfssl_osx + arch: arm64 + arch2: x86_64 + config: Release + sdk: macosx + name: macOS (Universal, Release) + universal: true + # tvOS builds + - target: wolfssl_tvos + arch: arm64 + config: Release + sdk: appletvos + name: tvOS (ARM64, Release) + - target: wolfssl_tvos + arch: arm64 + config: Release + sdk: appletvsimulator + name: tvOS Simulator (ARM64, Release) + steps: + - uses: actions/checkout@v4 + + - name: Build wolfSSL with Xcode (${{ matrix.name }}) + working-directory: ./IDE/XCODE + run: | + if [ "${{ matrix.universal }}" == "true" ]; then + xcodebuild -project wolfssl.xcodeproj \ + -target ${{ matrix.target }} \ + -configuration ${{ matrix.config }} \ + -arch ${{ matrix.arch }} \ + -arch ${{ matrix.arch2 }} \ + -sdk ${{ matrix.sdk }} \ + SYMROOT=build \ + OBJROOT=build \ + build + else + xcodebuild -project wolfssl.xcodeproj \ + -target ${{ matrix.target }} \ + -configuration ${{ matrix.config }} \ + -arch ${{ matrix.arch }} \ + -sdk ${{ matrix.sdk }} \ + SYMROOT=build \ + OBJROOT=build \ + build + fi From c05f0680c6c167e948242c12c40f8ba1955592df Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Tue, 9 Dec 2025 07:00:50 -0700 Subject: [PATCH 3/3] remove trailing whitespace --- .github/workflows/xcode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/xcode.yml b/.github/workflows/xcode.yml index 97ea35a49..4799aa41f 100644 --- a/.github/workflows/xcode.yml +++ b/.github/workflows/xcode.yml @@ -63,7 +63,7 @@ jobs: name: tvOS Simulator (ARM64, Release) steps: - uses: actions/checkout@v4 - + - name: Build wolfSSL with Xcode (${{ matrix.name }}) working-directory: ./IDE/XCODE run: |