Mailspring/.appveyor.yml
Ben Gotow cff437e900
Upgrade to Electron 8, improve TS usage and TS errors outside calendar [requires re- npm install] (#2284)
* Shfit away from default exports and PropTypes for better TS support

* localize strings and expand use of types in WeekView, create new EventOccurence distinct from Event

* Remove calendar wrap, use TS enum for view type + consistent prop interface

* Bump Typescript to 3.8.3 and improve query / attribute / search typings

* Re-use the Autolinker for calendar event descriptions with aggressive phone detection

* Clean up WeekView and the editing popover, lots of cruft here

* Update ScrollRegion to initialize scrollbar provided by external ref

* Expose ScrollRegion’s resizeObserver to clean up tick interval tracking

* Simply tickGenerator and move it to a helper

* Bump to Electron 8.x for Chrome 75+ CSS features

* Bump Handlebars dep to fix annoying npm audit noise

* Remove electron-remote from electron-spellchecker

* Explicitly add node-gyp, why is this necessary?

* Fix lesslint issues

* Bump eslint and let it fix 133 issues

* Satisfy remaining eslint@2020 errors by hand

* Add tsc-watch npm script and fix all TS errors outside calendar

* Configure appveyor to publish all the pdb files it gets

* Log sync exit codes and signals for easier triage on Windows

* Upgrade npm, mark that the build process supports Node 11+ not just Node 11

* Resolve more errors

* Upgrade sqlite to be a context-aware native module

* Fix: Tab key no longer navigating into contenteditable because tabIndex not inferred

* Fix: Bad print styles because Chrome now adds more CSS of it’s own when doctype is missing

* Fix: before-navigate is now called after beforeunload
2021-02-14 15:58:22 -06:00

71 lines
2.8 KiB
YAML

version: '{build}'
branches:
only:
- master
- /ci.*/
- /stable.*/
skip_non_tags: true
init:
- ps: $env:commit = $env:appveyor_repo_commit.SubString(0,8)
install:
- ps: Install-Product node $env:NODE_VERSION
- ps: npm config set msvs_version 2015
# Extract the codesigning certs, encrypted private ssh key
- ps: |
C:\OpenSSL-Win32\bin\openssl.exe aes-256-cbc -K $env:encrypted_faf2708e46e2_key -iv $env:encrypted_faf2708e46e2_iv -in app/build/resources/certs.tar.enc -out app/build/resources/certs.tar -d;
mkdir app/build/resources/certs;
tar xvf app/build/resources/certs.tar --directory=app/build/resources/;
# Clone the submodule
- ps: |
$env:GIT_SSH_COMMAND="ssh -q -i app/build/resources/certs/mailsync-deploy-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no";
git submodule --quiet update --init mailsync *>$null
build_script:
- cmd: cd .\mailsync && .\build.cmd && cd ..\
- cmd: npm install && npm run build
- cmd: node app/build/create-signed-windows-installer.js
before_deploy:
- cmd: 7z -ttar a dummy %APPVEYOR_BUILD_FOLDER%\app\dist\*.dll %APPVEYOR_BUILD_FOLDER%\app\dist\*.pdb %APPVEYOR_BUILD_FOLDER%\app\dist\mailsync.exe -so | 7z -si -tgzip a .\app\dist\mailsync.tar.gz
- ps: Get-ChildItem .\app\dist\*.tar.gz | % { Push-AppveyorArtifact $_.FullName -FileName "win-ia32/$($_.Name)" -DeploymentName s3-deployment }
- ps: Get-ChildItem .\app\dist\MailspringSetup.exe | % { Push-AppveyorArtifact $_.FullName -FileName "win-ia32/$($_.Name)" -DeploymentName s3-deployment }
- ps: Get-ChildItem .\app\dist\*.nupkg | % { Push-AppveyorArtifact $_.FullName -FileName "win-ia32/$($_.Name)" -DeploymentName s3-deployment }
- ps: Get-ChildItem .\app\dist\RELEASES | % { Push-AppveyorArtifact $_.FullName -FileName "win-ia32/$($_.Name)" -DeploymentName s3-deployment }
deploy:
- provider: S3
name: s3-deployment
access_key_id: AKIAJQWOM4SPSY3TXI5Q
secret_access_key:
secure: XlLzz7sdvrtgi4g459NvxLfrH/+hOutb+0Osz29unfi4Zcw9N8H8SEaq6m3ZeWc+
region: us-east-1
bucket: mailspring-builds
folder: 'client/$(commit)'
set_public: true
# Stop Appveyor from "Discovering Tests" forever
test: off
environment:
matrix:
- NODE_VERSION: '11'
global:
SIGN_BUILD: true
WINDOWS_CODESIGN_CERT: .\app\build\resources\certs\win\win-codesigning.p12
WINDOWS_CODESIGN_CERT_PASSWORD:
secure: 3ddxqTBFv+xflIzypB0fNg==
encrypted_faf2708e46e2_key:
secure: mdegN/AldrADhtEop6mDwq6d4jUskzijK2X7Twf2lj9t3jdaW4OtMuJ5Ywyt+GN/N7qMFr7LOvxQ5gz4aoIW+Dg9d03AX3BH1o4BI6g+wdk=
encrypted_faf2708e46e2_iv:
secure: B2pwd1AlmQHjIpIau1NylfEMkwJJ5u7NhxgZcU8WicwP6+cmePnAacYIwpe1fXEf
cache:
- node_modules -> package.json
- app\node_modules -> app\package.json
- '%USERPROFILE%\.npm'