[MM-55341][MM-56894] Use electron-builder
to create the MSI installer, drop support for 32-bit Windows and the NSIS installer (#3028)
* Drop 32-bit windows support * Remove unnecessary after build script * Enable MSI build from electron-builder * Copy MSI installers correctly * Change script to `windows-installer` * Revert "Remove unnecessary after build script" This reverts commit 65b1cccb063656916a7d12c440792ad013dff826. * Fix duplicate installers when updating to EXE version * Inject the app-update.yml from the NSIS installer into the MSI, have the MSI uninstall the EXE if it exists * Cleanup old MSI builder, switch actions to use new process * Sign PR builds * Update to use absolute paths * Use env variable paths
This commit is contained in:
5
.github/workflows/build-for-pr.yml
vendored
5
.github/workflows/build-for-pr.yml
vendored
@@ -113,7 +113,6 @@ jobs:
|
||||
node-gyp install
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch arm64
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch ia32
|
||||
- name: ci/install-dependencies
|
||||
if: steps.cache-node-modules.outputs.cache-hit != 'true'
|
||||
env:
|
||||
@@ -123,6 +122,10 @@ jobs:
|
||||
- name: ci/build
|
||||
env:
|
||||
MM_WIN_INSTALLERS: 1
|
||||
PFX_KEY: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_PFX_KEY }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_CSC_KEY_PASSWORD }}
|
||||
PFX: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_PFX }}
|
||||
CSC_LINK: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_CSC_LINK }}
|
||||
run: |
|
||||
mkdir -p ./build/win
|
||||
npm run package:windows
|
||||
|
1
.github/workflows/ci.yaml
vendored
1
.github/workflows/ci.yaml
vendored
@@ -114,7 +114,6 @@ jobs:
|
||||
node-gyp install
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch arm64
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch ia32
|
||||
- name: ci/install-dependencies
|
||||
if: steps.cache-node-modules.outputs.cache-hit != 'true'
|
||||
env:
|
||||
|
@@ -168,7 +168,6 @@ jobs:
|
||||
node-gyp install
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch arm64
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch ia32
|
||||
npm ci --openssl_fips=''
|
||||
npm i robotjs
|
||||
npx electron-rebuild --platform=win32 -f -t prod,optional,dev -w robotjs
|
||||
|
7
.github/workflows/nightly-main.yml
vendored
7
.github/workflows/nightly-main.yml
vendored
@@ -72,19 +72,14 @@ jobs:
|
||||
node-version-file: "package.json"
|
||||
cache: "npm"
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: nightly/optimize
|
||||
shell: powershell
|
||||
run: ./scripts/Makefile.ps1 optimize
|
||||
- name: nightly/install-deps
|
||||
shell: powershell
|
||||
run: |
|
||||
./scripts/Makefile.ps1 install-deps
|
||||
choco install yq --version 4.15.1 -y
|
||||
npm i -g node-gyp
|
||||
node-gyp install
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch arm64
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch ia32
|
||||
npm ci --openssl_fips=''
|
||||
- name: nightly/test
|
||||
uses: ./.github/actions/test
|
||||
@@ -96,7 +91,7 @@ jobs:
|
||||
CSC_KEY_PASSWORD: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_CSC_KEY_PASSWORD }}
|
||||
PFX: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_PFX }}
|
||||
CSC_LINK: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_CSC_LINK }}
|
||||
run: ./scripts/Makefile.ps1 build
|
||||
run: npm run package:windows-installers
|
||||
- name: nightly/package
|
||||
run: |
|
||||
mkdir -p ./build/win-release
|
||||
|
7
.github/workflows/nightly-rainforest.yml
vendored
7
.github/workflows/nightly-rainforest.yml
vendored
@@ -39,19 +39,14 @@ jobs:
|
||||
node-version-file: "package.json"
|
||||
cache: "npm"
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: nightly/optimize
|
||||
shell: powershell
|
||||
run: ./scripts/Makefile.ps1 optimize
|
||||
- name: nightly/install-deps
|
||||
shell: powershell
|
||||
run: |
|
||||
./scripts/Makefile.ps1 install-deps
|
||||
choco install yq --version 4.15.1 -y
|
||||
npm i -g node-gyp
|
||||
node-gyp install
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch arm64
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch ia32
|
||||
npm ci --openssl_fips=''
|
||||
- name: nightly/test
|
||||
uses: ./.github/actions/test
|
||||
@@ -63,7 +58,7 @@ jobs:
|
||||
CSC_KEY_PASSWORD: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_CSC_KEY_PASSWORD }}
|
||||
PFX: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_PFX }}
|
||||
CSC_LINK: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_CSC_LINK }}
|
||||
run: ./scripts/Makefile.ps1 build
|
||||
run: npm run package:windows-installers
|
||||
- name: nightly/package
|
||||
run: |
|
||||
mkdir -p ./build/win
|
||||
|
7
.github/workflows/release.yaml
vendored
7
.github/workflows/release.yaml
vendored
@@ -84,19 +84,14 @@ jobs:
|
||||
node-version-file: "package.json"
|
||||
cache: "npm"
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: release/optimize
|
||||
shell: powershell
|
||||
run: ./scripts/Makefile.ps1 optimize
|
||||
- name: release/install-deps
|
||||
shell: powershell
|
||||
run: |
|
||||
./scripts/Makefile.ps1 install-deps
|
||||
choco install yq --version 4.15.1 -y
|
||||
npm i -g node-gyp
|
||||
node-gyp install
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch arm64
|
||||
node-gyp install --devdir="C:\Users\runneradmin\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers" --arch ia32
|
||||
npm ci --openssl_fips=''
|
||||
- name: release/test
|
||||
uses: ./.github/actions/test
|
||||
@@ -109,7 +104,7 @@ jobs:
|
||||
PFX: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_PFX }}
|
||||
CSC_LINK: ${{ secrets.MM_DESKTOP_MSI_INSTALLER_CSC_LINK }}
|
||||
run: |
|
||||
./scripts/Makefile.ps1 build
|
||||
npm run package:windows-installers
|
||||
- name: release/package
|
||||
run: |
|
||||
mkdir -p ./build/win-release
|
||||
|
Reference in New Issue
Block a user