Skip to content
This repository has been archived by the owner on May 17, 2021. It is now read-only.

COMPASS-4127: Rollback electron-winstaller to 2.5.1 #110

Merged
merged 1 commit into from
Feb 3, 2020

Conversation

imlucas
Copy link
Contributor

@imlucas imlucas commented Feb 3, 2020

Todo

Description

Rollback electron-winstaller to 2.5.1 for now. Don't upgrade until BUILD-2932 is done.

  • Fixes COMPASS-4127
  • Answers BUILD-10250

Notes

Evergreen windows builds started failing with the electron 6 update:

[2020/01/31 12:47:29.021] ×  Error: Error: Failed with exit code: 4294967295
--
[2020/01/31 12:47:29.021] Output:
[2020/01/31 12:47:29.021] System.AggregateException: One or more errors occurred. ---> System.Exception: Failed to sign, command invoked was: '.\signtool.exe sign yes C:\Users\mci-exec\AppData\Local\SquirrelTemp\tempa\lib\net45\ffmpeg.dll'
[2020/01/31 12:47:29.021]    at Squirrel.Update.Program.<signPEFile>d__17.MoveNext()

Normally, Failed with exit code: 4294967295 means the signtool.exe notary service client is getting a 500 service error due to an outage.

However, all other OS were signing with no issues see BUILD-10250.

cd /cygdrive/z/data/mci/src/dist/MongoDBCompassDev-win32-x64;

$ ../../signtool.exe sign yes ffmpeg.dll
2020/02/03 16:34:55 Signing service didn't return a permalink

$ ../../signtool.exe sign yes libEGL.dll
2020/02/03 16:35:14 Signing service didn't return a permalink

$ ../../signtool.exe sign yes MongoDBCompassDev.exe
Worked
$ ../../signtool.exe sign yes Squirrel.exe
Worked

So, it can't be a service issue and must be something related to the changes to hadron-build for COMPASS-3933 electron 6 support.

Only a handful of commits and e3ff85c9303bc43e56976226d10d6b9897324b66
electron-winstaller was upgraded from 2.5.1 to 4.0.0. This changed the effective version of the Squirrel.Windows framework electron uses for win32 auto-update:

In electron-winstaller@2.5.2 ➡️ squirrel.windows@1.5.2:

Releasify now disallows non-Semver versions

While using non-Semver versions in your NuGet package was always incorrect and resulted in undefined behavior, due to #868, these are now a full non-starter. We now require packages to have Semver-compatible versions names. Note that this doesn't affect your EXE versions, which can still use all four Win32 version numbers.

Bug Fixes

  • Allow uppercase characters in SemVer versions (#924, thanks)
  • Sign DLL and .node files during Releasify
  • Ensure that Stub Executables pass along their parameters to the target

And now the facepalm moment; BUILD-2932 (created in 2017) as the notary service doesn't support dll signing the way we need it to.

- [ ] BUILD ticket: notary service dll support

e3ff85c
`electron-winstaller` was upgraded from `2.5.1` to `4.0.0`.

`electron-winstaller@2.5.1.` ➡️  [squirrel.windows@1.5.1](https://github.com/Squirrel/Squirrel.Windows/releases/tag/1.5.1)
`electron-winstaller@>=3.0.0` ➡️ [squirrel.windows@1.9.1](https://github.com/Squirrel/Squirrel.Windows/releases/tag/1.5.1)

In `electron-winstaller@2.5.2` ➡️ [squirrel.windows@1.5.2](https://github.com/Squirrel/Squirrel.Windows/releases/tag/1.5.2)

> ## Releasify now disallows non-Semver versions
>
> While using non-Semver versions in your NuGet package was always incorrect and resulted in undefined behavior, due to #868, these are now a full non-starter. We now require packages to have Semver-compatible versions names. Note that this doesn't affect your EXE versions, which can still use all four Win32 version numbers.
>
> ## Bug Fixes
>
> - Allow uppercase characters in SemVer versions (#924, thanks @runehalfdan)
> - Sign DLL and .node files during Releasify
> - Ensure that Stub Executables pass along their parameters to the target
@imlucas imlucas requested a review from durran February 3, 2020 17:35
@imlucas imlucas merged commit 3134dff into master Feb 3, 2020
@imlucas imlucas deleted the rollback-electron-winstaller branch February 3, 2020 17:36
imlucas added a commit to mongodb-js/compass that referenced this pull request Feb 3, 2020
Evergreen:
https://evergreen.mongodb.com/version/5e386060e3c3311158f8f2e2

## Todo

- [x] [COMPASS-4129](https://jira.mongodb.org/browse/COMPASS-4129) created to properly fix what this PR is working around
- [x] and it has dependency on [BUILD-2932](https://jira.mongodb.org/browse/BUILD-2932): notary service dll support

## Description

Rollback `electron-winstaller` to `2.5.1` for now. Don't upgrade until [BUILD-2932](https://jira.mongodb.org/browse/BUILD-2932) is done.

* Fixes COMPASS-4127 
* Answers BUILD-10250

## Notes

[Evergreen windows builds](https://evergreen.mongodb.com/task/10gen_compass_master_windows_package_and_publish_compass_3d7b0895c3d7ed4aada6f997286a8a57d7f835b5_20_01_31_17_33_22) started failing with the electron 6 update:

```
[2020/01/31 12:47:29.021] ×  Error: Error: Failed with exit code: 4294967295
--
[2020/01/31 12:47:29.021] Output:
[2020/01/31 12:47:29.021] System.AggregateException: One or more errors occurred. ---> System.Exception: Failed to sign, command invoked was: '.\signtool.exe sign yes C:\Users\mci-exec\AppData\Local\SquirrelTemp\tempa\lib\net45\ffmpeg.dll'
[2020/01/31 12:47:29.021]    at Squirrel.Update.Program.<signPEFile>d__17.MoveNext()
```

Normally, `Failed with exit code: 4294967295` means [the signtool.exe notary service client](https://jira.mongodb.org/browse/BUILD-920) is getting a 500 service error due to an outage.

However, all other OS were signing with no issues  [see BUILD-10250](https://jira.mongodb.org/browse/BUILD-10250).

```
cd /cygdrive/z/data/mci/src/dist/MongoDBCompassDev-win32-x64;

$ ../../signtool.exe sign yes ffmpeg.dll
2020/02/03 16:34:55 Signing service didn't return a permalink

$ ../../signtool.exe sign yes libEGL.dll
2020/02/03 16:35:14 Signing service didn't return a permalink

$ ../../signtool.exe sign yes MongoDBCompassDev.exe
Worked
$ ../../signtool.exe sign yes Squirrel.exe
Worked
```

So, it can't be a service issue and must be something related to the changes to `hadron-build` for COMPASS-3933 electron 6 support.

Only a handful of commits and [e3ff85c9303bc43e56976226d10d6b9897324b66](mongodb-js/hadron-build@e3ff85c)
`electron-winstaller` was upgraded from `2.5.1` to `4.0.0`. This changed the effective version of the [Squirrel.Windows](https://github.com/Squirrel/Squirrel.Windows) framework electron uses for win32 auto-update:

* `electron-winstaller@2.5.1.` ➡️  [squirrel.windows@1.5.1](https://github.com/Squirrel/Squirrel.Windows/releases/tag/1.5.1)
* `electron-winstaller@>=3.0.0` ➡️ [squirrel.windows@1.9.1](https://github.com/Squirrel/Squirrel.Windows/releases/tag/1.9.1)

In `electron-winstaller@2.5.2` ➡️ [squirrel.windows@1.5.2](https://github.com/Squirrel/Squirrel.Windows/releases/tag/1.5.2):

> ### Releasify now disallows non-Semver versions
>
> While using non-Semver versions in your NuGet package was always incorrect and resulted in undefined behavior, due to #868, these are now a full non-starter. We now require packages to have Semver-compatible versions names. Note that this doesn't affect your EXE versions, which can still use all four Win32 version numbers.
>
> ### Bug Fixes
>
> - Allow uppercase characters in SemVer versions (#924, thanks)
> - Sign DLL and .node files during Releasify
> - Ensure that Stub Executables pass along their parameters to the target

And now the facepalm moment; [BUILD-2932](https://jira.mongodb.org/browse/BUILD-2932) (created in 2017) as the notary service doesn't support dll signing the way we need it to.

## Motivation and Context

- [x] Dependency update

## Dependents

mongodb-js/hadron-build#110

## Types of changes

- [x] Patch (non-breaking change which fixes an issue)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant