Mailspring/.appveyor.yml
2021-01-05 21:59:08 -06:00

72 lines
2.7 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\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'