mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-06 10:50:13 +00:00
* bumps minSdkVersion to 30 Older versions are past end-of-life for security patches. voximplant service patch is also updated with minSdkVersion set to 30. * removes manifest attributes no longer needed when minSdk is 30 * removes guard to for version lower than O * removes permission check for versions lower than 28 * remove tests related to unsupported android sdk versions * bumps iOS minSdkVersion to 18 * removes iOS 13/15 guards in hardware-keyboard * removes iOS 15 guards in NotificationService * removes iOS 15 guard in Gekidou network delegate since gekidou is iOS only other platform guards are not needed * removes version guard no longer needed in voximplant patch * removes hasWriteStoragePermission dead stub and its call site * removes unused setSoftKeyboardToAdjustResize from rnutils The function had no call sites in JS/TS code and the iOS implementation was a no-op. * removes version guards and updates config after min version bump * updates stale iOS 17 simulator references in CI to iOS 18.1 Co-Authored-By: Carlos Garcia <carlos.garcia@mattermost.com> * fixes malformed patch file headers - voximplant patch: restore missing diff --git header and index line for VIForegroundServiceModule.java, fix stale hunk counter (+11 -> +7) - notifications patch: fix stale hunk line count (+91 -> +89) after KITKAT branch removal Co-Authored-By: Carlos Garcia <carlos.garcia@mattermost.com> * remove code below the supported OS versions * Bump IntuneMAM SDK to 21.8.0 and MSAL to 2.15.0 --------- Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
59 lines
2.1 KiB
YAML
59 lines
2.1 KiB
YAML
# Copyright 2024 Mattermost, Inc.
|
|
name: "generate-specs"
|
|
description: This action used to split Detox integration tests based on the parallelism provided
|
|
|
|
inputs:
|
|
search_path:
|
|
description: The path to look for from within the directory
|
|
required: true
|
|
parallelism:
|
|
description: The parallelism for the tests
|
|
required: true
|
|
device_name:
|
|
description: The name of Device used for the tests
|
|
required: false
|
|
default: "iPhone 15"
|
|
device_os_version:
|
|
description: The os of the device used for the tests
|
|
required: false
|
|
default: "iOS 18.1"
|
|
durations_file:
|
|
description: >-
|
|
Optional spec-duration manifest (from .github/actions/s3-spec-durations).
|
|
When present, specs are bin-packed by recorded duration instead of split
|
|
into equal counts. Absent/unreadable falls back to the even split.
|
|
required: false
|
|
default: ""
|
|
|
|
outputs:
|
|
specs:
|
|
description: The specs generated for the strategy
|
|
value: ${{ steps.generate-specs.outputs.specs }}
|
|
shard_count:
|
|
description: Number of matrix shards in specs.include (for TSIO missing-shard checks)
|
|
value: ${{ steps.generate-specs.outputs.shard_count }}
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: ci/generate-specs
|
|
id: generate-specs
|
|
env:
|
|
PARALLELISM: ${{ inputs.parallelism }}
|
|
SEARCH_PATH: ${{ inputs.search_path }}
|
|
DEVICE_NAME: ${{ inputs.device_name }}
|
|
DEVICE_OS_VERSION: ${{ inputs.device_os_version }}
|
|
DURATIONS_FILE: ${{ inputs.durations_file }}
|
|
run: |
|
|
# pipefail: without it, `node ... | tee` reports tee's exit status, so a
|
|
# crash in split-tests.js would leave output.json empty and be treated as
|
|
# a successful split.
|
|
set -eo pipefail
|
|
node "${{ github.action_path }}/split-tests.js" | tee output.json
|
|
if [ ! -s output.json ]; then
|
|
echo "::error::split-tests.js produced no matrix output."
|
|
exit 1
|
|
fi
|
|
echo "specs=$(cat output.json)" >> "$GITHUB_OUTPUT"
|
|
echo "shard_count=$(jq '.include | length' output.json)" >> "$GITHUB_OUTPUT"
|
|
shell: bash
|