mirror of
https://github.com/bitwarden/directory-connector
synced 2025-12-05 23:53:21 +00:00
163 lines
6.1 KiB
YAML
163 lines
6.1 KiB
YAML
image:
|
|
- Visual Studio 2017
|
|
- Ubuntu1804
|
|
|
|
branches:
|
|
except:
|
|
- l10n_master
|
|
|
|
environment:
|
|
WIN_PKG: C:\Users\appveyor\.pkg-cache\v2.5\fetched-v10.4.1-win-x64
|
|
|
|
stack: node 10
|
|
|
|
init:
|
|
- ps: |
|
|
if($isWindows -and $env:DEBUG_RDP -eq "true") {
|
|
iex ((new-object net.webclient).DownloadString(`
|
|
'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
}
|
|
- sh: sudo apt-get update
|
|
- sh: sudo apt-get -y install pkg-config libxss-dev libsecret-1-dev rpm
|
|
- ps: |
|
|
if($isWindows) {
|
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
|
Install-Product node 10
|
|
$env:PATH = "C:\Program Files (x86)\Resource Hacker;${env:PATH}"
|
|
}
|
|
if($env:APPVEYOR_REPO_TAG -eq "true") {
|
|
$env:RELEASE_NAME = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v")
|
|
}
|
|
|
|
install:
|
|
- ps: |
|
|
$env:PACKAGE_VERSION = (Get-Content -Raw -Path .\src\package.json | ConvertFrom-Json).version
|
|
$env:PROD_DEPLOY = "false"
|
|
if($env:APPVEYOR_REPO_TAG -eq "true" -and $env:APPVEYOR_RE_BUILD -eq "True") {
|
|
$env:PROD_DEPLOY = "true"
|
|
echo "This is a production deployment."
|
|
}
|
|
if($isWindows) {
|
|
if(Test-Path -Path $env:WIN_PKG) {
|
|
$env:VER_INFO = "true"
|
|
}
|
|
choco install reshack --no-progress
|
|
choco install cloc --no-progress
|
|
choco install checksum --no-progress
|
|
cloc --include-lang TypeScript,JavaScript,HTML,Sass,CSS --vcs git
|
|
.\make-versioninfo.ps1
|
|
}
|
|
- ps: |
|
|
if($isWindows) {
|
|
$keytarVersion = (Get-Content -Raw -Path .\src\package.json | ConvertFrom-Json).dependencies.keytar
|
|
$nodeModVersion = node -e "console.log(process.config.variables.node_module_version)"
|
|
$keytarTar = "keytar-v${keytarVersion}-node-v${nodeModVersion}-{0}-x64.tar"
|
|
$keytarTarGz = "${keytarTar}.gz"
|
|
$keytarUrl = "https://github.com/atom/node-keytar/releases/download/v${keytarVersion}/${keytarTarGz}"
|
|
|
|
New-Item -ItemType directory -Path .\keytar\macos | Out-Null
|
|
New-Item -ItemType directory -Path .\keytar\linux | Out-Null
|
|
New-Item -ItemType directory -Path .\keytar\windows | Out-Null
|
|
|
|
Invoke-RestMethod -Uri $($keytarUrl -f "darwin") -OutFile ".\keytar\macos\$($keytarTarGz -f "darwin")"
|
|
Invoke-RestMethod -Uri $($keytarUrl -f "linux") -OutFile ".\keytar\linux\$($keytarTarGz -f "linux")"
|
|
Invoke-RestMethod -Uri $($keytarUrl -f "win32") -OutFile ".\keytar\windows\$($keytarTarGz -f "win32")"
|
|
|
|
7z e ".\keytar\macos\$($keytarTarGz -f "darwin")" -o".\keytar\macos"
|
|
7z e ".\keytar\linux\$($keytarTarGz -f "linux")" -o".\keytar\linux"
|
|
7z e ".\keytar\windows\$($keytarTarGz -f "win32")" -o".\keytar\windows"
|
|
|
|
7z e ".\keytar\macos\$($keytarTar -f "darwin")" -o".\keytar\macos"
|
|
7z e ".\keytar\linux\$($keytarTar -f "linux")" -o".\keytar\linux"
|
|
7z e ".\keytar\windows\$($keytarTar -f "win32")" -o".\keytar\windows"
|
|
}
|
|
|
|
before_build:
|
|
- node --version
|
|
- npm --version
|
|
|
|
build_script:
|
|
- cmd: |
|
|
if defined VER_INFO ResourceHacker -open %WIN_PKG% -save %WIN_PKG% -action delete -mask ICONGROUP,1,
|
|
if defined VER_INFO ResourceHacker -open version-info.rc -save version-info.res -action compile
|
|
if defined VER_INFO ResourceHacker -open %WIN_PKG% -save %WIN_PKG% -action addoverwrite -resource version-info.res
|
|
- sh: npm install
|
|
- sh: npm run rebuild
|
|
- sh: npm run dist:lin
|
|
- cmd: npm install
|
|
- cmd: npm run rebuild
|
|
- cmd: npm run dist:win:ci
|
|
- cmd: npm run reset
|
|
- cmd: npm run dist:cli
|
|
- cmd: 7z a ./dist-cli/bwdc-windows-%PACKAGE_VERSION%.zip ./dist-cli/windows/bwdc.exe ./keytar/windows/keytar.node
|
|
- cmd: 7z a ./dist-cli/bwdc-macos-%PACKAGE_VERSION%.zip ./dist-cli/macos/bwdc ./keytar/macos/keytar.node
|
|
- cmd: 7z a ./dist-cli/bwdc-linux-%PACKAGE_VERSION%.zip ./dist-cli/linux/bwdc ./keytar/linux/keytar.node
|
|
- ps: |
|
|
if($isWindows) {
|
|
Expand-Archive -Path "./dist-cli/bwdc-windows-${env:PACKAGE_VERSION}.zip" -DestinationPath "./test/windows"
|
|
$testVersion = Invoke-Expression '& ./test/windows/bwdc.exe -v'
|
|
if($testVersion -ne $env:PACKAGE_VERSION) {
|
|
Throw "Version test failed."
|
|
}
|
|
}
|
|
- ps: |
|
|
if($isWindows) {
|
|
checksum -f="./dist-cli/bwdc-windows-${env:PACKAGE_VERSION}.zip" `
|
|
-t sha256 | Out-File ./dist-cli/bwdc-windows-sha256-${env:PACKAGE_VERSION}.txt
|
|
checksum -f="./dist-cli/bwdc-macos-${env:PACKAGE_VERSION}.zip" `
|
|
-t sha256 | Out-File ./dist-cli/bwdc-macos-sha256-${env:PACKAGE_VERSION}.txt
|
|
checksum -f="./dist-cli/bwdc-linux-${env:PACKAGE_VERSION}.zip" `
|
|
-t sha256 | Out-File ./dist-cli/bwdc-linux-sha256-${env:PACKAGE_VERSION}.txt
|
|
}
|
|
- ps: |
|
|
if($isLinux) {
|
|
Push-AppveyorArtifact ./dist/Bitwarden-Connector-${env:PACKAGE_VERSION}-x86_64.AppImage
|
|
}
|
|
else {
|
|
Push-AppveyorArtifact .\dist\Bitwarden-Connector-Portable-${env:PACKAGE_VERSION}.exe
|
|
Push-AppveyorArtifact .\dist\Bitwarden-Connector-Installer-${env:PACKAGE_VERSION}.exe
|
|
Push-AppveyorArtifact .\dist-cli\bwdc-windows-${env:PACKAGE_VERSION}.zip
|
|
Push-AppveyorArtifact .\dist-cli\bwdc-macos-${env:PACKAGE_VERSION}.zip
|
|
Push-AppveyorArtifact .\dist-cli\bwdc-linux-${env:PACKAGE_VERSION}.zip
|
|
Push-AppveyorArtifact .\dist-cli\bwdc-windows-sha256-${env:PACKAGE_VERSION}.txt
|
|
Push-AppveyorArtifact .\dist-cli\bwdc-macos-sha256-${env:PACKAGE_VERSION}.txt
|
|
Push-AppveyorArtifact .\dist-cli\bwdc-linux-sha256-${env:PACKAGE_VERSION}.txt
|
|
}
|
|
|
|
on_finish:
|
|
- ps: |
|
|
if($isWindows -and $env:DEBUG_RDP -eq "true") {
|
|
$blockRdp = $true
|
|
iex ((new-object net.webclient).DownloadString(`
|
|
'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
}
|
|
|
|
for:
|
|
-
|
|
matrix:
|
|
only:
|
|
- image: Visual Studio 2017
|
|
cache:
|
|
- '%LOCALAPPDATA%\electron'
|
|
- '%LOCALAPPDATA%\electron-builder'
|
|
- 'C:\Users\appveyor\.pkg-cache\'
|
|
|
|
-
|
|
matrix:
|
|
only:
|
|
- image: Ubuntu1804
|
|
cache:
|
|
- '/home/appveyor/.cache/electron'
|
|
- '/home/appveyor/.cache/electron-builder'
|
|
|
|
deploy:
|
|
tag: $(APPVEYOR_REPO_TAG_NAME)
|
|
release: $(RELEASE_NAME)
|
|
provider: GitHub
|
|
auth_token: $(GH_TOKEN)
|
|
artifact: /.*\.(zip|txt)/,
|
|
force_update: true
|
|
on:
|
|
branch: master
|
|
APPVEYOR_REPO_TAG: true
|