110 lines
4.7 KiB
YAML
110 lines
4.7 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: windows
|
|
|
|
platform:
|
|
os: windows
|
|
#arch: amd64
|
|
version: 1809
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: openpriv/flutter-desktop:windows-sdk30-fdev2.3rc
|
|
environment:
|
|
buildbot_key_b64:
|
|
from_secret: buildbot_key_b64
|
|
commands:
|
|
#- # force by pass of ssh host key check, less secure
|
|
#- ssh-keyscan -H git.openprivacy.ca >> ..\known_hosts
|
|
- echo $Env:buildbot_key_b64 > ..\id_rsa.b64
|
|
- certutil -decode ..\id_rsa.b64 ..\id_rsa
|
|
- git init
|
|
# -o UserKnownHostsFile=../known_hosts
|
|
- git config core.sshCommand 'ssh -o StrictHostKeyChecking=no -i ../id_rsa'
|
|
- git remote add origin gogs@git.openprivacy.ca:flutter/flutter_app.git
|
|
- git pull origin trunk
|
|
- git fetch --tags
|
|
- git checkout $DRONE_COMMIT
|
|
|
|
- name: fetch
|
|
image: openpriv/flutter-desktop:windows-sdk30-fdev2.3rc
|
|
commands:
|
|
- powershell -command "Invoke-WebRequest -Uri https://dist.torproject.org/torbrowser/10.0.18/tor-win64-0.4.5.9.zip -OutFile tor.zip"
|
|
- powershell -command "if ((Get-FileHash tor.zip -Algorithm sha512).Hash -ne '72764eb07ad8ab511603aba0734951ca003989f5f4686af91ba220217b4a8a4bcc5f571b59f52c847932f6efedf847b111621983050fcddbb8099d43ca66fb07' ) { Write-Error 'tor.zip sha512sum mismatch' }"
|
|
- git describe --tags > VERSION
|
|
- powershell -command "Get-Date -Format 'yyyy-MM-dd-HH-mm'" > BUILDDATE
|
|
- .\fetch-libcwtch-go.ps1
|
|
|
|
- name: build-windows
|
|
image: openpriv/flutter-desktop:windows-sdk30-fdev2.3rc
|
|
commands:
|
|
- flutter pub get
|
|
- $Env:version += type .\VERSION
|
|
- $Env:builddate += type .\BUILDDATE
|
|
- $Env:releasedir = "build\\windows\\runner\\Release\\"
|
|
- flutter build windows --dart-define BUILD_VER=$Env:version --dart-define BUILD_DATE=$Env:builddate
|
|
- copy windows\libCwtch.dll $Env:releasedir
|
|
# flutter hasn't worked out it's packaging of required dll's so we have to resort to this manual nonsense
|
|
# https://github.com/google/flutter-desktop-embedding/issues/587
|
|
# https://github.com/flutter/flutter/issues/53167
|
|
- copy C:\BuildTools\VC\Redist\MSVC\14.29.30036\x64\Microsoft.VC142.CRT\vcruntime140.dll $Env:releasedir
|
|
- copy C:\BuildTools\VC\Redist\MSVC\14.29.30036\x64\Microsoft.VC142.CRT\vcruntime140_1.dll $Env:releasedir
|
|
- copy C:\BuildTools\VC\Redist\MSVC\14.29.30036\x64\Microsoft.VC142.CRT\msvcp140.dll $Env:releasedir
|
|
- powershell -command "Expand-Archive -Path tor.zip -DestinationPath $Env:releasedir\Tor"
|
|
|
|
- name: package-windows
|
|
image: openpriv/nsis:latest
|
|
environment:
|
|
pfx:
|
|
from_secret: pfx
|
|
pfx_pass:
|
|
from_secret: pfx_pass
|
|
commands:
|
|
- $Env:version += type .\VERSION
|
|
- $Env:builddate += type .\BUILDDATE
|
|
- $Env:releasedir = "build\\windows\\runner\\Release\\"
|
|
- $Env:zip = 'cwtch-' + $Env:version + '.zip'
|
|
- $Env:zipsha = $Env:zip + '.sha512'
|
|
- $Env:msix = 'cwtch-install-' + $Env:version + '.msix'
|
|
- $Env:msixsha = $Env:msix + '.sha512'
|
|
- $Env:buildname = 'flwtch-win-' + $Env:version + '-' + $Env:builddate
|
|
- $Env:builddir = $Env:buildname
|
|
- echo $Env:pfx > codesign.pfx.b64
|
|
- certutil -decode codesign.pfx.b64 codesign.pfx
|
|
- signtool sign /v /fd sha256 /a /f codesign.pfx /p $Env:pfx_pass /tr http://timestamp.digicert.com $Env:releasedir\cwtch.exe
|
|
- copy windows\runner\resources\knot_128.ico $Env:releasedir\cwtch.ico
|
|
- makensis windows\nsis\cwtch-installer.nsi
|
|
- move windows\nsis\cwtch-installer.exe cwtch-installer.exe
|
|
- signtool sign /v /fd sha256 /a /f codesign.pfx /p $Env:pfx_pass /tr http://timestamp.digicert.com cwtch-installer.exe
|
|
- powershell -command "(Get-FileHash cwtch-installer.exe -Algorithm sha512).Hash" > cwtch-installer.sha512
|
|
- mkdir deploy
|
|
- mkdir deploy\$Env:builddir
|
|
- move $Env:releasedir $Env:builddir
|
|
- powershell -command "Compress-Archive -Path $Env:builddir -DestinationPath cwtch.zip"
|
|
- powershell -command "(Get-FileHash cwtch.zip -Algorithm sha512).Hash" > $Env:zipsha
|
|
- move cwtch-installer.exe deploy\$Env:builddir\cwtch-installer.exe
|
|
- move cwtch.zip deploy\$Env:builddir\$Env:zip
|
|
- move *.sha512 deploy\$Env:builddir
|
|
|
|
- name: deploy-windows
|
|
image: openpriv/flutter-desktop:windows-sdk30-fdev2.3rc
|
|
when:
|
|
event: push
|
|
status: [ success ]
|
|
environment:
|
|
BUILDFILES_KEY:
|
|
from_secret: buildfiles_key
|
|
commands:
|
|
- echo $Env:BUILDFILES_KEY > id_rsab64
|
|
- certutil -decode id_rsab64 id_rsa
|
|
- scp -r -o StrictHostKeyChecking=no -i id_rsa deploy\\* buildfiles@openprivacy.ca:/home/buildfiles/buildfiles/
|
|
|
|
trigger:
|
|
repo: flutter/flutter_app
|
|
branch: trunk
|
|
event:
|
|
- push
|