146 lines
4.8 KiB
YAML
146 lines
4.8 KiB
YAML
image:
|
|
- Visual Studio 2019
|
|
- Ubuntu1804
|
|
|
|
branches:
|
|
except:
|
|
- l10n_master
|
|
- gh-pages
|
|
|
|
configuration: Release
|
|
|
|
stack: node 10
|
|
|
|
init:
|
|
- sh: |
|
|
if [ "${DEBUG_SSH}" == "true" ]
|
|
then
|
|
curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
|
|
fi
|
|
- 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'))
|
|
}
|
|
- ps: |
|
|
if($env:APPVEYOR_REPO_TAG -eq "true") {
|
|
$tagName = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v")
|
|
$env:RELEASE_NAME = "Version ${tagName}"
|
|
}
|
|
|
|
install:
|
|
- sh: |
|
|
curl -sflL 'https://raw.githubusercontent.com/appveyor/secure-file/master/install.sh' | bash -e -
|
|
./appveyor-tools/secure-file -decrypt ./store/fdroid/keystore.jks.enc -secret $FDROID_KEYSTORE_ENC_PASSWORD
|
|
- sh: npm install
|
|
- sh: |
|
|
sudo apt-get -qq update
|
|
sudo apt-get -qqy install --no-install-recommends fdroidserver wget
|
|
- sh: |
|
|
if [ "${APPVEYOR_REPO_TAG}" == "true" -a "${GH_TOKEN}" != "" ]
|
|
then
|
|
git config --global credential.helper store
|
|
echo "https://${GH_TOKEN}:x-oauth-basic@github.com" >> ~/.git-credentials
|
|
git config --global user.email "ci@bitwarden.com"
|
|
git config --global user.name "Bitwarden CI"
|
|
fi
|
|
- cmd: choco install cloc --no-progress
|
|
- cmd: "cloc --vcs git --exclude-dir Resources,store,test,Properties --include-lang C#,XAML"
|
|
#- cmd: appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
|
|
#- cmd: appveyor DownloadFile https://aka.ms/vs/15/release/vs_community.exe
|
|
#- cmd: vs_community.exe update --wait --quiet --norestart --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
|
|
#- cmd: ps: .\src\Android\update-android.ps1
|
|
|
|
before_build:
|
|
- ps: |
|
|
if($isWindows) {
|
|
nuget restore
|
|
if($env:KEYSTORE_DEC_SECRET -or $env:GOOGLE_SERVICES_DEC_SECRET -or $env:PLAY_DEC_SECRET) {
|
|
nuget install secure-file -ExcludeVersion
|
|
}
|
|
if($env:GOOGLE_SERVICES_DEC_SECRET) {
|
|
secure-file\tools\secure-file -decrypt src\Android\google-services.json.enc `
|
|
-secret $env:GOOGLE_SERVICES_DEC_SECRET
|
|
}
|
|
}
|
|
|
|
build_script:
|
|
- sh: |
|
|
if [ "${APPVEYOR_REPO_TAG}" == "true" ]
|
|
then
|
|
mkdir dist
|
|
cp CNAME ./dist
|
|
cd store
|
|
chmod 600 fdroid/config.py fdroid/keystore.jks
|
|
mkdir -p temp/fdroid
|
|
TEMP_DIR="$APPVEYOR_BUILD_FOLDER/store/temp/fdroid"
|
|
cd fdroid
|
|
echo "keypass=\"$FDROID_KEYSTORE_PASSWORD\"" >>config.py
|
|
echo "keystorepass=\"$FDROID_KEYSTORE_PASSWORD\"" >>config.py
|
|
echo "local_copy_dir=\"$TEMP_DIR\"" >>config.py
|
|
mkdir -p repo
|
|
curl -Lo repo/com.x8bit.bitwarden-fdroid.apk \
|
|
https://github.com/bitwarden/mobile/releases/download/$APPVEYOR_REPO_TAG_NAME/com.x8bit.bitwarden-fdroid.apk
|
|
fdroid update
|
|
fdroid server update
|
|
cd ..
|
|
rm -rf temp/fdroid/archive
|
|
mv -v temp/fdroid ../dist
|
|
cd fdroid
|
|
cp index.html btn.png qr.png ../../dist/fdroid
|
|
cd $APPVEYOR_BUILD_FOLDER
|
|
fi
|
|
- ps: |
|
|
if($isWindows -and $env:KEYSTORE_DEC_SECRET) {
|
|
msbuild bitwarden-mobile.sln `
|
|
"/logger:C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" `
|
|
"/p:Configuration=Release"
|
|
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
|
|
.\src\Android\ci-build-apks.ps1
|
|
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
|
|
Push-AppveyorArtifact .\com.x8bit.bitwarden.apk
|
|
Push-AppveyorArtifact .\com.x8bit.bitwarden-fdroid.apk
|
|
}
|
|
|
|
on_success:
|
|
- sh: |
|
|
if [ "${APPVEYOR_REPO_TAG}" == "true" -a "${GH_TOKEN}" != "" ]
|
|
then
|
|
npm run deploy
|
|
fi
|
|
- ps: |
|
|
if($isWindows -and $env:PLAY_DEC_SECRET) {
|
|
secure-file\tools\secure-file -decrypt store\google\Publisher\play_creds.json.enc -secret $env:PLAY_DEC_SECRET
|
|
cd store\google\Publisher\bin\Release\netcoreapp2.0
|
|
dotnet Publisher.dll `
|
|
$env:APPVEYOR_BUILD_FOLDER\store\google\Publisher\play_creds.json `
|
|
$env:APPVEYOR_BUILD_FOLDER\com.x8bit.bitwarden.apk `
|
|
alpha
|
|
cd $env:APPVEYOR_BUILD_FOLDER
|
|
}
|
|
|
|
on_finish:
|
|
- sh: |
|
|
if [ "${DEBUG_SSH}" == "true" ]
|
|
then
|
|
export APPVEYOR_SSH_BLOCK=true
|
|
curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
|
|
fi
|
|
- 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'))
|
|
}
|
|
|
|
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
|