Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Stars1233 authored Jul 3, 2024
0 parents commit 58a0283
Show file tree
Hide file tree
Showing 4,640 changed files with 487,542 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
75 changes: 75 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Bug report for the Element iOS app
description: Report any issues that you have found with the Element app. Please check open issues first, in case it has already been reported.
labels: [T-Defect]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
Please report security issues by email to [email protected]
- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce
description: Please attach screenshots, videos or logs if you can.
placeholder: Tell us what you see!
value: |
1. Where are you starting? What can you see?
2. What do you click?
3. More steps…
validations:
required: true
- type: textarea
id: result
attributes:
label: Outcome
placeholder: Tell us what went wrong
value: |
#### What did you expect?
#### What happened instead?
validations:
required: true
- type: input
id: device
attributes:
label: Your phone model
placeholder: e.g. iPhoneX
validations:
required: false
- type: input
id: os
attributes:
label: Operating system version
placeholder: e.g. iOS14.7.1, under "software version"
validations:
required: false
- type: input
id: version
attributes:
label: Application version
description: You can find the version information in Settings -> Help & About.
placeholder: e.g. Element version 1.5.2
validations:
required: false
- type: input
id: homeserver
attributes:
label: Homeserver
description: |
Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version.
placeholder: e.g. matrix.org or Synapse 1.50.0rc1
validations:
required: false
- type: dropdown
id: rageshake
attributes:
label: Will you send logs?
description: |
Did you know that you can shake your phone to submit logs for this issue? Trigger the defect, then shake your phone and you will see a popup asking if you would like to open the bug report screen. Click YES, and describe the issue, mentioning that you have also filed a bug (it's helpful if you can include a link to the bug). Send the report to submit anonymous logs to the developers.
options:
- 'Yes'
- 'No'
validations:
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Enhancement or feature request
url: https://github.com/element-hq/element-meta/discussions/categories/ideas
about: Do you have a suggestion or feature request?
- name: Element iOS Community Support
url: https://matrix.to/#/#element-ios:matrix.org
about: General Element iOS support questions can be asked in the app Matrix room
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
### Pull Request Checklist

- [ ] I read the [contributing guide](https://github.com/element-hq/element-ios/blob/develop/CONTRIBUTING.md)
- [ ] UI change has been tested on both light and dark themes, in portrait and landscape orientations and on iPhone and iPad simulators
- [ ] Accessibility has been taken into account.
* [ ] Pull request is based on the develop branch
- [ ] Pull request contains a [changelog file](https://github.com/matrix-org/matrix-ios-sdk/blob/develop/CONTRIBUTING.md#changelog) in ./changelog.d
- [ ] You've made a self review of your PR
- [ ] Pull request includes screenshots or videos of UI changes
- [ ] Pull request includes a [sign off](https://github.com/matrix-org/matrix-ios-sdk/blob/develop/CONTRIBUTING.md#sign-off)
57 changes: 57 additions & 0 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build CI

on:
# Triggers the workflow on any pull request and push to develop
push:
branches: [ develop ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

env:
# Make the git branch for a PR available to our Fastfile
MX_GIT_BRANCH: ${{ github.event.pull_request.head.ref }}

jobs:
build:
name: Build
runs-on: macos-14

# Concurrency group not needed as this workflow only runs on develop which we always want to test.

steps:
- uses: actions/checkout@v4
with:
submodules: 'true'

# Common cache
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- uses: actions/cache@v2
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- uses: actions/cache@v2
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
# Make sure we use the latest version of MatrixSDK
- name: Reset MatrixSDK pod
run: rm -rf Pods/MatrixSDK

# Common setup
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- name: Brew bundle
run: brew bundle
- name: Bundle install
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
# Main step
- name: Build iOS simulator
run: bundle exec fastlane build
67 changes: 67 additions & 0 deletions .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Tests CI

on:
# Triggers the workflow on any pull request and push to develop
push:
branches: [ develop ]
pull_request:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

env:
# Make the git branch for a PR available to our Fastfile
MX_GIT_BRANCH: ${{ github.event.pull_request.head.ref }}

jobs:
tests:
name: Tests
runs-on: macos-14

concurrency:
# When running on develop, use the sha to allow all runs of this workflow to run concurrently.
# Otherwise only allow a single run of this workflow on each branch, automatically cancelling older runs.
group: ${{ github.ref == 'refs/heads/develop' && format('tests-develop-{0}', github.sha) || format('tests-{0}', github.ref) }}
cancel-in-progress: true

steps:
- uses: actions/checkout@v4
with:
submodules: 'true'

# Common cache
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- uses: actions/cache@v2
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- uses: actions/cache@v2
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
# Make sure we use the latest version of MatrixSDK
- name: Reset MatrixSDK pod
run: rm -rf Pods/MatrixSDK

# Common setup
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- name: Brew bundle
run: brew bundle
- name: Bundle install
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
# Main step
- name: Unit tests
run: bundle exec fastlane test

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
flags: unittests
63 changes: 63 additions & 0 deletions .github/workflows/ci-ui-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: UI Tests CI

on:
pull_request:

workflow_dispatch:

env:
# Make the git branch for a PR available to our Fastfile
MX_GIT_BRANCH: ${{ github.event.pull_request.head.ref }}

jobs:
tests:
name: UI Tests
runs-on: macos-14

concurrency:
# Only allow a single run of this workflow on each branch, automatically cancelling older runs.
group: ui-tests-${{ github.head_ref }}
cancel-in-progress: true

steps:
- uses: actions/checkout@v4
with:
submodules: 'true'

# Common cache
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- uses: actions/cache@v2
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- uses: actions/cache@v2
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
# Make sure we use the latest version of MatrixSDK
- name: Reset MatrixSDK pod
run: rm -rf Pods/MatrixSDK

# Common setup
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- name: Brew bundle
run: brew bundle
- name: Bundle install
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
# Main step
- name: UI tests
run: bundle exec fastlane uitest

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
flags: uitests

95 changes: 95 additions & 0 deletions .github/workflows/release-alpha.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Build alpha release

on:

# Triggers the workflow on any pull request
pull_request:
types: [ labeled, synchronize, opened, reopened ]

env:
# Make the git branch for a PR available to our Fastfile
MX_GIT_BRANCH: ${{ github.event.pull_request.head.ref }}

jobs:
build:
# Only run for PRs that contain the trigger label. The action will fail for forks due to
# missing secrets, but there's no need to handle this as it won't run automatically.
if: contains(github.event.pull_request.labels.*.name, 'Trigger-PR-Build')

name: Release
runs-on: macos-14

concurrency:
# Only allow a single run of this workflow on each branch, automatically cancelling older runs.
group: alpha-${{ github.head_ref }}
cancel-in-progress: true

steps:
- uses: actions/checkout@v4
with:
submodules: 'true'

# Common cache
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- name: Cache CocoaPods libraries
uses: actions/cache@v2
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- name: Cache Ruby gems
uses: actions/cache@v2
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
# Make sure we use the latest version of MatrixSDK
- name: Reset MatrixSDK pod
run: rm -rf Pods/MatrixSDK

# Common setup
# Note: GH actions do not support yaml anchor yet. We need to duplicate this for every job
- name: Brew bundle
run: brew bundle
- name: Bundle install
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
# Import alpha release private signing certificate
- name: Import signing certificate
uses: apple-actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.ALPHA_CERTIFICATES_P12 }}
p12-password: ${{ secrets.ALPHA_CERTIFICATES_P12_PASSWORD }}

# Main step
# The Ad-hoc release link will be referenced as 'DIAWI_FILE_LINK'
# and QR link as 'DIAWI_QR_CODE_LINK' when the Diawi upload succeed
- name: Build Ad-hoc release and send it to Diawi
run: bundle exec fastlane alpha
env:
APPSTORECONNECT_KEY_ID: ${{ secrets.APPSTORECONNECT_KEY_ID }}
APPSTORECONNECT_KEY_ISSUER_ID: ${{ secrets.APPSTORECONNECT_KEY_ISSUER_ID }}
APPSTORECONNECT_KEY_CONTENT: ${{ secrets.APPSTORECONNECT_KEY_CONTENT }}
DIAWI_API_TOKEN: ${{ secrets.DIAWI_API_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}

- name: Add or update PR comment with Ad-hoc release informations
uses: NejcZdovc/comment-pr@v1
with:
message: |
:iphone: Scan the QR code below to install the build for this PR.
:lock: This build is for internal testing purpose. Only devices listed in the ad-hoc provisioning profile can install Element Alpha.
![QR code](${{ env.DIAWI_QR_CODE_LINK }})
If you can't scan the QR code you can install the build via this link: ${{ env.DIAWI_FILE_LINK }}
# Enables to identify and update existing Ad-hoc release message on new commit in the PR
identifier: "GITHUB_COMMENT_ADHOC_RELEASE"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit 58a0283

Please sign in to comment.