From e7e959fa9517b030582a1d7c84315784fda0a52f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Fri, 10 Jul 2026 12:23:35 +0200 Subject: [PATCH 1/5] Try new iOS build --- .github/workflows/build.yaml | 35 +++++++++++++++++++++------- .github/workflows/lint-and-test.yaml | 3 --- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9b26104..53811fb 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -3,6 +3,7 @@ on: push: branches: - main + - ios_build - dev - "release/**" - "hotfix/**" @@ -40,7 +41,7 @@ jobs: run: flutter pub get - name: Unlock Keychain - run: security -v unlock-keychain -p "${{ secrets.KEYCHAIN_PASSWORD }}" /Users/admin/Library/Keychains/login.keychain + run: security unlock-keychain -p "${{ secrets.BUILD_KEYCHAIN_PASSWORD }}" build.keychain - name: Create BoringTun directory run: mkdir -p ios/VPNExtension/BoringTun @@ -58,17 +59,33 @@ jobs: run: echo "COMMIT_MSG=$(git log -1 --pretty=%B)" >> $GITHUB_ENV - name: Upload app to TestFlight - uses: apple-actions/upload-testflight-build@v5 # Mobile applications are published to the App Store manually, with release tags applied # post-publication. To avoid redundant uploads, this step executes only for non-tagged # builds, ensuring tagged releases are distributed exclusively to GitHub. - if: "!startsWith(github.ref, 'refs/tags/')" - with: - app-path: "client/build/ios/ipa/Defguard.ipa" - issuer-id: ${{ secrets.API_ISSUER_ID }} - api-key-id: ${{ secrets.ASC_API_KEY_ID }} - api-private-key: ${{ secrets.PRIVATE_KEY_CONTENTS }} - release-notes: ${{ env.COMMIT_MSG }} + run: | + xcrun altool --api-key ${{ secrets.ASC_API_KEY_ID }} \ + --api-issuer ${{ secrets.API_ISSUER_ID }} \ + --upload-app --platform ios --file client/build/ios/ipa/Defguard.ipa --wait + + - name: Upload What's New + env: + APP_ID: "6748068630" + run: | + UPLOAD_DIR=$(mktemp -d) + VERSION=$(jq -r '.version' package.json) + mkdir -p "${UPLOAD_DIR}/beta-${APP_ID}/upload/IOS" + git log -1 --pretty='"whatsNew" = "%B";' > "${UPLOAD_DIR}/beta-${APP_ID}/upload/IOS/en-GB.txt" + RETRIES=0 + until [ ${RETRIES} -gt 6 ] + do + xcrun altool --api-key ${{ secrets.ASC_API_KEY_ID }} --api-issuer ${{ secrets.API_ISSUER_ID }} \ + --apple-id ${APP_ID} --bundle-version ${{ github.run_number }} \--bundle-short-version-string ${VERSION} \ + --platform macos --beta-app-store-text "${UPLOAD_DIR}" --upload && break + echo "Waiting for app ${APP_ID} build ${{ github.run_number }} version ${VERSION}" + sleep 10 + ((RETRIES++)) + done + rm -f -r "${UPLOAD_DIR}" build-android: runs-on: [self-hosted, macOS] diff --git a/.github/workflows/lint-and-test.yaml b/.github/workflows/lint-and-test.yaml index 31bb7ce..449d46d 100644 --- a/.github/workflows/lint-and-test.yaml +++ b/.github/workflows/lint-and-test.yaml @@ -90,8 +90,5 @@ jobs: # # - name: build project # # run: flutter build ios - # - name: Unlock Keychain - # run: security -v unlock-keychain -p "${{ secrets.KEYCHAIN_PASSWORD }}" /Users/admin/Library/Keychains/login.keychain - # - name: run plugin tests # run: xcodebuild test -workspace Runner.xcworkspace -scheme Runner From cc63ed4ec46bb6ae863a2c40307c80774638470b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Fri, 10 Jul 2026 12:56:04 +0200 Subject: [PATCH 2/5] Take2 --- .github/workflows/build.yaml | 12 ++++++------ .github/workflows/lint-and-test.yaml | 6 +++--- .github/workflows/sbom.yaml | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 53811fb..8837058 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -16,13 +16,13 @@ on: jobs: build-ios: - runs-on: [self-hosted, macOS] + runs-on: [self-hosted, macOS, native] defaults: run: working-directory: ./client steps: - name: Checkout main repo - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: submodules: "recursive" @@ -88,7 +88,7 @@ jobs: rm -f -r "${UPLOAD_DIR}" build-android: - runs-on: [self-hosted, macOS] + runs-on: [self-hosted, macOS, native] env: ANDROID_HOME: /Users/admin/Library/Android/sdk ANDROID_SDK_ROOT: /Users/admin/Library/Android/sdk @@ -96,7 +96,7 @@ jobs: run: working-directory: ./client steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: submodules: "recursive" @@ -158,7 +158,7 @@ jobs: retention-days: 2 build-android-apk: - runs-on: [self-hosted, macOS] + runs-on: [self-hosted, macOS, native] env: ANDROID_HOME: /Users/admin/Library/Android/sdk ANDROID_SDK_ROOT: /Users/admin/Library/Android/sdk @@ -166,7 +166,7 @@ jobs: run: working-directory: ./client steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: submodules: "recursive" diff --git a/.github/workflows/lint-and-test.yaml b/.github/workflows/lint-and-test.yaml index 449d46d..48a2de8 100644 --- a/.github/workflows/lint-and-test.yaml +++ b/.github/workflows/lint-and-test.yaml @@ -29,7 +29,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: submodules: "recursive" @@ -57,7 +57,7 @@ jobs: # test-ios: # name: Run iOS tests - # runs-on: [self-hosted, macOS] + # runs-on: [self-hosted, macOS, native] # needs: lint # defaults: # run: @@ -65,7 +65,7 @@ jobs: # steps: # - name: Checkout - # uses: actions/checkout@v6 + # uses: actions/checkout@v7 # with: # submodules: "recursive" diff --git a/.github/workflows/sbom.yaml b/.github/workflows/sbom.yaml index ec8c5cf..425331a 100644 --- a/.github/workflows/sbom.yaml +++ b/.github/workflows/sbom.yaml @@ -29,7 +29,7 @@ jobs: echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: ref: ${{ steps.vars.outputs.TAG_NAME }} submodules: "recursive" From 2fa007ca05ff8bdbe4104cb6d29013040f0e6544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Fri, 10 Jul 2026 13:42:34 +0200 Subject: [PATCH 3/5] take3 --- .github/workflows/build.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8837058..4075651 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -55,9 +55,6 @@ jobs: - name: Build iOS run: flutter build ipa --release --obfuscate --split-debug-info=build/debug-info --build-number=${{ github.run_number }} - - name: Get last commit message - run: echo "COMMIT_MSG=$(git log -1 --pretty=%B)" >> $GITHUB_ENV - - name: Upload app to TestFlight # Mobile applications are published to the App Store manually, with release tags applied # post-publication. To avoid redundant uploads, this step executes only for non-tagged @@ -65,7 +62,7 @@ jobs: run: | xcrun altool --api-key ${{ secrets.ASC_API_KEY_ID }} \ --api-issuer ${{ secrets.API_ISSUER_ID }} \ - --upload-app --platform ios --file client/build/ios/ipa/Defguard.ipa --wait + --upload-app --platform ios --file build/ios/ipa/Defguard.ipa --wait - name: Upload What's New env: From d903c33d64dbd44c7fa9251075c325ff4504d50d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Fri, 10 Jul 2026 13:53:14 +0200 Subject: [PATCH 4/5] take4 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4075651..25f9d9b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -69,7 +69,7 @@ jobs: APP_ID: "6748068630" run: | UPLOAD_DIR=$(mktemp -d) - VERSION=$(jq -r '.version' package.json) + VERSION=$(grep '^version:' pubspec.yaml | cut -d ' ' -f 2 | cut -d '+' -f 1) mkdir -p "${UPLOAD_DIR}/beta-${APP_ID}/upload/IOS" git log -1 --pretty='"whatsNew" = "%B";' > "${UPLOAD_DIR}/beta-${APP_ID}/upload/IOS/en-GB.txt" RETRIES=0 From 7d751341bee53d1215f345e51e5c7fd11ca90046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Ciarcin=CC=81ski?= Date: Fri, 10 Jul 2026 14:22:05 +0200 Subject: [PATCH 5/5] Remove test branch --- .github/workflows/build.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 25f9d9b..d2ce503 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -3,7 +3,6 @@ on: push: branches: - main - - ios_build - dev - "release/**" - "hotfix/**"