image: - Visual Studio 2017 branches: except: - l10n_master environment: WIN_PKG: C:\Users\appveyor\.pkg-cache\v2.5\fetched-v10.4.1-win-x64 init: - ps: | if($env:DEBUG_RDP -eq "true") { iex ((new-object net.webclient).DownloadString(` 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) } - ps: Install-Product node 10 - ps: | $env:PATH = "C:\Program Files (x86)\Resource Hacker;${env:PATH}" if(Test-Path -Path $env:WIN_PKG) { $env:VER_INFO = "true" } if($env:APPVEYOR_REPO_TAG -eq "true") { $tagName = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v") $env:RELEASE_NAME = "Version ${tagName}" } install: - ps: $env:PACKAGE_VERSION = (Get-Content -Raw -Path .\package.json | ConvertFrom-Json).version - ps: choco install reshack --no-progress - ps: choco install cloc --no-progress - ps: choco install checksum --no-progress - ps: cloc --include-lang TypeScript,JavaScript --vcs git - ps: .\scripts\make-versioninfo.ps1 before_build: - cmd: node --version - cmd: 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 - cmd: npm install - cmd: npm run dist - cmd: 7z a ./dist/bw-windows-%PACKAGE_VERSION%.zip ./dist/windows/bw.exe - cmd: 7z a ./dist/bw-macos-%PACKAGE_VERSION%.zip ./dist/macos/bw - cmd: 7z a ./dist/bw-linux-%PACKAGE_VERSION%.zip ./dist/linux/bw - ps: .\scripts\choco-pack.ps1 - ps: | checksum -f="./dist/bw-windows-${env:PACKAGE_VERSION}.zip" ` -t sha256 | Out-File ./dist/bw-windows-sha256-${env:PACKAGE_VERSION}.txt checksum -f="./dist/bw-macos-${env:PACKAGE_VERSION}.zip" ` -t sha256 | Out-File ./dist/bw-macos-sha256-${env:PACKAGE_VERSION}.txt checksum -f="./dist/bw-linux-${env:PACKAGE_VERSION}.zip" ` -t sha256 | Out-File ./dist/bw-linux-sha256-${env:PACKAGE_VERSION}.txt on_finish: - ps: | if($env:DEBUG_RDP -eq "true") { $blockRdp = $true iex ((new-object net.webclient).DownloadString(` 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) } artifacts: - path: dist/bw-windows-%PACKAGE_VERSION%.zip - path: dist/bw-macos-%PACKAGE_VERSION%.zip - path: dist/bw-linux-%PACKAGE_VERSION%.zip - path: dist/bw-windows-sha256-%PACKAGE_VERSION%.txt - path: dist/bw-macos-sha256-%PACKAGE_VERSION%.txt - path: dist/bw-linux-sha256-%PACKAGE_VERSION%.txt - path: dist/chocolatey/bitwarden-cli.%PACKAGE_VERSION%.nupkg cache: - 'C:\Users\appveyor\.pkg-cache\ -> package.json' deploy: tag: $(APPVEYOR_REPO_TAG_NAME) release: $(RELEASE_NAME) provider: GitHub auth_token: $(GH_TOKEN) artifact: /.*/ force_update: true on: branch: master APPVEYOR_REPO_TAG: true