image: - Visual Studio 2017 - Ubuntu1804 branches: except: - l10n_master 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) { Install-Product node 10 } 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) { choco install cloc --no-progress cloc --include-lang TypeScript,JavaScript,HTML,Sass,CSS --vcs git } before_build: - node --version - npm --version # Get new $SNAP_TOKEN with: # $ snapcraft export-login --snaps bitwarden --acls package_push,package_release - - sh: | if [ "${SNAP_TOKEN}" != "" -a "${PROD_DEPLOY}" == "true" ] then sudo apt-get update sudo apt-get -y install snapd sudo snap install snapcraft --classic echo "$SNAP_TOKEN" | snapcraft login --with - fi - ps: | if($isWindows -and $env:CHOCO_API_KEY -ne $null -and $env:PROD_DEPLOY -eq "true") { choco apikey --key $env:CHOCO_API_KEY --source https://push.chocolatey.org/ } build_script: - npm install - npm run lint - ps: | if($isLinux) { npm run dist:lin Push-AppveyorArtifact ./dist/Bitwarden-${env:PACKAGE_VERSION}-x86_64.AppImage Push-AppveyorArtifact ./dist/bitwarden_${env:PACKAGE_VERSION}_amd64.snap Push-AppveyorArtifact ./dist/Bitwarden-${env:PACKAGE_VERSION}-amd64.deb Push-AppveyorArtifact ./dist/Bitwarden-${env:PACKAGE_VERSION}-x64.freebsd Push-AppveyorArtifact ./dist/Bitwarden-${env:PACKAGE_VERSION}-x86_64.rpm } else { npm run dist:win:ci Rename-Item -Path .\dist\Bitwarden-${env:PACKAGE_VERSION}-x64.appx ` -NewName Bitwarden-${env:PACKAGE_VERSION}-x64-store.appx Rename-Item -Path .\dist\Bitwarden-${env:PACKAGE_VERSION}-ia32.appx ` -NewName Bitwarden-${env:PACKAGE_VERSION}-ia32-store.appx Push-AppveyorArtifact .\dist\Bitwarden-Portable-${env:PACKAGE_VERSION}.exe Push-AppveyorArtifact .\dist\nsis-web\Bitwarden-Installer-${env:PACKAGE_VERSION}.exe Push-AppveyorArtifact .\dist\Bitwarden-${env:PACKAGE_VERSION}-x64-store.appx Push-AppveyorArtifact .\dist\Bitwarden-${env:PACKAGE_VERSION}-ia32-store.appx } after_build: - ps: | if($env:PROD_DEPLOY -eq "true") { if($isLinux) { echo "Deploy Linux..." ./scripts/snap-update.ps1 -version $env:PACKAGE_VERSION } else { echo "Deploy Windows..." .\scripts\choco-update.ps1 -version $env:PACKAGE_VERSION Push-AppveyorArtifact .\dist\chocolatey\bitwarden.${env:PACKAGE_VERSION}.nupkg } } - sh: | if [ "${SNAP_TOKEN}" != "" -a "${PROD_DEPLOY}" == "true" ] then snapcraft logout fi 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' - 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: .*(\.nupkg|_store\.appx)$ force_update: true on: branch: master APPVEYOR_REPO_TAG: true PROD_DEPLOY: true