|
@@ -0,0 +1,65 @@
|
|
|
+name: Build Electron App
|
|
|
+
|
|
|
+on:
|
|
|
+ push:
|
|
|
+ branchs: [master]
|
|
|
+ pull_request:
|
|
|
+ branchs: [master]
|
|
|
+
|
|
|
+jobs:
|
|
|
+ build:
|
|
|
+ runs-on: ${{matrix.os}}
|
|
|
+
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ os: [macos-latest, windows-latest]
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - uses: actions/check@v2
|
|
|
+
|
|
|
+ - name: Install Node.js NPM Yarn
|
|
|
+ uses: actions/setup-node@v1
|
|
|
+ with:
|
|
|
+ node-version: 12.16.3
|
|
|
+
|
|
|
+ - name: Get npm cache directory
|
|
|
+ id: npm-cache
|
|
|
+ run: |
|
|
|
+ echo "::set-output name=dir::$(npm config get cache)"
|
|
|
+ - uses: actions/cache@v1
|
|
|
+ with:
|
|
|
+ path: ${{ steps.npm-cache.outputs.dir }}
|
|
|
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
|
+ restore-keys: |
|
|
|
+ ${{ runner.os }}-node-
|
|
|
+
|
|
|
+ - name: Get yarn cache directory path
|
|
|
+ id: yarn-cache-dir-path
|
|
|
+ run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
|
+
|
|
|
+ - uses: actions/cache@v1
|
|
|
+ id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
|
|
|
+ with:
|
|
|
+ path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
|
+ key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
|
+ restore-keys: |
|
|
|
+ ${{ runner.os }}-yarn-
|
|
|
+
|
|
|
+ - name: Build/release
|
|
|
+ uses: samuelmeuli/action-electron-builder@v1
|
|
|
+ with:
|
|
|
+ github_token: ${{secrets.github_token}}
|
|
|
+ release: ${{startWith(github.ref, 'refs/tags/v')}}
|
|
|
+ use_vue_cli: true
|
|
|
+
|
|
|
+ - uses: actions/uplad-artifact@v2
|
|
|
+ with:
|
|
|
+ name: ReleaseApp-mac
|
|
|
+ path: dist_electron/*.dmg
|
|
|
+ if-no-files-found: ignore
|
|
|
+
|
|
|
+ - uses: actions/uplad-artifact@v2
|
|
|
+ with:
|
|
|
+ name: ReleaseApp-win
|
|
|
+ path: dist_electron/*.exe
|
|
|
+ if-no-files-found: ignore
|