MM-46275/MM-46979 Production MPA for web app (#21401)

* MM-46275 Unify various targets for building web app

* MM-46275/MM-46979 Add logic to package boards product static files in CI

* Add error meessage when Boards files can't be found during packaging

* Remove a couple unneeded lines from release.mk

* Decrease size of machine used for setup-focalboard-product

* Revert "Add error meessage when Boards files can't be found during packaging"

This reverts commit f4f46ade0ac4c1ec5525d9b2eae959e13b9aec42.

* Revert "Revert "Add error meessage when Boards files can't be found during packaging""

This reverts commit a0e6420b19c5af0b5ff4706b6abaf8e56f8b3495.

* Fix unrelated email templates

* Skip flaky test
Этот коммит содержится в:
Harrison Healey
2022-10-25 17:02:14 -04:00
коммит произвёл GitHub
родитель ee3fae80bc
Коммит 499f731a2b
3 изменённых файлов: 62 добавлений и 5 удалений

Просмотреть файл

@@ -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

Просмотреть файл

@@ -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()

Просмотреть файл

@@ -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