|
|
@@ -0,0 +1,64 @@
|
|
|
+name: macOS Build
|
|
|
+on: [push, pull_request]
|
|
|
+jobs:
|
|
|
+ build:
|
|
|
+ runs-on: macos-latest
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - name: Checkout
|
|
|
+ uses: actions/checkout@v1
|
|
|
+
|
|
|
+ - name: Installing Node
|
|
|
+ uses: actions/setup-node@v1
|
|
|
+ with:
|
|
|
+ node-version: 10
|
|
|
+
|
|
|
+ - name: Install deps
|
|
|
+ run: |
|
|
|
+ sudo npm i -g [email protected]
|
|
|
+ cd app
|
|
|
+ yarn
|
|
|
+ cd ..
|
|
|
+ rm app/node_modules/.yarn-integrity
|
|
|
+ yarn
|
|
|
+
|
|
|
+ - name: Build native deps
|
|
|
+ run: scripts/build-native.js
|
|
|
+
|
|
|
+ - name: Webpack
|
|
|
+ run: yarn run build
|
|
|
+
|
|
|
+ - name: Prepackage plugins
|
|
|
+ run: scripts/prepackage-plugins.js
|
|
|
+
|
|
|
+ # Prevent permission corruption caused by electron-builder
|
|
|
+ # This is the reason there's a separate workflow for the ZIP build
|
|
|
+ - run: sed -i '' 's/updateInfo = await/\/\/updateInfo = await/g' node_modules/app-builder-lib/out/targets/ArchiveTarget.js
|
|
|
+
|
|
|
+ - name: Build and sign packages
|
|
|
+ run: scripts/build-macos-zip.js
|
|
|
+ if: github.repository == 'Eugeny/terminus' && github.event_name == 'push'
|
|
|
+ env:
|
|
|
+ #DEBUG: electron-builder,electron-builder:*
|
|
|
+ GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
|
+ CSC_LINK: ${{ secrets.CSC_LINK }}
|
|
|
+ CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
|
|
+ APPSTORE_USERNAME: ${{ secrets.APPSTORE_USERNAME }}
|
|
|
+ APPSTORE_PASSWORD: ${{ secrets.APPSTORE_PASSWORD }}
|
|
|
+
|
|
|
+ - name: Build packages without signing
|
|
|
+ run: scripts/build-macos.js
|
|
|
+ if: github.repository != 'Eugeny/terminus' || github.event_name != 'push'
|
|
|
+ env:
|
|
|
+ DEBUG: electron-builder,electron-builder:*
|
|
|
+
|
|
|
+ - name: Package artifacts
|
|
|
+ run: |
|
|
|
+ mkdir artifact-zip
|
|
|
+ mv dist/*.zip artifact-zip/
|
|
|
+
|
|
|
+ - uses: actions/upload-artifact@master
|
|
|
+ name: Upload ZIP
|
|
|
+ with:
|
|
|
+ name: macOS .zip
|
|
|
+ path: artifact-zip
|