image: - Visual Studio 2017 - Ubuntu1804 branches: except: - l10n_master - gh-pages services: - docker stack: node 10 init: - ps: | if($isWindows) { Install-Product node 10 } install: - ps: | $env:PACKAGE_VERSION = (Get-Content -Raw -Path .\package.json | ConvertFrom-Json).version $env:PUSH_DOCKER = "false" $env:PROD_DEPLOY = "false" $env:TAG_NAME = "" if($env:APPVEYOR_REPO_TAG -eq "true" -and $env:APPVEYOR_RE_BUILD -eq "True") { $env:PROD_DEPLOY = "true" $env:TAG_NAME = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v") echo "This is a production deployment for ${env:TAG_NAME}." } if("${env:DOCKER_USERNAME}" -ne "" -and "${env:DOCKER_PASSWORD}" -ne "") { $env:PUSH_DOCKER = "true" } if($isWindows) { choco install cloc --no-progress cloc --include-lang TypeScript,JavaScript,HTML,Sass,CSS --vcs git } before_build: - node --version - npm --version - sh: | if [ "${PUSH_DOCKER}" == "true" ] then echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin fi - cmd: set "GIT_PATH=C:\Program Files\Git\mingw64\libexec\git-core" - cmd: set "PATH=%GIT_PATH%;%PATH%" build_script: - sh: chmod +x ./build.sh - ps: | if($isLinux) { ./build.sh ./build.sh tag dev if($env:PROD_DEPLOY -eq "true") { ./build.sh tag beta ./build.sh tag $env:TAG_NAME } docker images if($env:PUSH_DOCKER -eq "true") { ./build.sh push dev if($env:PROD_DEPLOY -eq "true") { ./build.sh push beta ./build.sh push latest ./build.sh push $env:TAG_NAME } } } - cmd: npm install - cmd: npm run build:prod after_build: - sh: | if [ "${PUSH_DOCKER}" == "true" ] then docker logout fi