diff --git a/.circleci/config.yml b/.circleci/config.yml index e61ee7343b..1f9739e5d8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -66,14 +66,37 @@ jobs: sleep 5 done if [[ -f "$FILE_DIST" ]]; then + echo "Precompiled version of web app found" mkdir dist && tar -xf $FILE_DIST -C dist --strip-components=1 else - npm ci --silent && make build + echo "Building web app from source" + make dist fi - persist_to_workspace: root: /mnt/ramdisk paths: - mattermost-webapp + setup-focalboard-product: + working_directory: /mnt/ramdisk/ + docker: + - image: cimg/go:1.18-node + resource_class: large + steps: + - attach_workspace: + at: /mnt/ramdisk + - run: | + cd focalboard + echo "Building Boards product for web app" + # make prebuild build-product # TODO figure out how to get this to run without bypassing the Makefile + make prebuild + cd mattermost-plugin/webapp + npm run build:product + cd ../.. + - persist_to_workspace: + root: /mnt/ramdisk + paths: + - focalboard/mattermost-plugin/webapp/dist + check-app-layers: docker: - image: cimg/go:1.18 @@ -99,7 +122,7 @@ jobs: command: | cd mattermost-server make modules-tidy - if [[ -n $(git status --porcelain) ]]; then echo "Please tidy up the Go modules using make modules-tidy"; exit 1; fi + if [[ -n $(git status --porcelain) ]]; then echo "Please tidy up the Go modules using make modules-tidy"; exit 1; fi check-store-layers: docker: - image: cimg/go:1.18 @@ -460,6 +483,14 @@ workflows: ignore: - master - /^release-.*/ + - setup-focalboard-product: + filters: + branches: + ignore: + - master + - /^release-.*/ + requires: + - setup-multi-product-repositories - check-go-mod-tidy: requires: - setup-multi-product-repositories @@ -503,6 +534,7 @@ workflows: - check-migrations - build-api-spec - setup-mattermost-webapp + - setup-focalboard-product - build-focalboard: requires: - check-go-mod-tidy @@ -532,7 +564,8 @@ workflows: - check-mattermost-vet - check-migrations - build-api-spec - - setup-mattermost-webapp + - setup-mattermost-webapp + - setup-focalboard-product - test: name: test-postgres-normal dbdriver: postgres @@ -549,7 +582,8 @@ workflows: - check-mattermost-vet - check-migrations - build-api-spec - - setup-mattermost-webapp + - setup-mattermost-webapp + - setup-focalboard-product - test: name: test-postgres-binary dbdriver: postgres @@ -566,7 +600,8 @@ workflows: - check-mattermost-vet - check-migrations - build-api-spec - - setup-mattermost-webapp + - setup-mattermost-webapp + - setup-focalboard-product - test-schema: requires: - check-go-mod-tidy @@ -580,6 +615,7 @@ workflows: - check-migrations - build-api-spec - setup-mattermost-webapp + - setup-focalboard-product - upload-artifacts-to-s3: context: mattermost-ci-pr-builds-s3 requires: @@ -605,6 +641,14 @@ workflows: - master - /^release-.*/ - cloud + - setup-focalboard-product: + filters: + branches: + ignore: + - master + - /^release-.*/ + requires: + - setup-multi-product-repositories - check-go-mod-tidy: requires: - setup-multi-product-repositories @@ -652,6 +696,7 @@ workflows: - check-migrations - build-api-spec - setup-mattermost-webapp + - setup-focalboard-product - build-focalboard: requires: - check-go-mod-tidy diff --git a/app/platform/service_test.go b/app/platform/service_test.go index b2b7fa1e89..49470021f7 100644 --- a/app/platform/service_test.go +++ b/app/platform/service_test.go @@ -124,6 +124,7 @@ func TestMetrics(t *testing.T) { }) t.Run("ensure the metrics server is started with advanced metrics", func(t *testing.T) { + t.Skip("MM-47635") th := Setup(t, StartMetrics()) defer th.TearDown() diff --git a/build/release.mk b/build/release.mk index 4ac581fee7..e48c3d70b1 100644 --- a/build/release.mk +++ b/build/release.mk @@ -190,6 +190,17 @@ else done endif + @# Products + + @if [ -d $(BUILD_BOARDS_DIR) ] ; then \ + echo "Copying web app files for Boards product"; \ + mkdir -p $(DIST_PATH_GENERIC)/client/products/boards; \ + cp -R $(BUILD_BOARDS_DIR)/mattermost-plugin/webapp/dist/* $(DIST_PATH_GENERIC)/client/products/boards/; \ + else \ + echo "Unable to find files for Boards product. Please ensure that the Focalboard repository is checked out alongside the server and run 'make build-product' in it."; \ + exit 1; \ + fi + package-osx-amd64: package-prep DIST_PATH_GENERIC=$(DIST_PATH_OSX_AMD64) CURRENT_PACKAGE_ARCH=darwin_amd64 PLUGIN_ARCH=osx-amd64 MMCTL_PLATFORM="Darwin-x86_64" MM_BIN_NAME=mattermost $(MAKE) package-general @# Package