Граф коммитов

74 Коммитов

Автор SHA1 Сообщение Дата
Carlos Tadeu Panato Junior
c2fbcd71d1 Update minio (#12979)
* update minio docker image to latest stable available on 31/10/2019

* update minio-go dependencies
2019-11-08 15:43:34 +01:00
Carlos Tadeu Panato Junior
b3c0b5dd57 remove redis (#12918) 2019-10-29 15:05:54 +00:00
Carlos Tadeu Panato Junior
64a377c60c use the branch to tag the docker image and also build team edition (#12903) 2019-10-25 10:43:27 +02:00
Carlos Tadeu Panato Junior
709f407d33 update build image to go 1.13 (#12833)
* update build image to go 1.13

* Define TLS Max Version for Clients since TLS1.3 does not allow cipher suites to be configured
2019-10-21 15:31:29 +02:00
Jesse Hallam
5d45aa81e0 MM-16888: fix missing indexes (#12746)
* MM-16888: fix missing indexes

As part of https://mattermost.atlassian.net/browse/MM-16888, we discovered and fixed a number of column and index mismatches between the canonical (i.e. created from scratch) and migrated schemas (i.e migrated from 5.0 through 5.16).

Unfortunately, the migration to fix same was added to `UpgradeDatabaseToVersion514` but never cherry picked to the pending v5.14 release at the time. Customers who upgraded to v5.14 or v5.15 and then get this code as part of v5.16 will never run that migration. Copy it to the UpgradeDatabaseToVersion516 accordingly.

* avoid fixing ChannelMembers.SchemeGuest on MySQL

* synchronize .circleci/config.yml with scripts/mysql-migration-test.sh

* fix circleci invocation

* additional logging on diff

* update build/Jenkinsfile.pr too!
2019-10-15 15:47:09 -03:00
Eli Yukelzon
3ea8540586 Added validation of schema migration to CircleCI (#12322)
* circleci support for schema diffing
2019-10-04 14:46:43 +03:00
Ben Schumacher
b8f0546c19 [MM-18193] Use vendor folder when compiling test plugins (#12188) 2019-09-24 23:02:59 +02:00
Christopher Speller
7966397f1f Defaulting to using go modules vendored (#12040) 2019-09-24 22:01:53 +02:00
Carlos Tadeu Panato Junior
c3ffac4f6b bump mattermost/mattermost-build-server to use go 1.12.9 (#12239)
* bump mattermost/mattermost-build-server to use go 1.12.9
2019-09-24 19:29:57 +02:00
Ankit R Gadiya
d1017a089a Moved Push to S3, Clean Checkout and Build Docker before Test (#12027) 2019-09-19 10:37:02 +02:00
Carlos Tadeu Panato Junior
bd152c6534 bump dockerfile with latest mattermost package (#11901) 2019-08-21 12:44:10 +02:00
Carlos Tadeu Panato Junior
12ff098c5f update minio docker image (#11905) 2019-08-21 12:09:49 +02:00
Carlos Tadeu Panato Junior
9fb5666bc0 remove not used file (#11906) 2019-08-21 12:09:32 +02:00
Jesse Hallam
9b61506c7d fix tmpfs usage (#11873)
We use tmpfs for CI builds to speed things up, but this is unsuitable for local development. Also, don't use `--no-ansi` in the `Makefile` to allow colours to show up.
2019-08-14 10:33:49 -04:00
Eli Yukelzon
da768d677e MM-16888 - Fix canonical vs. migration mismatches (#11825)
* fixed migration errors, added check to Jenkins
2019-08-14 14:58:01 +03:00
Carlos Tadeu Panato Junior
4734215a11 fix port extensions (#11806)
* using override instead of extend

* revert and move the port allocation

* add new line
2019-08-06 09:33:40 -03:00
Carlos Tadeu Panato Junior
c927fb9d50 add docker-compose for ci (#11795)
* add docker-compose for ci

* docker-compose logs does not have the option to set the dc file

* leverage docker-compose extends

This moves the developer `docker-compose.yml` to the root, extending the `build/docker-compose.yml` and overriding the `container_name` to preserve compatibility with the older, non-docker-compose setup.

Note that this required downgrading to docker-compose 2.4's file format (still supported by the newer tooling) due to the long and frustrating converstaion at https://github.com/moby/moby/issues/31101.

* remove -f docker-compose-ci.yml references
2019-08-06 08:46:53 +02:00
Jesse Hallam
e33bdc94f1 Tweak docker compose setup (#11785)
* fix stray dockerhost mention

* fix stray whitespace

* fix missing mattermost-redix cleanup in clean-old-docker

* absolute path to docker-compose, plus simpler ldap initialization

* allow ldapadd to fail on CI
2019-08-02 18:46:32 -03:00
scott lee davis
2fa63b10ec MM 7971 dockerhost -> localhost && docker -> docker-compose (#10872)
* replace dockerhost with localhost

* remove uneeded setup-max build step (no more dockerhost)

* changes as recommended by @cpanato

* make clean-docker with docker-compose

* added ports to docker-compose.yml (needed for osx).   ignore error for ldapadd (when already exists)

* add clean-old-docker to legacy.mk

* docker-compose stop instead of down for `make stop-docker`
2019-08-02 11:53:00 -03:00
Ali Farooq
51cdae12c1 MM-16935 - Capture docker logs (#11735)
* Capture docker logs

* Using docker-compose logs to capture current build's logs

* Tarring instead of zipping

* Fixed jenkins file
2019-07-31 09:44:32 -04:00
Ali Farooq
f6480d1ac6 MM-16935 - Flaky test: Elastic Search IndexChannel Error (#11709) 2019-07-26 18:53:12 -04:00
cpanato
3b9da417a9 add agent to build in the correct node 2019-07-18 11:27:53 +02:00
cpanato
262ccca15f fix jenkinsfile for branch build 2019-07-17 18:30:28 +02:00
Carlos Tadeu Panato Junior
0fec6db7fc move dockerfile to server repo (#11374)
* move dockerfile to server and simplify

* add harcoded-mmpackage

* build docker image EE

* update jenkins file for branches
2019-07-17 15:02:10 +02:00
Carlos Tadeu Panato Junior
efb9e2fe54 fix the clean checkou and only check in PR (#11363) 2019-06-23 12:29:16 +02:00
Carlos Tadeu Panato Junior
c0ea93c228 tagging the docker image using the sha instead of the PR number (#11284) 2019-06-21 10:41:49 +02:00
Eli Yukelzon
6a42ad2af5 [MM-14400] Programmatically generate default.json (#10551)
* create/update config.json using go generate

* added default config generator
added config-reset to Jenkins and make package, updated defaults to consider 'isNew' flag

* corrections after code review

* fixed Config.isValid to handle empty encryption keys

* fixed Config.isValid to handle empty encryption keys

* fixed Config.isValid to handle empty encryption keys

* isUpdate now only checks for nil

* Addressed review comments, added unit testing for default config generator

* err shadowing

* license

* provide output file for config generator via ENV variable, since go generate doesn't support arguments and we need two output paths (config-reset and package)

* cleanup

* proper defaults for PushNotificationServer and SendPushNotifications

* corrected generating defaults for TrustedProxyIPHeader to be consistent with default.json in master

* Check for empty SiteURL as well as nil

* corrected SiteURL settings and checking

* crazy typos fixed

* corrected tests to newly expected values

* relaxed the checks

* fixed formatting
2019-06-06 13:57:01 -04:00
Lev
9b27558611 MM-15819 Add Autolink as a prepackaged plugin (#11040)
* Addink Autolink as a prepackaged plugin

* Fix packaging script.
2019-06-03 09:47:38 -07:00
Christopher Speller
118cd02613 MM-15882 Switching to new ci for prepackaged plugins and stripping alternate platform binaries. (#11025)
* Switching to new ci for prepackaged plugins and stripping alternate platform binaries.

* Feedback
2019-06-03 08:11:42 -07:00
Carlos Tadeu Panato Junior
0d0d758208 Update minio docker image and minio-go dependency (#10770)
* update minio server1

* update minio go lib to use the latest release
2019-04-30 07:47:41 -07:00
Akira Fujimoto
5a287f6ad3 Fix typo in build/README.md (#10307) 2019-04-17 06:29:39 +02:00
Carlos Tadeu Panato Junior
5db62c20c5 add jenkinsfile to build branch master or release-branches (#10567) 2019-04-15 12:39:15 +02:00
Carlos Tadeu Panato Junior
40b97a1a4f add check i18n en.json to the pipeline (#10557) 2019-04-09 11:22:54 +02:00
Christopher Speller
866e3fb10c Fixing prepackaged plugin build process. (#10547) 2019-04-02 22:05:41 +02:00
Martin Kraft
25fd962016 MM-14412: Enables force removals of team/channel members base on group constraints. (#10490)
* MM-14412: Enables force removals of team/channel members base on group constraints.

* Renames some existing methods and variables.

* Change return types to ChannelMembers and TeamMembers for some existing methods.

* Adds option to change LDAP_DATA to either 'qa' or 'test' with env variable.

* Adds methods to retrieve ChannelMembers and TeamMembers that, based on group constraints, should be deleted.

* Adds helper functions to create GroupTeams and GroupChannels.

* MM-14412: Switches to helper methods for GroupSyncable creation in test files.

* MM-14412: Style fix.

* MM-14412: Switches remaining GroupSyncable instances to be created with helper functions.

* MM-14412: Typo fix.

* MM-11412: Build fixes.

* MM-14412: Checks if user is team member before re-adding.

* MM-14412: Update for change of GroupConstrained fields type.
2019-04-02 09:22:50 -04:00
Julien Reichardt
64562d53c0 Build tooling enhancements (#10429)
* Add LDFLAGS variable

* Replace curl by wget

* Revert "Replace curl by wget"

This reverts commit f40323c3d2e693f74a4a3f8705ab011feb3e378a.

* Use curl instead of wget

* Merge GO_LINKER_FLAGS into LDFLAGS
2019-03-26 15:19:12 -07:00
Carlos Tadeu Panato Junior
6a3fdbd489 update go to 1.12 (#10382)
* update go to 1.12

* update per feedback

* fix test

* revert test changes

* remove zap.AddCallerSkip(1)
2019-03-01 12:55:35 -05:00
Jesse Hallam
72448d12a9 deprecate timezones.json (#10311) 2019-02-25 12:07:45 -04:00
Katie Wiersgalla
659af08ee4 Update PRIVACY_POLICY.md (#10287) 2019-02-21 10:30:35 -05:00
Carlos Tadeu Panato Junior
42356bc74f add codecov back (#10215)
* add codecov back

* add token

* remove option

* update codecov

* upddate codecov

* add back threshold

* add some configs

* update per feedback

* add error fallback

* fix error

* testing
2019-02-13 15:32:12 -04:00
Jesse Hallam
3a71709103 MM-13893: refactor config (#10230)
* refactor utils/config* to config/

* pull validateLdapFilter into app

* clean up Config/GetConfig/GetSanitizedConfig usage

Eliminate app.GetConfig() in favour of just using app.Config() directly,
but expose app.GetSanitizedConfig() for when the old behaviour was
required.

* web: isolate config setup

* TestInvitePeopleProvider: make config explicit

* regenerateClientConfig: avoid racey map access

* integrate watch flag into app.ConfigFile option

* make app.Option return an error

* release.mk: only cp static files from config/

* release.mk: fix cp static files from config/

* api4: TestPlugin cleanup

* s/c/cfg/ for clarity

* fix merge conflict

* testlib: allow customization of testlib driver name
2019-02-12 08:37:54 -05:00
Carlos Tadeu Panato Junior
ac68236b88 add fallback to master (#10235) 2019-02-05 13:07:44 -08:00
Carlos Tadeu Panato Junior
5172591437 use $env.CHANGE_TARGET when switch branch (#10228) 2019-02-05 17:10:44 +01:00
Martin Kraft
afcb224a79 Adds configuration for separate reply-to email header. (#10144)
* Adds configuration for separate reply-to email header.

* Changes config setting name.

* Using a separate variable and value in test.

* Updates for config pointer changes in another PR.

* Adds new key to test config. Adds default value.
2019-02-04 17:01:05 -05:00
Carlos Tadeu Panato Junior
5c76e90a83 Add timeout for jenkins pipeline (#10180)
* Add timeout for jenkins pipeline

* setting timeout to 1 hour
2019-01-28 14:51:25 +01:00
Martin Kraft
6d30b21dd2 Ldap groups phase1 (#9752)
* Initial models, API, app, and persistence of groups and group syncing.

* Consistent letter casing in ldif.

* Moves group-specific migrations into func.

* Adds API endpoint to retrieve LDAP groups (and associated MM groups) one tree level at a time.

* Adds mattermost group id to SCIMGroup (if available).

* Splits user and group creation so that memberOf works. Returns users from ldap interface.

* Updates method name.

* Returns users IDs instead of User.

* Removes non-essential group data.

* MM-11807: Add GroupFilter to LDAP config. (#9513)

* MM-11807: Add GroupFilter to LDAP config.

* Add diagnostic.

* Adds new config option for using 'memberOf' overlay.

* Adds API endpoint to link a group.

* Removes debug statements.

* Adds unlink group API endpoint.

* Fix to LDAP API. Adds API method to client4 and app.

* Adds some missing app methods. Renames API unexported func.

* Fixes link/unlink API path to accept valid DNs.

* Allow any character for DN portion of path.

* Switches from DN to objectGUID or entryUUID as the remote identifier linking LDAP groups to MM groups.

* Formatting.

* Formatting.

* Setting group name field to an ID for phase 1.

* Adds an LDAP config field to Setting up configuration for local LDAP.

* Changes to LDAP and GroupStore interfaces.

* Draft of nesting groups in API response.

* Removes unnecessary tree models.

* Updates group membershipt create store method to also restore.

* Adds new config to test config.

* Accept AD format length.

* Switches to SetUniqueTogether method.

* Updates revert.

* Tweaks to syncing queries .

* Updates query for pending team and channel memberships.

* Removes old GroupSyncableScanner usage. Some formatting and renaming.

* Fixes bug setting syncable type in selecting paged.

* Adds tests for syncables populator.

* Only add users to teams and channels that are not deleted.

* Renames method.

* Updates test LDAP setup.

* Removes memberof config stuff.

* Renames.

* Updates test data.

* Fix for gofmt.

* Adds missing license.

* Adds missing teardowns.

* Test fix.

* Adds a cycle to the groups test data.

* Changes API to return flat list.

* Removes some unused interface and app methods.

* Returns empty braces if results are empty.

* Adds more LDAP test data.

* Fix for test data error.

* Adds error.

* Moves test groups.

* Adds OU for load test data.

* Moves load test ou creation to load data.

* Adds a new bool flag to SCIMGroups.

* Removes SCIMGroup completely.

* Removes FULL JOIN because it is not supported in MySQL.

* Adds tests for sync queries; renames constant.

* Bad merge fix.

* Vet fix.

* Returning OK on delete ldap group link

* Removes foreign key constraints.

* Adding total to the ldap getAllGroups api endpoint

* Adds get group members page.

* Removes pagination from groups syncables list API.

* Adding syncable check now that foreign key constraint is removes.

* Joins teams and channels to group syncables.

* Adds group member count.

* Adding GetAllChannels and SearchAllChannels for system admins only

* Fix.

* Test fix from pagination removal.

* Orders groupmembers by createat.

* Fixing search of all channels

* Test fix after removing pagination.

* JSON syntax error fix.

* Changing tests (for now) pending investigation.

* Adding GetAllChannels and SearchAllChannels tests for the store

* Adding GetAllChannels and SearchAllChannels API tests

* Omit empty JSON values of group syncables.

* Fixing GetAllChannels and SearchAllChannels tests

* Fixing GetAllChannels and SearchAllChannels store tests

* Fixing GetAllChannels api tests

* Adds 'LDAP groups' feature flag. (#9861)

* Migrate new client functions to idiomatic error handling

* Test fixes.

* Simplification of groups api (#9860)

* Simplification of groups api

* Fixing RequireSyncableType

* Test fix.

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Update api4/group.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Fix copy/paste error.

* Fix copy/paste error.

* Adds missing return, changes to correct HTTP status code.

* Adds missing return, changes status codes.

* Check for license.

* Renames variable for new signature.

* Adds client method to get a group.

* Adds client method and tests for PatchGroup.

* Adds more API tests.

* Adds groups API tests.

* Adds client method and tests for getting group syncables.

* Adds tests for patching group teams and channels.

* Update to translations.

* Removes test.

* Fix incorrect conditional.

* Removes unnecessary nil check.

* Removes unnecessary return.

* Updates comment, removes unused variable.

* Uses consistent JSON unmarshal pattern.

* Uses consistent JSON unmarshal pattern.

* Moves const block.

* Switches 'already linked' from error to success response.

* Removes commented-out code.

* Switched to status ok.

* Add parens for readability.

* Fix copy/paste error.

* Unexport some structs.

* Removes repeated validity check.

* Return without attempting commit if there's a rollback.

* Fix incorrect HTTP status code.

* Update store/sqlstore/group_supplier.go

Co-Authored-By: mkraft <martinkraft@gmail.com>

* Adds utility methods for going from groupsyncable to groupteam and groupchannel.

* Fixing george suggestions (#9911)

* Test fix.

* Adds QA data to VC with visualization.

* Fixes typo in graph image.

* Update display name when re-linking in case it has changed in LDAP.

* Adds ability to configure group display name and unique identifier. (#9923)

* Adds ability to configure group display name and unique identifier.

* Adds some configs to confi-ldap make command.

* Fix for move of session.

* Exposes method for use by SAML package.

* Switches GroupSyncableType from int to string.

* Update Jenkins build files.

* Removes unused variable assignment.

* Removes old unnecessary early return.

* Removes unnecessary variable.

* Moves param parsing before license and permissions checks.

* Removes old code.

* Compares agains underlying error rather than error id.

* Switches tests to assertions.

* Adds more assertions.

* Adds missing return.

* Adds space after comma for added legibility.

* Moves a view model to the api package.

* Unexports method.

* Uses id validator function.

* Fix docker-compose flag.

* Typo fix.

* Moves index creation to supplier.

* Removes bad merge.

* Renames parameter.

* Re-adds space.

* Removes unnecessary transaction.

* Escapes the Groups table name with backticks because it is a reserved keyword.

* Fix roles cache bug

* Removing unnecesiary deserializing function

* Switches table name rather than custom SQL everywhere for Postgres without backticks.

* Removes redundant check for sql.ErrNoRows.

* Removes redundant check for sql.ErrNoRows.

* Removes data integrity check and redundant nil conditional.

* Removes redundant check for sql.ErrNoRows.

* Removes unnecessary query.

* Removes ID length validation from persistence tier.

* Makes some supplier methods idempotent.

* Removes some empty switch defaults.

* Renames Group Type field to Source.

* Fix for mistaken field name change.

* Uses IsValidId function.

* Removes comment.

* Changes json key name.

* Removes test because no longer validating user.

* Moves model state validation to app layer.

* Don't create Groups.CanLeave column until phase 2.

* Removes state validation until properties are used in phase 2.

* Removes duplicated check.

* Removes state validation until properties are used in phase 2.

* Removes some tests until phase 2.

* Comment-out a bunch of test related to CanLeave.

* Extra unmarshal validation check. Removes more code for CanLeave.

* Removes tests for CanLeave.

* Explict error msg.

* Rewrite queries.

* Changes index name. Adds index.

* Removes assertion.

* Adds experimental feature flag.
2019-01-10 15:17:31 -05:00
Jesse Hallam
86fa3866c1 Speed up build (#9993)
* configure MySQL to use tmpfs

* simplify use of COMPOSE_PROJECT_NAME, and set envs vs. overriding config.json, fix error output, --no-ansi

* cmd/mattermost/commands/*_test.go: ignore MM_SQLSETTINGS_DATASOURCE from the env

* clean up exit 1 semantics
2018-12-13 16:29:47 -05:00
Hanzei
1f197d7c55 Fix downloading of prepackged plugins for releases (#9994) 2018-12-13 11:29:49 -05:00
Jesse Hallam
8d7cb44f30 Build tweaks (#9985)
* fix TEST_DATABASE_MYSQL_ROOT_PASSWD line wrap

* archiveArtifacts report*.xml
2018-12-11 20:41:11 +01:00
Carlos Tadeu Panato Junior
142ddfe79f add inbucket smtp port env vars (#9987) 2018-12-11 18:38:44 +01:00