@@ -14,132 +14,132 @@ on:
1414 - " flake.*"
1515
1616jobs :
17- build-ios :
18- runs-on : [self-hosted, macOS]
19- defaults :
20- run :
21- working-directory : ./client
22- steps :
23- - name : Checkout main repo
24- uses : actions/checkout@v4
25- with :
26- submodules : " recursive"
27-
28- - name : Setup flutter
29- uses : subosito/flutter-action@v2
30- with :
31- channel : stable
32- flutter-version : 3.35.7
33-
34- - name : Use homebrew ruby
35- run : |
36- echo "/opt/homebrew/opt/ruby/bin" >> $GITHUB_PATH
37- echo "/opt/homebrew/bin" >> $GITHUB_PATH
38-
39- - name : Install deps
40- run : flutter pub get
41-
42- - name : Unlock Keychain
43- run : security -v unlock-keychain -p "${{ secrets.KEYCHAIN_PASSWORD }}" /Users/admin/Library/Keychains/login.keychain
44-
45- - name : Create BoringTun directory
46- run : mkdir -p ios/VPNExtension/BoringTun
47-
48- - name : Generate boringtun bindings
49- run : cd ios/boringtun && ./bindings.sh
50-
51- - name : Update CocoaPods
52- run : pod repo update
53-
54- - name : Build iOS
55- run : flutter build ipa --release --obfuscate --split-debug-info=build/debug-info --build-number=${{ github.run_number }}
56-
57- - name : Upload app to TestFlight
58- uses : apple-actions/upload-testflight-build@v3
59- # Mobile applications are published to the App Store manually, with release tags applied
60- # post-publication. To avoid redundant uploads, this step executes only for non-tagged
61- # builds, ensuring tagged releases are distributed exclusively to GitHub.
62- if : " !startsWith(github.ref, 'refs/tags/')"
63- with :
64- app-path : " client/build/ios/ipa/Defguard.ipa"
65- issuer-id : ${{ secrets.API_ISSUER_ID }}
66- api-key-id : ${{ secrets.ASC_API_KEY_ID }}
67- api-private-key : ${{ secrets.PRIVATE_KEY_CONTENTS }}
68-
69- - name : Upload iOS Artifact
70- uses : actions/upload-artifact@v4
71- if : startsWith(github.ref, 'refs/tags/')
72- with :
73- name : ios-app
74- path : " client/build/ios/ipa/Defguard.ipa"
75- retention-days : 2
76-
77- build-android :
78- runs-on : [self-hosted, macOS]
79- env :
80- ANDROID_HOME : /Users/admin/Library/Android/sdk
81- ANDROID_SDK_ROOT : /Users/admin/Library/Android/sdk
82- defaults :
83- run :
84- working-directory : ./client
85- steps :
86- - uses : actions/checkout@v4
87-
88- - name : Set up Java
89- uses : actions/setup-java@v3
90- with :
91- distribution : " temurin"
92- java-version : " 17"
93-
94- - name : Setup flutter
95- uses : subosito/flutter-action@v2
96- with :
97- channel : stable
98- flutter-version : 3.32.7
99-
100- - name : Accept licenses
101- run : yes | flutter doctor --android-licenses
102-
103- - name : Clean flutter
104- run : flutter clean
105-
106- - name : Install deps
107- run : flutter pub get
108-
109- - name : Build android
110- run : flutter build appbundle --release --build-number=${{ github.run_number }}
111-
112- - name : Sign AAB
113- uses : r0adkll/sign-android-release@v1
114- with :
115- releaseDirectory : client/build/app/outputs/bundle/release
116- signingKeyBase64 : " ${{ secrets.ANDROID_SIGNING_KEY_BASE64 }}"
117- alias : " ${{ secrets.ANDROID_SIGNING_KEY_ALIAS }}"
118- keyStorePassword : " ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
119- keyPassword : " ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
120-
121- - name : Publish to Play Store
122- uses : r0adkll/upload-google-play@v1
123- # Mobile applications are published to the Play Store manually, with release tags applied
124- # post-publication. To avoid redundant uploads, this step executes only for non-tagged
125- # builds, ensuring tagged releases are distributed exclusively to GitHub.
126- if : " !startsWith(github.ref, 'refs/tags/')"
127- with :
128- serviceAccountJsonPlainText : " ${{ secrets.ANDROID_SERVICE_ACCOUNT_JSON }}"
129- packageName : net.defguard.mobile
130- releaseFiles : client/build/app/outputs/bundle/release/app-release.aab
131- track : internal
132-
133- - name : Upload Android Artifact
134- uses : actions/upload-artifact@v4
135- if : startsWith(github.ref, 'refs/tags/')
136- with :
137- name : android-app
138- path : " client/build/app/outputs/bundle/release/app-release.aab"
139- retention-days : 2
17+ # build-ios:
18+ # runs-on: [self-hosted, macOS]
19+ # defaults:
20+ # run:
21+ # working-directory: ./client
22+ # steps:
23+ # - name: Checkout main repo
24+ # uses: actions/checkout@v4
25+ # with:
26+ # submodules: "recursive"
27+
28+ # - name: Setup flutter
29+ # uses: subosito/flutter-action@v2
30+ # with:
31+ # channel: stable
32+ # flutter-version: 3.35.7
33+
34+ # - name: Use homebrew ruby
35+ # run: |
36+ # echo "/opt/homebrew/opt/ruby/bin" >> $GITHUB_PATH
37+ # echo "/opt/homebrew/bin" >> $GITHUB_PATH
38+
39+ # - name: Install deps
40+ # run: flutter pub get
41+
42+ # - name: Unlock Keychain
43+ # run: security -v unlock-keychain -p "${{ secrets.KEYCHAIN_PASSWORD }}" /Users/admin/Library/Keychains/login.keychain
44+
45+ # - name: Create BoringTun directory
46+ # run: mkdir -p ios/VPNExtension/BoringTun
47+
48+ # - name: Generate boringtun bindings
49+ # run: cd ios/boringtun && ./bindings.sh
50+
51+ # - name: Update CocoaPods
52+ # run: pod repo update
53+
54+ # - name: Build iOS
55+ # run: flutter build ipa --release --obfuscate --split-debug-info=build/debug-info --build-number=${{ github.run_number }}
56+
57+ # - name: Upload app to TestFlight
58+ # uses: apple-actions/upload-testflight-build@v3
59+ # # Mobile applications are published to the App Store manually, with release tags applied
60+ # # post-publication. To avoid redundant uploads, this step executes only for non-tagged
61+ # # builds, ensuring tagged releases are distributed exclusively to GitHub.
62+ # if: "!startsWith(github.ref, 'refs/tags/')"
63+ # with:
64+ # app-path: "client/build/ios/ipa/Defguard.ipa"
65+ # issuer-id: ${{ secrets.API_ISSUER_ID }}
66+ # api-key-id: ${{ secrets.ASC_API_KEY_ID }}
67+ # api-private-key: ${{ secrets.PRIVATE_KEY_CONTENTS }}
68+
69+ # - name: Upload iOS Artifact
70+ # uses: actions/upload-artifact@v4
71+ # if: startsWith(github.ref, 'refs/tags/')
72+ # with:
73+ # name: ios-app
74+ # path: "client/build/ios/ipa/Defguard.ipa"
75+ # retention-days: 2
76+
77+ # build-android:
78+ # runs-on: [self-hosted, macOS]
79+ # env:
80+ # ANDROID_HOME: /Users/admin/Library/Android/sdk
81+ # ANDROID_SDK_ROOT: /Users/admin/Library/Android/sdk
82+ # defaults:
83+ # run:
84+ # working-directory: ./client
85+ # steps:
86+ # - uses: actions/checkout@v4
87+
88+ # - name: Set up Java
89+ # uses: actions/setup-java@v3
90+ # with:
91+ # distribution: "temurin"
92+ # java-version: "17"
93+
94+ # - name: Setup flutter
95+ # uses: subosito/flutter-action@v2
96+ # with:
97+ # channel: stable
98+ # flutter-version: 3.32.7
99+
100+ # - name: Accept licenses
101+ # run: yes | flutter doctor --android-licenses
102+
103+ # - name: Clean flutter
104+ # run: flutter clean
105+
106+ # - name: Install deps
107+ # run: flutter pub get
108+
109+ # - name: Build android
110+ # run: flutter build appbundle --release --build-number=${{ github.run_number }}
111+
112+ # - name: Sign AAB
113+ # uses: r0adkll/sign-android-release@v1
114+ # with:
115+ # releaseDirectory: client/build/app/outputs/bundle/release
116+ # signingKeyBase64: "${{ secrets.ANDROID_SIGNING_KEY_BASE64 }}"
117+ # alias: "${{ secrets.ANDROID_SIGNING_KEY_ALIAS }}"
118+ # keyStorePassword: "${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
119+ # keyPassword: "${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
120+
121+ # - name: Publish to Play Store
122+ # uses: r0adkll/upload-google-play@v1
123+ # # Mobile applications are published to the Play Store manually, with release tags applied
124+ # # post-publication. To avoid redundant uploads, this step executes only for non-tagged
125+ # # builds, ensuring tagged releases are distributed exclusively to GitHub.
126+ # if: "!startsWith(github.ref, 'refs/tags/')"
127+ # with:
128+ # serviceAccountJsonPlainText: "${{ secrets.ANDROID_SERVICE_ACCOUNT_JSON }}"
129+ # packageName: net.defguard.mobile
130+ # releaseFiles: client/build/app/outputs/bundle/release/app-release.aab
131+ # track: internal
132+
133+ # - name: Upload Android Artifact
134+ # uses: actions/upload-artifact@v4
135+ # if: startsWith(github.ref, 'refs/tags/')
136+ # with:
137+ # name: android-app
138+ # path: "client/build/app/outputs/bundle/release/app-release.aab"
139+ # retention-days: 2
140140
141141 release :
142- needs : [build-ios, build-android]
142+ # needs: [build-ios, build-android]
143143 # Create release only if CI was triggered by a tag.
144144 if : startsWith(github.ref, 'refs/tags/')
145145 uses : ./.github/workflows/release.yaml
0 commit comments