Files
standardnotes-app-web/.github/workflows/desktop.release.yml
2022-06-12 12:55:42 -05:00

150 lines
4.9 KiB
YAML

name: Desktop Release
on:
workflow_dispatch:
jobs:
Mac:
if: true == false
runs-on: macos-latest
defaults:
run:
working-directory: packages/desktop
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
registry-url: 'https://registry.npmjs.org'
- run: yarn install
- run: yarn build:web:front
- name: Compile Mac
run: yarn run webpack --config desktop.webpack.prod.js
- name: MacX64
run: |
yarn run electron-builder --mac --x64 --publish=never
node scripts/fix-mac-zip
- name: MacArm64
run: yarn run electron-builder --mac --arm64 --publish=never
- name: Upload
uses: actions/upload-artifact@v3.0.0
with:
name: assets
path: packages/desktop/dist/*+(.snap|.AppImage|.yml|.yaml|.blockmap|.deb|.dmg|.zip|.exe)
Linux:
if: true == false
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/desktop
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
registry-url: 'https://registry.npmjs.org'
- run: yarn install
- run: yarn build:web:front
- name: Compile for AppImage
run: yarn run webpack --config desktop.webpack.prod.js
- name: AppImage
run: yarn run electron-builder --linux --x64 --ia32 -c.linux.target=AppImage --publish=never
- name: AppImageX64
run: yarn run electron-builder --linux --x64 -c.linux.target=AppImage --publish=never
- name: AppImageArm64
run: yarn run electron-builder --linux --arm64 -c.linux.target=AppImage --publish=never
- name: Deb
run: |
yarn run webpack --config desktop.webpack.prod.js --env deb
yarn run electron-builder --linux --x64 --ia32 -c.linux.target=deb --publish=never
- name: DebArm64
env:
npm_config_target_arch: 'arm64'
USE_SYSTEM_FPM: 'true'
run: |
yarn run webpack --config desktop.webpack.prod.js --env deb
yarn run electron-builder --linux --arm64 -c.linux.target=deb --publish=never
- name: Dir
run: |
yarn run webpack --config desktop.webpack.prod.js
yarn run electron-builder --linux --x64 -c.linux.target=dir --publish=never
- name: DirArm64
run: |
yarn run webpack --config desktop.webpack.prod.js
yarn run electron-builder --linux --arm64 -c.linux.target=dir --publish=never
env:
npm_config_target_arch: 'arm64'
- name: Snap
run: |
yarn run webpack --config desktop.webpack.prod.js --env snap
yarn run electron-builder --linux --x64 -c.linux.target=snap --publish=never
- name: SnapArm64
run: |
yarn run webpack --config desktop.webpack.prod.js --env snap
yarn run electron-builder --linux --arm64 -c.linux.target=snap --publish=never
env:
npm_config_target_arch: 'arm64'
SNAPCRAFT_BUILD_ENVIRONMENT: 'host'
- name: Upload
uses: actions/upload-artifact@v3.0.0
with:
name: assets
path: packages/desktop/dist/*+(.snap|.AppImage|.yml|.yaml|.blockmap|.deb|.dmg|.zip|.exe)
Windows:
runs-on: windows-latest
defaults:
run:
working-directory: packages/desktop
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
registry-url: 'https://registry.npmjs.org'
- run: yarn install
- run: yarn build:web:front
- run: yarn run webpack --config desktop.webpack.prod.js
- run: yarn run electron-builder --windows --x64 --ia32 --publish=never
- name: Upload
uses: actions/upload-artifact@v3.0.0
with:
name: assets
path: packages/desktop/dist/*+(.snap|.AppImage|.yml|.yaml|.blockmap|.deb|.dmg|.zip|.exe)
Publish:
runs-on: ubuntu-latest
needs: [Windows]
defaults:
run:
working-directory: packages/desktop
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
registry-url: 'https://registry.npmjs.org'
- uses: actions/download-artifact@v3
with:
name: assets
path: packages/desktop/dist
- run: node scripts/sums.mjs
- name: get-npm-version
id: package-version
uses: martinbeentjes/npm-get-version-action@main
with:
path: packages/desktop
- name: Release
uses: softprops/action-gh-release@v1
with:
token: ${{ secrets.CI_PAT_TOKEN }}
tag_name: "@standardnotes/desktop@${{ steps.package-version.outputs.current-version}}"
prerelease: true
draft: true
name: "Desktop ${{ steps.package-version.outputs.current-version}}"
files: |
packages/desktop/dist/*
- run: node scripts/publishSnap.mjs