Add signed Windows installer package to the "Arduino Pro IDE" workflow

The previous "zip" Windows package is retained, but an installer is also produced.
This commit is contained in:
per1234 2020-10-13 16:01:32 -07:00
parent e755a1cd7e
commit 7068b9b1d3
4 changed files with 35 additions and 27 deletions

View File

@ -25,8 +25,6 @@ jobs:
# - os: rsora-rpi-arm # self-hosted armhf # - os: rsora-rpi-arm # self-hosted armhf
runs-on: ${{ matrix.config.os }} runs-on: ${{ matrix.config.os }}
timeout-minutes: 90 timeout-minutes: 90
env:
CERTIFICATE_PATH: /tmp/macos_signing_certificate.p12
steps: steps:
- name: Checkout - name: Checkout
@ -43,13 +41,6 @@ jobs:
with: with:
python-version: '2.7' python-version: '2.7'
- name: Generate signing certificate file [macOS]
if: runner.OS == 'macOS'
run: |
# APPLE_SIGNING_CERTIFICATE_P12 secret was produced by following the procedure from:
# https://www.kencochrane.com/2020/08/01/build-and-sign-golang-binaries-for-macos-with-github-actions/#exporting-the-developer-certificate
echo "${{ secrets.APPLE_SIGNING_CERTIFICATE_P12 }}" | base64 --decode > "${{ env.CERTIFICATE_PATH }}"
- name: Package - name: Package
shell: bash shell: bash
env: env:
@ -62,12 +53,22 @@ jobs:
IS_NIGHTLY: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master') }} IS_NIGHTLY: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master') }}
IS_RELEASE: ${{ startsWith(github.ref, 'refs/tags/') }} IS_RELEASE: ${{ startsWith(github.ref, 'refs/tags/') }}
run: | run: |
# electron-builder will try to sign during the Windows job if these environment variables are defined # See: https://www.electron.build/code-signing
if [ "${{ runner.OS }}" = "macOS" ]; then if [ "${{ runner.OS }}" = "macOS" ]; then
# See: https://www.electron.build/code-signing export CSC_LINK="${{ runner.temp }}/signing_certificate.p12"
export CSC_LINK="${{ env.CERTIFICATE_PATH }}" # APPLE_SIGNING_CERTIFICATE_P12 secret was produced by following the procedure from:
# https://www.kencochrane.com/2020/08/01/build-and-sign-golang-binaries-for-macos-with-github-actions/#exporting-the-developer-certificate
echo "${{ secrets.APPLE_SIGNING_CERTIFICATE_P12 }}" | base64 --decode > "$CSC_LINK"
export CSC_KEY_PASSWORD="${{ secrets.KEYCHAIN_PASSWORD }}" export CSC_KEY_PASSWORD="${{ secrets.KEYCHAIN_PASSWORD }}"
elif [ "${{ runner.OS }}" = "Windows" ]; then
export CSC_LINK="${{ runner.temp }}/signing_certificate.pfx"
echo "${{ secrets.WINDOWS_SIGNING_CERTIFICATE_PFX }}" | base64 --decode > "$CSC_LINK"
export CSC_KEY_PASSWORD="${{ secrets.WINDOWS_SIGNING_CERTIFICATE_PASSWORD }}"
fi fi
yarn --cwd ./electron/packager/ yarn --cwd ./electron/packager/
yarn --cwd ./electron/packager/ package yarn --cwd ./electron/packager/ package

View File

@ -8,16 +8,17 @@ You can download the latest version of the Arduino Pro IDE application for the s
#### Latest version #### Latest version
Platform | 32 bit | 64 bit | Platform | 32 bit | 64 bit |
--------- | ------------------------ | ------------------------ | --------- | ------------------------ | ---------------------------------------------------- |
Linux | | [Linux 64 bit] | Linux | | [Linux 64 bit] |
Linux ARM | [🚧 Work in progress...] | [🚧 Work in progress...] | Linux ARM | [🚧 Work in progress...] | [🚧 Work in progress...] |
Windows | | [Windows 64 bit] | Windows | | [Windows 64 bit installer]<br />[Windows 64 bit ZIP] |
macOS | | [macOS 64 bit] | macOS | | [macOS 64 bit] |
[🚧 Work in progress...]: https://github.com/arduino/arduino-pro-ide/issues/287 [🚧 Work in progress...]: https://github.com/arduino/arduino-pro-ide/issues/287
[Linux 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_Linux_64bit.zip [Linux 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_Linux_64bit.zip
[Windows 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_Windows_64bit.zip [Windows 64 bit installer]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_Windows_64bit.exe
[Windows 64 bit ZIP]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_Windows_64bit.zip
[macOS 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_macOS_64bit.dmg [macOS 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_macOS_64bit.dmg
#### Previous versions #### Previous versions
@ -30,16 +31,17 @@ These builds are generated every day at 03:00 GMT from the `master` branch and
should be considered unstable. In order to get the latest nightly build should be considered unstable. In order to get the latest nightly build
available for the supported platform, use the following links: available for the supported platform, use the following links:
Platform | 32 bit | 64 bit | Platform | 32 bit | 64 bit |
--------- | ------------------------ | ------------------------ | --------- | ------------------------ | -------------------------------------------------------------------- |
Linux | | [Nightly Linux 64 bit] | Linux | | [Nightly Linux 64 bit] |
Linux ARM | [🚧 Work in progress...] | [🚧 Work in progress...] | Linux ARM | [🚧 Work in progress...] | [🚧 Work in progress...] |
Windows | | [Nightly Windows 64 bit] | Windows | | [Nightly Windows 64 bit installer]<br />[Nightly Windows 64 bit ZIP] |
macOS | | [Nightly macOS 64 bit] | macOS | | [Nightly macOS 64 bit] |
[🚧 Work in progress...]: https://github.com/arduino/arduino-pro-ide/issues/287 [🚧 Work in progress...]: https://github.com/arduino/arduino-pro-ide/issues/287
[Nightly Linux 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_Linux_64bit.zip [Nightly Linux 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_Linux_64bit.zip
[Nightly Windows 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_Windows_64bit.zip [Nightly Windows 64 bit installer]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_Windows_64bit.exe
[Nightly Windows 64 bit ZIP]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_Windows_64bit.zip
[Nightly macOS 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_macOS_64bit.dmg [Nightly macOS 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_macOS_64bit.dmg
> These links return an HTTP `302: Found` response, redirecting to latest > These links return an HTTP `302: Found` response, redirecting to latest

View File

@ -77,6 +77,7 @@
], ],
"win": { "win": {
"target": [ "target": [
"nsis",
"zip" "zip"
] ]
}, },
@ -99,6 +100,10 @@
"category": "Development", "category": "Development",
"icon": "resources/icons" "icon": "resources/icons"
}, },
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true
},
"dmg": { "dmg": {
"icon": "resources/icon.icns", "icon": "resources/icon.icns",
"iconSize": 128, "iconSize": 128,

View File

@ -280,7 +280,7 @@ ${fs.readFileSync(path('..', 'build', 'package.json')).toString()}
break; break;
} }
case 'win32': { case 'win32': {
filesToCopy.push(...glob.sync('**/arduino-pro-ide*.zip', { cwd }).map(p => join(cwd, p))); filesToCopy.push(...glob.sync('**/arduino-pro-ide*.{exe,zip}', { cwd }).map(p => join(cwd, p)));
break; break;
} }
case 'darwin': { case 'darwin': {