4949 type : string
5050 default : ' arm64'
5151 description : ' The architecture to use for this job'
52+ cortex-llamacpp-version :
53+ required : true
54+ type : string
55+ default : ' 0.0.0'
56+ description : ' The version of cortex-llamacpp to use for this job'
5257 secrets :
5358 DELTA_AWS_S3_BUCKET_NAME :
5459 required : false
7883 required : false
7984
8085jobs :
81- build-mac-x64 :
86+ build-mac :
8287 runs-on : ${{ inputs.runs-on }}
8388 permissions :
8489 contents : write
@@ -169,7 +174,7 @@ jobs:
169174 QUILL_NOTARY_ISSUER : ${{ secrets.NOTARY_ISSUER }}
170175 QUILL_NOTARY_KEY : " /tmp/notary-key.p8"
171176
172- - name : Build Installers
177+ - name : Build network Installers
173178 shell : bash
174179 run : |
175180 cd engine
@@ -185,8 +190,33 @@ jobs:
185190 productbuild --synthesize --package Distribution.pkg Distribution.xml
186191 sed -i '' 's/require-scripts="false"/require-scripts="true"/' Distribution.xml
187192 cat Distribution.xml
188- productbuild --distribution Distribution.xml --sign "Developer ID Installer: ${{ secrets.DEVELOPER_ID }}" --package-path . ${{ steps.set-output-params.outputs.package_name }}.pkg
189- xcrun notarytool submit ${{ steps.set-output-params.outputs.package_name }}.pkg --apple-id ${{ secrets.APPLE_ID }} --password ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} --team-id ${{ secrets.APPLE_TEAM_ID }} --wait
193+ productbuild --distribution Distribution.xml --sign "Developer ID Installer: ${{ secrets.DEVELOPER_ID }}" --package-path . ${{ steps.set-output-params.outputs.package_name }}-network.pkg
194+ xcrun notarytool submit ${{ steps.set-output-params.outputs.package_name }}-network.pkg --apple-id ${{ secrets.APPLE_ID }} --password ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} --team-id ${{ secrets.APPLE_TEAM_ID }} --wait
195+
196+ - name : Build local Installers
197+ shell : bash
198+ run : |
199+ mkdir -p engine/templates/macos/Scripts/dependencies
200+ cd engine/templates/macos/Scripts/dependencies
201+ wget https://github.com/janhq/cortex.llamacpp/releases/download/v${{ inputs.cortex-llamacpp-version }}/cortex.llamacpp-${{ inputs.cortex-llamacpp-version }}-mac-${{ inputs.arch }}.tar.gz
202+
203+ cd ../../
204+ chmod +x create_pkg_local.sh
205+ ./create_pkg_local.sh ${{ steps.set-output-params.outputs.package_name }} ${{ inputs.new_version }} ../../cortex/${{ steps.set-output-params.outputs.destination_binary_name }} ${{ steps.set-output-params.outputs.destination_binary_name }} ${{ steps.set-output-params.outputs.data_folder_name }} ${{ steps.set-output-params.outputs.configuration_file_name }} ${{ steps.set-output-params.outputs.uninstaller_file_name }}
206+ cp ${{ steps.set-output-params.outputs.package_name }}.pkg ../../
207+
208+ - name : Codesign and notary for macos installer
209+ run : |
210+ cd engine
211+ productsign --sign "Developer ID Installer: ${{ secrets.DEVELOPER_ID }}" ${{ steps.set-output-params.outputs.package_name }}.pkg ${{ steps.set-output-params.outputs.package_name }}$-signed.pkg
212+ rm ${{ steps.set-output-params.outputs.package_name }}.pkg
213+ mv ${{ steps.set-output-params.outputs.package_name }}$-signed.pkg Distribution.pkg
214+ productbuild --synthesize --package Distribution.pkg Distribution.xml
215+ sed -i '' 's/require-scripts="false"/require-scripts="true"/' Distribution.xml
216+ cat Distribution.xml
217+ productbuild --distribution Distribution.xml --sign "Developer ID Installer: ${{ secrets.DEVELOPER_ID }}" --package-path . ${{ steps.set-output-params.outputs.package_name }}-local.pkg
218+ xcrun notarytool submit ${{ steps.set-output-params.outputs.package_name }}-local.pkg --apple-id ${{ secrets.APPLE_ID }} --password ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} --team-id ${{ secrets.APPLE_TEAM_ID }} --wait
219+
190220
191221 - name : Package
192222 run : |
@@ -202,16 +232,23 @@ jobs:
202232 - name : Upload Artifact
203233 uses : actions/upload-artifact@v4
204234 with :
205- name : cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-installer
206- path : ./engine/${{ steps.set-output-params.outputs.package_name }}.pkg
235+ name : cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-network-installer
236+ path : ./engine/${{ steps.set-output-params.outputs.package_name }}-network.pkg
237+
238+ - name : Upload Artifact
239+ uses : actions/upload-artifact@v4
240+ with :
241+ name : cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-local-installer
242+ path : ./engine/${{ steps.set-output-params.outputs.package_name }}-local.pkg
207243
208244 - name : upload to aws s3 if public provider is aws
209245 if : inputs.public_provider == 'aws-s3'
210246 run : |
211247 aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/mac-${{ inputs.arch}}-cortex-nightly.tar.gz
212248
213249 aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-nightly.tar.gz
214- aws s3 cp ./engine/${{ steps.set-output-params.outputs.package_name }}.pkg s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-installer.pkg
250+ aws s3 cp ./engine/${{ steps.set-output-params.outputs.package_name }}-network.pkg s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-network-installer.pkg
251+ aws s3 cp ./engine/${{ steps.set-output-params.outputs.package_name }}-local.pkg s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-local-installer.pkg
215252 env :
216253 AWS_ACCESS_KEY_ID : ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }}
217254 AWS_SECRET_ACCESS_KEY : ${{ secrets.DELTA_AWS_SECRET_ACCESS_KEY }}
@@ -236,6 +273,17 @@ jobs:
236273 uses : actions/upload-release-asset@v1.0.1
237274 with :
238275 upload_url : ${{ inputs.upload_url }}
239- asset_path : ./engine/${{ steps.set-output-params.outputs.package_name }}.pkg
240- asset_name : cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-installer.pkg
276+ asset_path : ./engine/${{ steps.set-output-params.outputs.package_name }}-network.pkg
277+ asset_name : cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-network-installer.pkg
278+ asset_content_type : application/octet-stream
279+
280+ - name : Upload release assert if public provider is github
281+ if : inputs.public_provider == 'github'
282+ env :
283+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
284+ uses : actions/upload-release-asset@v1.0.1
285+ with :
286+ upload_url : ${{ inputs.upload_url }}
287+ asset_path : ./engine/${{ steps.set-output-params.outputs.package_name }}-local.pkg
288+ asset_name : cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-local-installer.pkg
241289 asset_content_type : application/octet-stream
0 commit comments