Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: v23.0.0 alpha #6556

Merged
merged 21 commits into from
Jan 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
7c822b4
Adding INPUTxxx and OUTPUTxxx CHARSETS to makensis
mmaietta Dec 29, 2021
05e1a10
Adding additional details to error console logging
mmaietta Dec 29, 2021
924e12b
Breaking change: Removing Bintray support since it was sunset. Ref: h…
mmaietta Dec 29, 2021
19e674b
fix: force strip path separators for backslashes on Windows
mmaietta Dec 29, 2021
2a43c9b
fix: Force authentication for local Mac Squirrel update server
mmaietta Dec 29, 2021
5052014
Breaking Change: Fail-fast for signature verification failures. Addin…
mmaietta Dec 29, 2021
df0ea3c
Adding changeset and eslint
mmaietta Dec 31, 2021
67b84ad
Fix error: `-OUTPUTCHARSET is disabled for non Win32 platforms.`
mmaietta Dec 31, 2021
475f083
feat(mac): ElectronAsarIntegrity in electron@15 (#6511)
indutny-signal Jan 7, 2022
dcbb05d
fix(msi): MSI fails to install when deployed machine-wide via GPO (#6…
aplum Jan 7, 2022
6a116b0
Don't set GitHub Releases draft title since it automatically pulls it…
Sep 20, 2021
21224e2
Merge commit 'd835aba702caa3efc7788c7c1c0b1e11638ee4c1' into v23.0.0-…
Jan 10, 2022
ffadee1
Merge commit '5225b89b6839ff3ecadf19bf7b74bc0febc14aa3' into v23.0.0-…
Jan 11, 2022
604b17b
Merge commit '5648e05a9efa61f81e788ecf538a617df9f65fe1' into v23.0.0-…
Jan 12, 2022
c5f8b08
feat(snap): add lzo to Snap compression options (also as new default)…
om26er Jan 12, 2022
04a3f14
feat(msi): add fileAssociation support for MSI target (#6530)
aplum Jan 12, 2022
8446034
fix: stabilizing tests by moving updater tests to its own node to exp…
Jan 15, 2022
fc780b6
chore: synchronizing docs and schema plus prettier
Jan 15, 2022
0b5deb9
Adding changset to set as alpha
Jan 16, 2022
a73fa6c
Updating changeset documentation
Jan 16, 2022
c073f90
feat(msi): support assisted installer for MSI target (#6550)
aplum Jan 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/cool-ladybugs-matter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": minor
---

feat(msi): support assisted installer for MSI target
5 changes: 5 additions & 0 deletions .changeset/giant-dryers-beg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": minor
---

feat(msi): add fileAssociation support for MSI target
6 changes: 6 additions & 0 deletions .changeset/giant-dryers-copy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"app-builder-lib": patch
---

fix(win): iconId sometimes containing invalid characters, and iconId config option being ignored.
fix(msi): change the fallback value for generated MSI Ids to a unique string for the product.
5 changes: 5 additions & 0 deletions .changeset/healthy-peaches-deliver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

fix(msi): MSI fails to install when deployed machine-wide via GPO
18 changes: 18 additions & 0 deletions .changeset/nervous-buckets-dance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"app-builder-lib": major
"builder-util": major
"builder-util-runtime": major
"electron-publish": major
"electron-updater": major
---

Breaking changes
Removing Bintray support since it was sunset. Ref: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
Fail-fast for windows signature verification failures. Adding `-LiteralPath` to update file path to disregard injected wildcards
Force strip path separators for backslashes on Windows during update process
Force authentication for local mac squirrel update server

Fixes:
fix(nsis): Adding --INPUTCHARSET to makensis. (#4898 #6232 #6259)

Adding additional details to error console logging
5 changes: 5 additions & 0 deletions .changeset/nervous-pandas-film.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": minor
---

feat(mac): ElectronAsarIntegrity in electron@15
20 changes: 20 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"mode": "pre",
"tag": "alpha",
"initialVersions": {
"app-builder-lib": "22.14.13",
"builder-util": "22.14.13",
"builder-util-runtime": "8.9.2",
"dmg-builder": "22.14.13",
"electron-builder": "22.14.13",
"electron-builder-squirrel-windows": "22.14.13",
"electron-forge-maker-appimage": "22.14.13",
"electron-forge-maker-nsis": "22.14.13",
"electron-forge-maker-nsis-web": "22.14.13",
"electron-forge-maker-snap": "22.14.13",
"electron-publish": "22.14.13",
"electron-updater": "4.6.5",
"@electron-builder/test": "0.0.0"
},
"changesets": []
}
5 changes: 5 additions & 0 deletions .changeset/serious-peas-help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": major
---

BREAKING CHANGE: remove MSI option `iconId`
12 changes: 12 additions & 0 deletions .changeset/spicy-crabs-draw.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"app-builder-lib": minor
"builder-util": major
---

Default to LZO compression for snap packages.
This greatly improves cold startup performance (https://snapcraft.io/blog/why-lzo-was-chosen-as-the-new-compression-method).
LZO has already been adopted by most desktop-oriented snaps outside of the Electron realm.

For the rare case where developers prefer a smaller file size (XZ) to vastly improved decompression performance (LZO), provided an option to override the default compression method.

Consumers do not need to update their configuration unless they specifically want to stick to XZ compression.
42 changes: 42 additions & 0 deletions .github/actions/pretest/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: 'Setup Tests'
description: 'Set up pnpm, node w/ pnpm cache, install and audit deps, compile, and restore electron cache'
inputs:
cache-key:
description: 'The key to the electron cache'
required: true
cache-path:
description: 'The path to the electron cache'
required: true

runs:
using: 'composite'
steps:
- uses: pnpm/action-setup@v2
with:
version: 6.25.1

- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'pnpm'

- name: install dependencies
run: pnpm install --frozen-lockfile
shell: bash

- name: Compile
run: pnpm compile
shell: bash

- name: Cache Electron
uses: actions/cache@v2
with:
path: ${{ inputs.cache-path }}
key: ${{ inputs.cache-key }}

## Usage
# - name: Setup Tests
# uses: ./.github/actions/pretest
# with:
# cache-path: ~/Library/Caches/electron
# cache-key: v-11.0.0-macos-electron
85 changes: 43 additions & 42 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,14 @@ jobs:
with:
fetch-depth: 0

- name: Install deps and audit
uses: ./.github/actions/pnpm
- name: Setup Tests
uses: ./.github/actions/pretest
with:
cache-path: ~/.cache/electron
cache-key: v-11.0.0-linux-electron

- name: Lint
run: pnpm pretest

- name: Determine if Dockerfiles changed
id: changed-files
Expand All @@ -37,15 +43,6 @@ jobs:
if: ${{ github.event.inputs.build-docker-locally == 'true' }} || contains(steps.changed-files.outputs.all_changed_files, 'Dockerfile') || contains(steps.changed-files.outputs.all_changed_files, 'docker')
run: pnpm docker-images

- name: Compile and Lint
run: pnpm pretest

- name: Cache ~/.cache/electron
uses: actions/cache@v2
with:
path: ~/.cache/electron
key: v-11.0.0-electron

- name: Run tests in docker image
run: pnpm test-linux
env:
Expand All @@ -54,60 +51,64 @@ jobs:

test-mac:
runs-on: macos-latest
strategy:
matrix:
testFiles:
- masTest,dmgTest,protonTest
steps:
- name: Checkout code repository
uses: actions/checkout@v2

- name: Install deps and audit
uses: ./.github/actions/pnpm
- name: Setup Tests
uses: ./.github/actions/pretest
with:
cache-path: ~/Library/Caches/electron
cache-key: v-11.0.0-macos-electron

- name: Compile
run: pnpm compile

- name: Cache ~/Library/Caches/electron
uses: actions/cache@v2
- name: Test
run: pnpm ci:test
env:
TEST_FILES: masTest,dmgTest,protonTest
FORCE_COLOR: 1

# Need to separate from other tests because logic is specific to when TOKEN env vars are set
test-updater:
runs-on: macos-latest
steps:
- name: Checkout code repository
uses: actions/checkout@v2

- name: Setup Tests
uses: ./.github/actions/pretest
with:
path: ~/Library/Caches/electron
key: v-11.0.0-mac-electron
cache-path: ~/Library/Caches/electron
cache-key: v-11.0.0-update-electron

- name: Test
run: node ./test/out/helpers/runTests.js
run: pnpm ci:test
env:
TEST_FILES: ${{ matrix.testFiles }}
TEST_FILES: nsisUpdaterTest
KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
# BITBUCKET_TOKEN: ${{ secrets.BITBUCKET_TOKEN }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
FORCE_COLOR: 1

test-windows:
runs-on: windows-2019
runs-on: windows-latest
strategy:
matrix:
testFiles:
- installerTest,appxTest,msiTest,portableTest,assistedInstallerTest
- oneClickInstallerTest,nsisUpdaterTest,winCodeSignTest,winPackagerTest,webInstallerTest
- installerTest,appxTest,msiTest,portableTest,assistedInstallerTest,protonTest
- oneClickInstallerTest,winCodeSignTest,winPackagerTest,webInstallerTest
steps:
- name: Checkout code repository
uses: actions/checkout@v2

- name: Install deps and audit
uses: ./.github/actions/pnpm

- name: Compile
run: pnpm compile

- name: Cache ~\AppData\Local\Cache\electron
uses: actions/cache@v2
- name: Setup Tests
uses: ./.github/actions/pretest
with:
path: ~\AppData\Local\Cache\electron
key: v-11.0.0-windows-electron
cache-path: ~\AppData\Local\Cache\electron
cache-key: v-11.0.0-windows-electron

- name: Test
run: node ./test/out/helpers/runTests.js
run: pnpm ci:test
env:
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
TEST_FILES: ${{ matrix.testFiles }}
FORCE_COLOR: 1
2 changes: 1 addition & 1 deletion docker/base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ RUN apt-get -qq update && apt-get -qq dist-upgrade && \
apt-get -qq install --no-install-recommends \
qtbase5-dev build-essential autoconf libssl-dev gcc-multilib g++-multilib \
lzip rpm python libcurl4 git git-lfs ssh unzip libarchive-tools \
libxtst6 libsecret-1-dev libopenjp2-tools \
libxtst6 libsecret-1-dev libopenjp2-tools liblzo2-2 \
&& \
# git-lfs
git lfs install && \
Expand Down
6 changes: 3 additions & 3 deletions docs/api/electron-builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -1364,7 +1364,7 @@ return path.join(target.outDir, <code>__${target.name}-${getArtifactArchName(arc
<p><strong>Kind</strong>: class of <a href="#module_electron-publish"><code>electron-publish</code></a><br/>
<strong>Properties</strong></p>
<ul>
<li><strong><code id="Publisher-providerName">providerName</code></strong> String</li>
<li><strong><code id="Publisher-providerName">providerName</code></strong> “github” | “s3” | “spaces” | “generic” | “custom” | “snapStore” | “keygen” | “bitbucket”</li>
</ul>
<p><strong>Methods</strong></p>
<ul>
Expand Down Expand Up @@ -1709,7 +1709,7 @@ return path.join(target.outDir, <code>__${target.name}-${getArtifactArchName(arc
<tbody>
<tr>
<td>options</td>
<td><code><a href="/configuration/publish#publishconfiguration">PublishConfiguration</a></code> | <code>String</code> | <code><a href="/configuration/publish#githuboptions">GithubOptions</a></code> | <code><a href="/configuration/publish#s3options">S3Options</a></code> | <code><a href="/configuration/publish#spacesoptions">SpacesOptions</a></code> | <code><a href="/configuration/publish#genericserveroptions">GenericServerOptions</a></code> | <code><a href="/configuration/publish#bintrayoptions">BintrayOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.CustomPublishOptions</code> | <code>module:builder-util-runtime/out/publishOptions.KeygenOptions</code> | <code><a href="/configuration/publish#snapstoreoptions">SnapStoreOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.BitbucketOptions</code> | <code>String</code></td>
<td><code><a href="/configuration/publish#publishconfiguration">PublishConfiguration</a></code> | <code>String</code> | <code><a href="/configuration/publish#githuboptions">GithubOptions</a></code> | <code><a href="/configuration/publish#s3options">S3Options</a></code> | <code><a href="/configuration/publish#spacesoptions">SpacesOptions</a></code> | <code><a href="/configuration/publish#genericserveroptions">GenericServerOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.CustomPublishOptions</code> | <code>module:builder-util-runtime/out/publishOptions.KeygenOptions</code> | <code><a href="/configuration/publish#snapstoreoptions">SnapStoreOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.BitbucketOptions</code> | <code>String</code></td>
<td>If you want to override configuration in the <code>app-update.yml</code>.</td>
</tr>
</tbody>
Expand Down Expand Up @@ -1834,7 +1834,7 @@ This is different from the normal quit event sequence.</p>
<tbody>
<tr>
<td>options</td>
<td><code><a href="/configuration/publish#publishconfiguration">PublishConfiguration</a></code> | <code>String</code> | <code><a href="/configuration/publish#githuboptions">GithubOptions</a></code> | <code><a href="/configuration/publish#s3options">S3Options</a></code> | <code><a href="/configuration/publish#spacesoptions">SpacesOptions</a></code> | <code><a href="/configuration/publish#genericserveroptions">GenericServerOptions</a></code> | <code><a href="/configuration/publish#bintrayoptions">BintrayOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.CustomPublishOptions</code> | <code>module:builder-util-runtime/out/publishOptions.KeygenOptions</code> | <code><a href="/configuration/publish#snapstoreoptions">SnapStoreOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.BitbucketOptions</code> | <code>String</code></td>
<td><code><a href="/configuration/publish#publishconfiguration">PublishConfiguration</a></code> | <code>String</code> | <code><a href="/configuration/publish#githuboptions">GithubOptions</a></code> | <code><a href="/configuration/publish#s3options">S3Options</a></code> | <code><a href="/configuration/publish#spacesoptions">SpacesOptions</a></code> | <code><a href="/configuration/publish#genericserveroptions">GenericServerOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.CustomPublishOptions</code> | <code>module:builder-util-runtime/out/publishOptions.KeygenOptions</code> | <code><a href="/configuration/publish#snapstoreoptions">SnapStoreOptions</a></code> | <code>module:builder-util-runtime/out/publishOptions.BitbucketOptions</code> | <code>String</code></td>
<td>If you want to override configuration in the <code>app-update.yml</code>.</td>
</tr>
</tbody>
Expand Down
3 changes: 3 additions & 0 deletions docs/configuration/snap.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ The top-level [snap](configuration.md#Configuration-snap) key contains set of op
<li>
<p><code id="SnapOptions-title">title</code> String | “undefined” - An optional title for the snap, may contain uppercase letters and spaces. Defaults to <code>productName</code>. See <a href="https://snapcraft.io/docs/snap-format">snap format documentation</a>.</p>
</li>
<li>
<p><code id="SnapOptions-compression">compression</code> = <code>lzo</code> “xz” | “lzo” | “undefined” - Sets the compression type for the snap. Can be xz or lzo. Defaults to lzo when not specified.</p>
</li>
</ul>
<p>Inherited from <code>CommonLinuxOptions</code>:</p>
<ul>
Expand Down
2 changes: 1 addition & 1 deletion docs/generated/LinuxTargetSpecificOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<p><code id="LinuxTargetSpecificOptions-depends">depends</code> Array&lt;String&gt; | “undefined” - Package dependencies.</p>
</li>
<li>
<p><code id="LinuxTargetSpecificOptions-compression">compression</code> = <code>xz</code> “gz” | “bzip2” | “xz” | “undefined” - The compression type.</p>
<p><code id="LinuxTargetSpecificOptions-compression">compression</code> = <code>xz</code> “gz” | “bzip2” | “xz” | “lzo” | “undefined” - The compression type.</p>
</li>
<li>
<p><code id="LinuxTargetSpecificOptions-icon">icon</code> String</p>
Expand Down
2 changes: 1 addition & 1 deletion docs/generated/PlatformSpecificBuildOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
</li>
<li>
<p><code id="FileAssociation-icon">icon</code> String | “undefined” - The path to icon (<code>.icns</code> for MacOS and <code>.ico</code> for Windows), relative to <code>build</code> (build resources directory). Defaults to <code>${firstExt}.icns</code>/<code>${firstExt}.ico</code> (if several extensions specified, first is used) or to application icon.</p>
<p>Not supported on Linux, file issue if need (default icon will be <code>x-office-document</code>).</p>
<p>Not supported on Linux, file issue if need (default icon will be <code>x-office-document</code>). Not supported on MSI.</p>
</li>
<li>
<p><code id="FileAssociation-role">role</code> = <code>Editor</code> String - <em>macOS-only</em> The app’s role with respect to the type. The value can be <code>Editor</code>, <code>Viewer</code>, <code>Shell</code>, or <code>None</code>. Corresponds to <code>CFBundleTypeRole</code>.</p>
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,19 @@
"lint": "eslint packages --ext .ts",
"lint-staged": "lint-staged",
"lint-deps": "node ./test/out/helpers/checkDeps.js",
"pretest": "pnpm compile && pnpm lint && pnpm lint-deps",
"pretest": "pnpm lint && pnpm lint-deps",
"prettier": "prettier 'packages/**/*.{ts, js}' 'test/src/**/*.ts' --write",
"///": "Please see https://github.com/electron-userland/electron-builder/blob/master/CONTRIBUTING.md#run-test-using-cli how to run particular test instead full (and very slow) run",
"test": "node ./test/out/helpers/runTests.js skipArtifactPublisher",
"test-all": "pnpm pretest && node ./test/out/helpers/runTests.js",
"test-all": "pnpm compile && pnpm pretest && pnpm ci:test",
"test-linux": "docker run --rm -e UPDATE_SNAPSHOT=${UPDATE_SNAPSHOT:-false} -e TEST_FILES=\"${TEST_FILES:-HoistedNodeModuleTest}\" -v $(pwd):/project -v $(pwd)-node-modules:/project/node_modules -v $HOME/Library/Caches/electron:/root/.cache/electron -v $HOME/Library/Caches/electron-builder:/root/.cache/electron-builder electronuserland/builder:wine-mono /bin/bash -c \"pnpm install && node ./test/out/helpers/runTests.js\"",
"test-update": "UPDATE_SNAPSHOT=true pnpm test-all",
"docker-images": "docker/build.sh",
"docker-push": "docker/push.sh",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md",
"generate-changeset": "pnpm changeset",
"generate-docs": "pnpm compile && pnpm jsdoc && pnpm jsdoc2md2html",
"ci:test": "node ./test/out/helpers/runTests.js",
"ci:version": "pnpm changelog && changeset version && node scripts/update-package-version-export.js && pnpm run generate-docs && git add .",
"ci:publish": "pnpm compile && pnpm publish -r && changeset tag",
"schema": "typescript-json-schema packages/app-builder-lib/tsconfig-scheme.json Configuration --out packages/app-builder-lib/scheme.json --noExtraProps --useTypeOfKeyword --strictNullChecks --required && node ./scripts/fix-schema.js",
Expand Down
Loading