Commit graph

32 commits

Author SHA1 Message Date
dependabot[bot]
5b72465e40
Bump the github-actions-updates group across 1 directory with 3 updates (#8771)
Bumps the github-actions-updates group with 3 updates in the /.github/workflows directory: [actions/upload-artifact](https://github.com/actions/upload-artifact), [mattermost/actions](https://github.com/mattermost/actions) and [ruby/setup-ruby](https://github.com/ruby/setup-ruby).


Updates `actions/upload-artifact` from 4.6.0 to 4.6.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](65c4c4a1dd...ea165f8d65)

Updates `mattermost/actions` from 746563b58e737a17a8ceb00b84a813b9e6e1b236 to d5174b860704729f4c14ef8489ae075742bfa08a
- [Commits](746563b58e...d5174b8607)

Updates `ruby/setup-ruby` from 1.221.0 to 1.230.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](32110d4e31...e5ac7b085f)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 4.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions-updates
- dependency-name: mattermost/actions
  dependency-version: d5174b860704729f4c14ef8489ae075742bfa08a
  dependency-type: direct:production
  dependency-group: github-actions-updates
- dependency-name: ruby/setup-ruby
  dependency-version: 1.230.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-14 12:40:23 +03:00
Takuya N
18305e3cbf
chore(deps-dev): allow devs to use Node.js 22 (LTS) (#8657)
Also upgrade the default version of Node.js to 22.14.0.

Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
2025-03-24 16:28:11 -06:00
Rahim Rahman
ecc199ea08
ci(MM-63199): fix download artifact issue (#8690)
* remove some test

* clean error

* use has_coverage_from_main

* revert sentry.test.ts
* remove use of github_token

* trying github.token instead

* see if permissions write will solve the Resource not accessible problem

* would github-token help solve that problem?

* see if permissions on the workflow itself would fix the problem

* trying pull_request_target

* add branches to pull request target

* remove branches for now.

* changed to the proper event_name

* check if it's forked repo.

* using is_fork
2025-03-18 13:18:12 -06:00
Rahim Rahman
abb526cf83
ci(MM-63199): code coverage tracking (#8642)
* ci(MM-63199): code coverage tracking

* try to download existing coverage file

* read coverage

* add token

* use github.token instead

* passing github token

* github_token passing from workflow

* remove download

* re-add download

* wrong param

* try download all artifacts

* add run-id so to retrieve with download later

* remove read coverage temp

* use run-id to download

* put files into current-coverage

* using last run id

* temporary comment

* can retrieve last run id?

* remove hard-coding

* echo into github_env vs export

* comparing new and old

* comparison improvement

* post to github

* fix coverage text

* refactor to main from current-coverage

* formatting changes

* fix missing content

* small tweaking

* showing the Warning to make sure

* formatting

* remove +

* checking to see if the error shows via echo

* revert the change to error

* separate to a new file

* comment the actual test for now

* prep node deps

* only run certain things on main

* trying cache-hit

* real trying cache-hit

* testing to make sure cache-run-id runs

* save-always true

* save-always deprecated

* let's try different strategy

* add key

* restore-key adding a -

* only perform on `main`

* only run on main or if its a PR

* coverage_threshold

* remove comments

* add total

* removing unneeded comments

* calculate total

* run test in `release-*` only

* making sure that only PR will run

* only do more steps if upload-coverage successful

* trying thollander/actions-comment-pull-request

* using diff way to comment.

* comment on how things work

* testing to trigger warning and see if comment is updated vs new comment

* omit echo messages

* see if giving github token would work.

* wrong use of param

* try without github token

* adding a very simple change to see where it lands

* using cache hit instead.

* creating the cache again.  how did i lose it?

* revert back

* cache-hit might be off

* debug

* debug with failing cache restoration

* check for run-id.txt instead

* all into action

* missing "

* remove unneeded actions
* change threshold to 0.5

* relative time

* skeptical about date formatting

* revert back to the threshold trigger

* below 80% total coverage threshold

* only show one error/warning at  time.

* testing if the coverage drop below 80

* debug output

* add Reset Test Coverage label use

* try using contains vs direct comparsion

* remove the label checker

* temp change

* ooops

* revert back

* let's post before exiting

* consistency

* total coverage threshold reset to 80%
2025-03-14 13:21:25 -06:00
dependabot[bot]
e83ed142dc
Bump the github-actions-updates group across 5 directories with 6 updates (#8613)
Bumps the github-actions-updates group with 1 update in the /.github/actions/prepare-android-build directory: [actions/checkout](https://github.com/actions/checkout).
Bumps the github-actions-updates group with 1 update in the /.github/actions/prepare-ios-build directory: [actions/cache](https://github.com/actions/cache).
Bumps the github-actions-updates group with 2 updates in the /.github/actions/prepare-mobile-build directory: [actions/cache](https://github.com/actions/cache) and [ruby/setup-ruby](https://github.com/ruby/setup-ruby).
Bumps the github-actions-updates group with 2 updates in the /.github/actions/prepare-node-deps directory: [actions/cache](https://github.com/actions/cache) and [actions/setup-node](https://github.com/actions/setup-node).
Bumps the github-actions-updates group with 4 updates in the /.github/workflows directory: [actions/checkout](https://github.com/actions/checkout), [ruby/setup-ruby](https://github.com/ruby/setup-ruby), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/checkout` from 3.3.0 to 4.2.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](ac59398561...11bd71901b)

Updates `actions/cache` from 4.0.2 to 4.2.1
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0c45773b62...0c907a75c2)

Updates `actions/cache` from 4.0.2 to 4.2.1
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0c45773b62...0c907a75c2)

Updates `ruby/setup-ruby` from 1.180.0 to 1.221.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](ff740bc00a...32110d4e31)

Updates `actions/cache` from 4.0.2 to 4.2.1
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0c45773b62...0c907a75c2)

Updates `actions/setup-node` from 4.0.2 to 4.2.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](60edb5dd54...1d0ff469b7)

Updates `actions/checkout` from 3 to 4
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](ac59398561...11bd71901b)

Updates `ruby/setup-ruby` from 1.180.0 to 1.221.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](ff740bc00a...32110d4e31)

Updates `actions/upload-artifact` from 4.3.1 to 4.6.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.1...65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08)

Updates `github/codeql-action` from 2 to 3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions-updates
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions-updates
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-updates
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 14:28:06 +02:00
yasser khan
9976cacec4
Add ability to run detox tests on Android (#8553) 2025-02-14 01:26:53 +05:30
yasserfaraazkhan
0ad2679595
Add android detox apk build workflow (#8405) 2025-01-16 12:26:10 +05:30
yasserfaraazkhan
acfccb170f
Fix: Env variabled to pick up right simulator device for tests (#8367) 2024-11-29 11:48:35 +05:30
Rahim Rahman
e7d597f70e
test: mitmproxy + low bandwidth + automated QA using detox (#8202)
* experimental github action

* start mtmproxy then kill it

* suspend test for now

* dont need to be in a PR to trigger

* trying again with mitmdump

* where is .mitmproxy folder?

* run with +e

* not sure why exit code 1

* if this is a better path

* let's try killing using trap?

* trying a different path

* maybe using ~  would work?

* looking at output to networksetup command

* minor mistake

* throttling bandwidth

* lets try with sudo

* missing sudo

* using mitmdump

* remove spaces

* tried diff path

* change to the proper file

* upload artifacts

* install cert

* added cert to simulator

* getting simulator UDID

* proper scoped var

* using github outputs

* getenv doesn't have IOS_SIMULATOR_UDID

* using echo command

* maybe forgot to scope outputs

* lets run the command directly

* changed to iPhone 14

* let me see all the devices

* try something new

* rearrange my steps to get cert

* getenv booted

* remove too many outputs

* using mm mobile test server

* tie it all together with detox test

* removed dependency for another job

* put dependency on a job

* simplify process even more

* add github-token on download artifact

* add run-id, hopefully that's what needed to download

* incorrect speed for download

* update to the correct dummynet syntax

* proper mitmdump flow report

* update allow-hosts

* commenting out mitmdump for now

* back to rahim-experiments

* overly commented out

* cacert not --ca-cert

* maybe i allow the wrong host?

* maybe i just forgotr to kill mitmdump after I'm done?

* using pm2

* reinstate jobs. and longer timeout for detox

* need sudo

* recording videos and limiting to 1 test

* just want to run 1 test.

* back to experimenting

* using wget

* test using chrome

* using chrome and add delay

* ok test again with detox

* go back to testing all server_login

* compare booted simulators

* few more experiments

* no \

* using github_outputs

* using fromJSON

* too many $

* can i do this another way?

* two runs to get the it assigned

* try again

* .

* trying to access devices array

* try again

* using jq

* keep it simple

* might not need outputs

* forgot pipe

* will this work?

* will first element of an array works

* see if we got the udid

* did we get it wrong?

* will this work?

* let's assign?

* we have to put into string

* ok 1 more

* will it have quotes?

* echo in an echo

* is this working?

* let's hope this works.

* it's actually using 17.4 iPhone 14 not 17.0

* broke because i add &

* removed failed step

* lowering ping and going back to 10 parallel test

* double-up ONE_SEC to see if tests will pass

* why curl failed after?

* getting more data from failures

* let's get more logs with pm and mitmdump

* more logging and improvement

* silly error!

* problem with throttling, let's figure out where we can improve

* increase timeout for low-bandwidth

* increased delay + run all tests

* lets see if this will be better for throttling

* try set +e to see if it will return failure

* check disk space.

* deleting zip and trash to free up space.

* try to do pfctl twice to see if that would help

* making bandwidth-throttling a composite action

* would 5 seconds make a diff?

* add shell

* throttle bandwidth experiment

* fix quick problem

* 5s sleep, and throttling at the right time

* the throttling was working better earlier.

* add a flush in between

* no exit, see if it works well

* trying continue-on-error

* resetting with continue-on-error vs checking for if steps before worked

* adding flush before throttling to see if it makes a diff

* put it back where we think is the best spot

* change timeout to 60 and some cleanup

* forgot a simple $

* move network throttling again to see if this is better?

* rearranging

* move throttling back to where it used to work well
making bandwidth-throttling action taking inputs

* forgot shell

* inputs not input, and continue-on-error

* getting host from site_1_url

* update the sed script

* move more steps into composite action file

* add shell

* add more shell

* action cleanup

* see if our reset network setting works

* delete unused files

* more clean up

* wrong indentation

* wrong context

* see if not having low bandwidth enabled would cause stuff to break

* will it fail on non-existent step name?

* things are failing after proxy started

* start using low_bandwidth_mode input

* incorrect use of curly bracket

* low_bandwidth_mode vs low_bandwidth

* correcting the use of curly bracket in if check

* low_bandwidth_mode correction

* why would https:// makes a diff?

* just going to start pm2 after stopping

* move things around again

* some more re-arranging

* exit 1

* rearranged too much

* clean up

* start-proxy action

* incorrect variable name

* use test_server_url instead

* reverting back to original

* use pull_request

* using env var prepend

* using existing artifact

* not in ""

* not going to prepend anymore

* incorrectly removed input instead of env

* close to final

* using original e2e-detox-template

* timeout-minutes need to be higher for low_bandwidth.

* using label instead of push to branch

* add check-label

* remove unneeded test

* renamed ci.yml back to original

* different way to remove label
remove experiment files
reinstate ci.yml

* remove experiment file

* see label again

* output labels

* another experiment

* test again

* fix issue when checking for low bandwidth

* revert changes to package.json in detox/

* changed download to upload in the description

* changes based on review

* add github.event.label.name to the group "id" per @mvitale1989 suggestion

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-14 07:56:52 -06:00
yasserfaraazkhan
351c877a82
fix reporting variables in the community report (#7997) 2024-06-26 19:43:30 +05:30
Elias Nahum
b8c088cc70
Upgrade RN as well as update or replace other dependencies (#8011)
* start upgrade to RN 74

* migrate react-native-fs to expo-file-system

* exclude expo-asset module

* fix database manager remove directory

* fix: android network helper

* include expo on android

* temporarily disable android dep lock

* replace react-native-create-thumbnail with expo-video-thumnails

* update patches file version

* fix android build on 74

* create local library to replace MattermostManaged, Notifications and SplitView modules with new arch support

* migrate app to use new mattermost-rnutils library

* remove unused flipper class for android unsigned

* fix mattermost-rnutils android foldedObserver lifecycle

* use mattermost-rnutils on Android

* use mattermost-rnutils on iOS

* path react-native-navigation to not crash when activity is not NavigationActivity

* create local library for android share extension with new arch support

* Replace ShareModule with @mattermost/rnshare library

* remove ShareModule from android native code

* update react-intl

* update nodejs to 20.x.x npm to 10.x.x and dev deps

* update @gorhom/bottom-sheet

* use MattermostShare conditionally based on the platform

* update @react-native-camera-roll/camera-roll

* remove unused react-native-calendars

* fix metro config

* fix terminate session race condition

* remove unused analytics

* replace react-native-device-info with expo-application and expo-device

* update @react-native-clipboard/clipboard

* update @react-native-community/datetimepicker

* update @react-native-community/netinfo

* update @sentry/react-native

* update react-native-document-picker

* update react-native-gesture-handler

* update react-native-share

* update react-native-svg and react-native-svg-transformer

* update react-native-vector-icons

* update babel

* update react-native-shadow-2

* update semver

* remove react-native-svg-transformer and convert svg files to svg components

* fix @mattermost/rnshare new-arch build on android

* remove react-native-create-thumbnail resolution in build.gradle

* create @mattermost/hardware-keyboard library to replace hw-keyboard-events

* fix hardware-keyboard library

* fix rnutils library

* create @mattermost/keyboard-tracker library

* replace react-native-keyboard-tracking-view with @mattermost/keyboard-tracker

* fix: rnutils to not crash on lateinit context

* fix: rnutils delete database

* revert changes to session_manager

* Removed react-native-webview and added expo-web-browser instead

With expo-web-browser we no longer need the webview for SSO login
the SSO login is now done by using "custom Chrome tabs" on Android
and ASWebAuthenticationSession on iOS

* remove patch for react-native-keyboard-tracking-view

* replace react-native-linear-gradient with expo-linear-gradient

* replace react-native-in-app-review with expo-store-review

* fix: shared group database directory on ios

* replace react-native-fast-image with expo-image

* remove unusued type def for react-native-keyboard-tracking-view

* replace react-native-elements and react-native-button with @rneui

* node version

* update sizzling methods

* fix tests using jest-expo

* replace jail-monkey with expo-device

* update babel deps

* update typescript eslint

* update rn and expo

* react-native-document-picker @react-native-camera-roll/camera-roll @react-native-community/datetimepicker react-native-reanimated react-native-safe-area-context

* update patches

* update @sentry/react-native

* upgrade react-native-navigation

* update expo & expo-image

* upgrade to working version of @sentry/react-native

* update node, cocoapods, bundler, fastlane versions

* @testing-library/react-native and eslint-plugin-jest

* fix: FloatingTextInput causing a crash with reanimated

* update sentry, localize, @types/lodash and uuid

* fix floating text input label

* update react-native-video

* fix: cannot calculate shadow efficiently on some components

* fix: reduce motion warning for bottomSheet

* fix: shadow on YouTube component

* update react-native-webrtc expo and @typescript-eslint

* audit fix

* fix swizzling bad merge

* temp use of github dependency for @mattermost libraries

* feedback review

* feedback review

* npm audit fix

* update bundle deps

* update @mattermost/react-native-turbo-log

* update deps
2024-06-19 09:33:45 +08:00
Antonis Stamatiou
8cef881db6
fix: Upgrade packages to fix broken release (#8021) 2024-06-17 16:49:16 +03:00
Antonis Stamatiou
c1829bd24f
fix: Remove mobile builds out of the template (#8000)
* fix: Remove mobile builds out of the template

* fix: Use proper variables

* fix: Create proper summary from detox output

* fix: Test with free runners for now

* fix: Switch to M1

* fix: Add removed node modules

* fix: statsPercent

* fix: Remove skipped from successful passes
2024-06-12 13:02:36 +03:00
Antonis Stamatiou
54d009d6f1
feat: Introduce Mobile CMT testing (#7994) 2024-06-10 14:06:37 +03:00
yasserfaraazkhan
f46ddb49d0
Add workflow to run detox iOS tests (#7878) 2024-06-04 22:42:58 +05:30
Mario Vitale
c0b2c957e1
CLD-7165 Bump MacOS runner version (#7828)
* CLD-7165 Bump MacOS runner version
* Bump Ruby version
* Adapt pipelines to utilize the ruby version in .ruby-version

---------

Co-authored-by: Daniel Espino <larkox@gmail.com>
2024-02-22 11:35:56 +01:00
yasserfaraazkhan
c1358371db Revert "test macos-13-xlarge and ruby 2.7.8"
This reverts commit 688f49a819.
2024-02-13 08:34:54 +05:30
yasserfaraazkhan
688f49a819 test macos-13-xlarge and ruby 2.7.8 2024-02-13 03:02:38 +05:30
yasserfaraazkhan
0ab129c18a make all 12-large 2024-02-13 02:17:05 +05:30
yasserfaraazkhan
2afd6bdc92 test macos-12-large 2024-02-13 01:58:02 +05:30
yasserfaraazkhan
dc4fb0eb50 test macos-13-xlarge 2024-02-13 01:56:02 +05:30
yasserfaraazkhan
d480876cb2 test macos-latest-xlarge 2024-02-13 01:31:40 +05:30
yasserfaraazkhan
0ecf4da6c6 test macos-latest-xlarge 2024-02-13 01:29:04 +05:30
Antonis Stamatiou
c575e5ed56
fix: Fix branch convention for beta android single build (#7730) 2024-01-03 01:14:24 +02:00
Antonis Stamatiou
025aefb162
feat: Enable true labeled trigger and deprecate mattermod (#7718) 2023-12-18 09:26:32 +02:00
Christopher Poile
d4f3590638
add ci checks to main and release branches (#7670) 2023-11-17 21:23:18 +08:00
Elias Nahum
25f8773cc4
set path and name for unsigned builds (#7413) 2023-06-16 12:02:34 -04:00
Antonis Stamatiou
c948c4b0ee
fix: Fix expected names for releases (#7410) 2023-06-16 10:41:26 -04:00
Antonis Stamatiou
b9e1f3df2f
fix: fastlane working dir (#7407) 2023-06-16 09:15:13 -04:00
Antonis Stamatiou
8d475d8a36
feat: Migrate to Github Actions (#7394) 2023-06-08 16:02:59 +03:00
Rohitesh Gupta
b086776c33
Updated CodeQL to use latest version (#6689)
* Created CodeQL config

* Updated CodeQL to latest branch
2022-10-18 10:26:22 -03:00
Guillermo Vayá
45bc95c95b
Added checklist to PR template (#5774) 2021-10-20 08:29:15 -03:00