+clean-deb:
+ rm -f $(WORKSPACE)/*.deb
+
+clean-rpm:
+ rm -f $(WORKSPACE)/*.rpm
+
+clean-node-modules:
+ rm -rf $(WORKSPACE)/node_modules
+
+clean: clean-rpm clean-deb clean-node-modules
+
+arvados-server-install: check-arvados-directory
+ cd $(ARVADOS_DIRECTORY)
+ go mod download
+ cd cmd/arvados-server
+ echo GOPATH is $(GOPATH)
+ GOFLAGS=-buildvcs=false go install
+ cd -
+ ls -l $(GOPATH)/bin/arvados-server
+ $(GOPATH)/bin/arvados-server install -type test
+
+yarn-install: arvados-server-install
+ yarn install
+
+unit-tests: yarn-install
+ yarn test --no-watchAll --bail --ci
+
+integration-tests: yarn-install check-arvados-directory
+ yarn run cypress install
+ $(WORKSPACE)/tools/run-integration-tests.sh -a $(ARVADOS_DIRECTORY)
+
+integration-tests-in-docker: workbench2-build-image check-arvados-directory
+ docker run -ti -v$(PWD):/usr/src/workbench2 -v$(ARVADOS_DIRECTORY):/usr/src/arvados -w /usr/src/workbench2 -e ARVADOS_DIRECTORY=/usr/src/arvados workbench2-build make integration-tests
+
+unit-tests-in-docker: workbench2-build-image check-arvados-directory
+ docker run -ti -v$(PWD):/usr/src/workbench2 -v$(ARVADOS_DIRECTORY):/usr/src/arvados -w /usr/src/workbench2 -e ARVADOS_DIRECTORY=/usr/src/arvados workbench2-build make unit-tests
+
+tests-in-docker: workbench2-build-image check-arvados-directory
+ docker run -t -v$(PWD):/usr/src/workbench2 -v$(ARVADOS_DIRECTORY):/usr/src/arvados -w /usr/src/workbench2 -e ARVADOS_DIRECTORY=/usr/src/arvados -e ci="${ci}" workbench2-build make test
+
+test: unit-tests integration-tests
+
+build: yarn-install
+ VERSION=$(VERSION) BUILD_NUMBER=$(BUILD_NUMBER) GIT_COMMIT=$(GIT_COMMIT) yarn build
+
+$(DEB_FILE): build
+ fpm \
+ -s dir \
+ -t deb \
+ -n "$(APP_NAME)" \
+ -v "$(VERSION)" \
+ --iteration "$(ITERATION)" \
+ --vendor="The Arvados Authors" \
+ --maintainer="$(MAINTAINER)" \
+ --url="https://arvados.org" \
+ --license="GNU Affero General Public License, version 3.0" \
+ --description="$(DESCRIPTION)" \
+ --config-files="etc/arvados/$(APP_NAME)/workbench2.example.json" \
+ $(WORKSPACE)/build/=$(DEST_DIR) \
+ etc/arvados/workbench2/workbench2.example.json=/etc/arvados/$(APP_NAME)/workbench2.example.json
+
+$(RPM_FILE): build
+ fpm \
+ -s dir \
+ -t rpm \
+ -n "$(APP_NAME)" \
+ -v "$(VERSION)" \
+ --iteration "$(ITERATION)" \
+ --vendor="The Arvados Authors" \
+ --maintainer="$(MAINTAINER)" \
+ --url="https://arvados.org" \
+ --license="GNU Affero General Public License, version 3.0" \
+ --description="$(DESCRIPTION)" \
+ --config-files="etc/arvados/$(APP_NAME)/workbench2.example.json" \
+ $(WORKSPACE)/build/=$(DEST_DIR) \
+ etc/arvados/workbench2/workbench2.example.json=/etc/arvados/$(APP_NAME)/workbench2.example.json
+
+copy: $(DEB_FILE) $(RPM_FILE)
+ for target in $(TARGETS); do \
+ mkdir -p "packages/$$target" && \
+ case "$$target" in \
+ centos*|rocky*) cp -p "$(RPM_FILE)" "packages/$$target" ;; \
+ debian*|ubuntu*) cp -p "$(DEB_FILE)" "packages/$$target" ;; \
+ *) echo "Unknown copy target $$target"; exit 1 ;; \
+ esac ; \
+ done ; \
+ rm -f "$(DEB_FILE)" "$(RPM_FILE)"
+
+# use FPM to create DEB and RPM
+packages: copy
+
+check-arvados-directory:
+ @if test "${ARVADOS_DIRECTORY}" == "unset"; then echo "the environment variable ARVADOS_DIRECTORY must be set to the path of an arvados git checkout"; exit 1; fi
+ @if ! test -d "${ARVADOS_DIRECTORY}"; then echo "the environment variable ARVADOS_DIRECTORY does not point at a directory"; exit 1; fi
+
+packages-in-docker: check-arvados-directory workbench2-build-image
+ docker run --env ci="true" \
+ --env ARVADOS_DIRECTORY=/tmp/arvados \
+ --env APP_NAME=${APP_NAME} \
+ --env VERSION="${VERSION}" \
+ --env ITERATION=${ITERATION} \
+ --env TARGETS="${TARGETS}" \
+ --env MAINTAINER="${MAINTAINER}" \
+ --env DESCRIPTION="${DESCRIPTION}" \
+ -w="/tmp/workbench2" \
+ -t -v ${WORKSPACE}:/tmp/workbench2 \
+ -v ${ARVADOS_DIRECTORY}:/tmp/arvados workbench2-build:latest \
+ sh -c 'git config --global --add safe.directory /tmp/workbench2 && make packages'