--- 'version': 2 'plan': 'project-key': 'AGH' 'key': 'AHBRTSPECS' 'name': 'AdGuard Home - Build and run tests' 'variables': 'dockerFrontend': 'adguard/home-js-builder:2.0' 'dockerGo': 'adguard/go-builder:1.23.1--1' 'channel': 'development' 'stages': - 'Tests': 'manual': false 'final': false 'jobs': - 'Test frontend' - 'Test backend' - 'Frontend': manual: false final: false jobs: - 'Build frontend' - 'Artifact': manual: false final: false jobs: - 'Artifact' 'Test frontend': 'docker': 'image': '${bamboo.dockerFrontend}' 'volumes': '${system.YARN_DIR}': '${bamboo.cacheYarn}' 'key': 'JSTEST' 'other': 'clean-working-dir': true 'tasks': - 'checkout': 'force-clean-build': true - 'script': 'interpreter': 'SHELL' 'scripts': - | #!/bin/sh set -e -f -u -x make VERBOSE=1 js-deps js-lint js-test 'final-tasks': - 'clean' 'requirements': - 'adg-docker': 'true' # TODO(e.burkov): Add the linting stage for markdown docs and shell scripts. 'Test backend': 'docker': 'image': '${bamboo.dockerGo}' 'volumes': '${system.GO_CACHE_DIR}': '${bamboo.cacheGo}' '${system.GO_PKG_CACHE_DIR}': '${bamboo.cacheGoPkg}' 'key': 'GOTEST' 'other': 'clean-working-dir': true 'tasks': - 'checkout': 'force-clean-build': true - 'script': 'interpreter': 'SHELL' 'scripts': - | #!/bin/sh set -e -f -u -x make\ GOMAXPROCS=1\ VERBOSE=1\ go-deps go-tools go-lint make\ VERBOSE=1\ go-test 'final-tasks': - 'clean' 'requirements': - 'adg-docker': 'true' 'Build frontend': 'artifacts': - 'name': 'AdGuardHome frontend' 'pattern': 'build/**' 'shared': true 'required': true 'docker': 'image': '${bamboo.dockerFrontend}' 'volumes': '${system.YARN_DIR}': '${bamboo.cacheYarn}' 'key': 'BF' 'other': 'clean-working-dir': true 'tasks': - 'checkout': 'force-clean-build': true - 'script': 'interpreter': 'SHELL' 'scripts': - |- #!/bin/sh set -e -f -u -x make\ VERBOSE=1\ js-deps js-build 'requirements': - 'adg-docker': 'true' 'Artifact': 'artifact-subscriptions': - 'artifact': 'AdGuardHome frontend' 'artifacts': - 'name': 'AdGuardHome_windows_amd64' 'pattern': 'dist/AdGuardHome_windows_amd64.zip' 'shared': true 'required': true - 'name': 'AdGuardHome_darwin_amd64' 'pattern': 'dist/AdGuardHome_darwin_amd64.zip' 'shared': true 'required': true - 'name': 'AdGuardHome_linux_amd64' 'pattern': 'dist/AdGuardHome_linux_amd64.tar.gz' 'shared': true 'required': true 'docker': 'image': '${bamboo.dockerGo}' 'volumes': '${system.GO_CACHE_DIR}': '${bamboo.cacheGo}' '${system.GO_PKG_CACHE_DIR}': '${bamboo.cacheGoPkg}' 'key': 'ART' 'other': 'clean-working-dir': true 'tasks': # TODO(e.burkov): !! Remove after test. - 'checkout': 'repository': 'bamboo-deploy-publisher' # The paths are always relative to the working directory. 'path': 'bamboo-deploy-publisher' 'force-clean-build': true - 'checkout': 'force-clean-build': true - 'script': 'interpreter': 'SHELL' 'scripts': - |- #!/bin/sh set -e -f -u -x # TODO(e.burkov): !! remove ls -l -a . ls -l -a .. # Explicitly checkout the revision that we need. git checkout "${bamboo.repository.revision.number}" # Run the build with the specified channel. echo "${bamboo.gpgSecretKeyPart1}${bamboo.gpgSecretKeyPart2}"\ | awk '{ gsub(/\\n/, "\n"); print; }'\ | gpg --import --batch --yes make\ ARCH="amd64"\ CHANNEL=${bamboo.channel}\ GPG_KEY_PASSPHRASE=${bamboo.gpgPassword}\ DEPLOY_SCRIPT_PATH="../bamboo-deploy-publisher/deploy.sh"\ SIGNER_API_KEY="${bamboo.adguardHomeWinSignerSecretApiKey}"\ FRONTEND_PREBUILT=1\ OS="windows darwin linux"\ PARALLELISM=1\ SIGN=1\ VERBOSE=2\ build-release 'requirements': - 'adg-docker': 'true' 'branches': 'create': 'for-pull-request' 'delete': 'after-deleted-days': 1 'after-inactive-days': 5 'integration': 'push-on-success': false 'merge-from': 'AdGuard Home - Build and run tests' 'link-to-jira': true 'notifications': - 'events': - 'plan-status-changed' 'recipients': - 'webhook': 'name': 'Build webhook' 'url': 'http://prod.jirahub.service.eu.consul/v1/webhook/bamboo' 'labels': [] 'other': 'concurrent-build-plugin': 'system-default' 'branch-overrides': # rc-vX.Y.Z branches are the release candidate branches. They are created # from the release branch and are used to build the release candidate # images. - '^rc-v[0-9]+\.[0-9]+\.[0-9]+': # Set the default release channel on the release branch to beta, as we # may need to build a few of these. 'variables': 'dockerFrontend': 'adguard/home-js-builder:2.0' 'dockerGo': 'adguard/go-builder:1.23.1--1' 'channel': 'candidate'