Skip to content

Commit

Permalink
Add additional generated files for swift in the build upload (#2091) (#…
Browse files Browse the repository at this point in the history
…2097)

* Compile protobuf for swift during build

* Generate uniffi during ios build

* Install swift-protobuf

* working dir

* Check changes

* generate uniffi after build

* Include proto files in upload

* log

* Also upload the uniffi dir

* Remove git debug
  • Loading branch information
octol authored Feb 7, 2025
1 parent 871278c commit a78ba3f
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 1 deletion.
8 changes: 8 additions & 0 deletions .github/workflows/build-nym-vpn-core-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@ jobs:
cargo swift package -p ios -n NymVpnLib --${{ env.CARGO_TARGET }}
ls -la ../target/universal-ios/release/ || true
- name: Generate uniffi
working-directory: nym-vpn-core
run: |
make generate-uniffi-ios
ls -al crates/nym-vpn-lib/uniffi
- name: Get rust version used for build
id: rust-version
run: |
Expand All @@ -81,9 +87,11 @@ jobs:
- name: Move things around to prepare for upload
env:
SRC_DIR: nym-vpn-core/crates/nym-vpn-lib/NymVpnLib/RustFramework.xcframework
UNIFFI_DIR: nym-vpn-core/crates/nym-vpn-lib/uniffi
run: |
mkdir ${{ env.UPLOAD_DIR_IOS }}
cp -vpr ${{ env.SRC_DIR }} ${{ env.UPLOAD_DIR_IOS }}
cp -vpr ${{ env.UNIFFI_DIR }} ${{ env.UPLOAD_DIR_IOS }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
Expand Down
38 changes: 37 additions & 1 deletion .github/workflows/build-nym-vpn-core-mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,19 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install swift-protobuf
run: |
brew install swift-protobuf
brew install grpc-swift
- name: Install cargo-get
run: |
cargo install --locked cargo-get || true
- name: Update nym-vpn-apple to use latest core
run: |
./scripts/update-nym-vpn-apple-to-latest-core.sh
git status
git diff || echo "No changes detected"
git diff > mac-plist-changes.patch
Expand Down Expand Up @@ -115,16 +121,46 @@ jobs:
SRC_NATIVE_BINARY: nym-vpn-core/target/${{ env.CARGO_TARGET }}/
SRC_X86_64_BINARY: nym-vpn-core/target/x86_64-apple-darwin/${{ env.CARGO_TARGET }}/
run: |
mkdir ${{ env.UPLOAD_DIR_MAC }}
mkdir -p ${{ env.UPLOAD_DIR_MAC }}
lipo -create -output ${{ env.UPLOAD_DIR_MAC }}/nym-vpnc ${{ env.SRC_NATIVE_BINARY }}/nym-vpnc ${{ env.SRC_X86_64_BINARY }}/nym-vpnc
lipo -create -output ${{ env.UPLOAD_DIR_MAC }}/nym-vpnd ${{ env.SRC_NATIVE_BINARY }}/nym-vpnd ${{ env.SRC_X86_64_BINARY }}/nym-vpnd
#lipo -create -output ${{ env.UPLOAD_DIR_MAC }}/nym-gateway-probe ${{ env.SRC_NATIVE_BINARY }}/nym-gateway-probe ${{ env.SRC_X86_64_BINARY }}/nym-gateway-probe
# Native only for nym-gateway-probe
cp ${{ env.SRC_NATIVE_BINARY }}/nym-gateway-probe ${{ env.UPLOAD_DIR_MAC }}/nym-gateway-probe
- name: Compile protobuf for swift (health)
run: |
protoc --swift_out=. proto/grpc/health.proto
protoc --grpc-swift_out=. proto/grpc/health.proto
- name: Compile protobuf for swift (vpn)
run: |
protoc --swift_out=. proto/nym/vpn.proto
protoc --grpc-swift_out=. proto/nym/vpn.proto
- name: Upload generated protobuf files for swift
uses: actions/upload-artifact@v4
with:
name: swift-proto-files
path: |
proto/nym/vpn.grpc.swift
proto/nym/vpn.pb.swift
proto/grpc/health.grpc.swift
proto/grpc/health.pb.swift
retention-days: 3

- name: Include generated proto files for swift in the bundled upload
run: |
mkdir -p ${{ env.UPLOAD_DIR_MAC }}
cp -v proto/nym/vpn.grpc.swift ${{ env.UPLOAD_DIR_MAC }}
cp -v proto/nym/vpn.pb.swift ${{ env.UPLOAD_DIR_MAC }}
cp -v proto/grpc/health.grpc.swift ${{ env.UPLOAD_DIR_MAC }}
cp -v proto/grpc/health.pb.swift ${{ env.UPLOAD_DIR_MAC }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.UPLOAD_DIR_MAC }}
path: ${{ env.UPLOAD_DIR_MAC }}
retention-days: 1

0 comments on commit a78ba3f

Please sign in to comment.