Browse Source

Merge branch 'develop' into feature/fga/navigation

feature/bma/flipper
ganfra 2 years ago
parent
commit
0f3ad7414c
  1. 86
      .github/ISSUE_TEMPLATE/bug.yml
  2. 47
      .github/ISSUE_TEMPLATE/enhancement.yml
  3. 57
      .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
  4. 2
      .github/workflows/danger.yml
  5. 9
      .github/workflows/nightly.yml
  6. 21
      .github/workflows/quality.yml
  7. 13
      .github/workflows/triage-labelled.yml
  8. 0
      CHANGES.md
  9. 3
      app/build.gradle.kts
  10. 5
      build.gradle.kts
  11. 1
      changelog.d/.gitignore
  12. 2
      gradle/libs.versions.toml
  13. 5
      tools/danger/dangerfile.js
  14. 36
      tools/towncrier/template.md
  15. 31
      towncrier.toml

86
.github/ISSUE_TEMPLATE/bug.yml

@ -0,0 +1,86 @@ @@ -0,0 +1,86 @@
name: Bug report for the Element X Android app
description: Report any issues that you have found with the Element X app. Please [check open issues](https://github.com/vector-im/element-x-android/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 security@matrix.org
- 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. Samsung S6
validations:
required: false
- type: input
id: os
attributes:
label: Operating system version
placeholder: e.g. Android 10.0
validations:
required: false
- type: input
id: version
attributes:
label: Application version and app store
description: You can find the version information in Settings -> Help & About.
placeholder: e.g. Element X version 1.7.34, olm version 3.2.3 from F-Droid
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
- type: dropdown
id: pr
attributes:
label: Are you willing to provide a PR?
description: |
Providing a PR can drastically speed up the process of fixing this bug. Don't worry, it's still OK to answer 'No' :).
options:
- 'Yes'
- 'No'
validations:
required: true

47
.github/ISSUE_TEMPLATE/enhancement.yml

@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
name: Enhancement request
description: Do you have a suggestion or feature request?
labels: [T-Enhancement]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/vector-im/element-meta/discussions/new?category=ideas).
- type: textarea
id: usecase
attributes:
label: Your use case
description: Please feel welcome to include screenshots or mock ups.
placeholder: Tell us what you would like to do!
value: |
#### What would you like to do?
#### Why would you like to do it?
#### How would you like to achieve it?
validations:
required: true
- type: textarea
id: alternative
attributes:
label: Have you considered any alternatives?
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional context
placeholder: Is there anything else you'd like to add?
validations:
required: false
- type: dropdown
id: pr
attributes:
label: Are you willing to provide a PR?
description: |
Don't worry, it's still OK to answer 'No' :).
options:
- 'Yes'
- 'No'
validations:
required: true

57
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md

@ -0,0 +1,57 @@ @@ -0,0 +1,57 @@
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
## Type of change
- [ ] Feature
- [ ] Bugfix
- [ ] Technical
- [ ] Other :
## Content
<!-- Describe shortly what has been changed -->
## Motivation and context
<!-- Provide link to the corresponding issue if applicable or explain the context -->
## Screenshots / GIFs
<!-- Only if UI have been changed
You can use a table like this to show screenshots comparison.
Uncomment this markdown table below and edit the last line `|||`:
|copy screenshot of before here|copy screenshot of after here|
-->
<!--
|Before|After|
|-|-|
|||
-->
## Tests
<!-- Explain how you tested your development -->
- Step 1
- Step 2
- Step ...
## Tested devices
- [ ] Physical
- [ ] Emulator
- OS version(s):
## Checklist
<!-- Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked. -->
- [ ] Changes has been tested on an Android device or Android emulator with API 21
- [ ] UI change has been tested on both light and dark themes
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#accessibility
- [ ] Pull request is based on the develop branch
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
- [ ] Pull request includes screenshots or videos if containing UI changes
- [ ] Pull request includes a [sign off](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#sign-off)
- [ ] You've made a self review of your PR

2
.github/workflows/danger.yml

@ -11,7 +11,7 @@ jobs: @@ -11,7 +11,7 @@ jobs:
- run: |
npm install --save-dev @babel/plugin-transform-flow-strip-types
- name: Danger
uses: danger/danger-js@11.2.0
uses: danger/danger-js@11.2.1
with:
args: "--dangerfile ./tools/danger/dangerfile.js"
env:

9
.github/workflows/nightly.yml

@ -15,6 +15,15 @@ jobs: @@ -15,6 +15,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install towncrier
run: |
python3 -m pip install towncrier
- name: Prepare changelog file
run: |
mv towncrier.toml towncrier.toml.bak
sed 's/CHANGES\.md/CHANGES_NIGHTLY\.md/' towncrier.toml.bak > towncrier.toml
rm towncrier.toml.bak
yes n | towncrier build --version nightly
- name: Build and upload Nightly APK
run: |
./gradlew assembleNightly appDistributionUploadNightly $CI_GRADLE_ARG_PROPERTIES

21
.github/workflows/quality.yml

@ -37,10 +37,29 @@ jobs: @@ -37,10 +37,29 @@ jobs:
yarn add danger-plugin-lint-report --dev
- name: Danger lint
if: always()
uses: danger/danger-js@11.2.0
uses: danger/danger-js@11.2.1
with:
args: "--dangerfile ./tools/danger/dangerfile-lint.js"
env:
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
# Fallback for forks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Gradle dependency analysis using https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin
dependency-analysis:
name: Dependency analysis
runs-on: ubuntu-latest
# Allow all jobs on main and develop. Just one per PR.
concurrency:
group: ${{ github.ref == 'refs/heads/main' && format('dep-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('dep-develop-{0}', github.sha) || format('dep-{0}', github.ref) }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- name: Dependency analysis
run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES
- name: Upload dependency analysis
if: always()
uses: actions/upload-artifact@v3
with:
name: dependency-analysis
path: build/reports/dependency-check-report.html

13
.github/workflows/triage-labelled.yml

@ -2,7 +2,7 @@ name: Move labelled issues to correct boards and columns @@ -2,7 +2,7 @@ name: Move labelled issues to correct boards and columns
on:
issues:
types: [ labeled ]
types: [labeled]
jobs:
move_element_x_issues:
@ -10,14 +10,7 @@ jobs: @@ -10,14 +10,7 @@ jobs:
runs-on: ubuntu-latest
# Skip in forks
if: >
github.repository == 'vector-im/element-x-android' &&
(contains(github.event.issue.labels.*.name, 'Z-Setup') ||
contains(github.event.issue.labels.*.name, 'Z-BBQ-Alpha') ||
contains(github.event.issue.labels.*.name, 'Z-BBQ-Beta') ||
contains(github.event.issue.labels.*.name, 'Z-BBQ-Release') ||
contains(github.event.issue.labels.*.name, 'Z-Banquet-Alpha') ||
contains(github.event.issue.labels.*.name, 'Z-Banquet-Beta') ||
contains(github.event.issue.labels.*.name, 'Z-Banquet-Release'))
github.repository == 'vector-im/element-x-android'
steps:
- uses: octokit/graphql-action@v2.x
with:
@ -33,5 +26,5 @@ jobs: @@ -33,5 +26,5 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4ABTXY"
PROJECT_ID: "PVT_kwDOAM0swc4ABTXY"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

0
CHANGES.md

3
app/build.gradle.kts

@ -94,7 +94,8 @@ android { @@ -94,7 +94,8 @@ android {
firebaseAppDistribution {
artifactType = "APK"
// releaseNotesFile = TODO
// This file will be generated by the GitHub action
releaseNotesFile = "CHANGES_NIGHTLY.md"
groups = "external-testers"
// This should not be required, but if I do not add the appId, I get this error:
// "App Distribution halted because it had a problem uploading the APK: [404] Requested entity was not found."

5
build.gradle.kts

@ -26,6 +26,7 @@ plugins { @@ -26,6 +26,7 @@ plugins {
alias(libs.plugins.molecule) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kapt) apply false
alias(libs.plugins.dependencycheck) apply false
alias(libs.plugins.detekt)
alias(libs.plugins.ktlint)
alias(libs.plugins.dependencygraph)
@ -103,4 +104,8 @@ allprojects { @@ -103,4 +104,8 @@ allprojects {
)
)
}
// Dependency check
apply {
plugin("org.owasp.dependencycheck")
}
}

1
changelog.d/.gitignore vendored

@ -0,0 +1 @@ @@ -0,0 +1 @@
!.gitignore

2
gradle/libs.versions.toml

@ -50,6 +50,7 @@ compose_destinations = "1.7.23-beta" @@ -50,6 +50,7 @@ compose_destinations = "1.7.23-beta"
jsoup = "1.15.3"
appyx = "1.0.1"
seismic = "1.0.3"
dependencycheck = "7.4.4"
# DI
dagger = "2.43"
@ -148,3 +149,4 @@ detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } @@ -148,3 +149,4 @@ detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
molecule = {id = "app.cash.molecule", version.ref = "molecule"}
dependencygraph = { id = "com.savvasdalkitsis.module-dependency-graph", version.ref = "dependencygraph" }
dependencycheck = { id = "org.owasp.dependencycheck", version.ref = "dependencycheck" }

5
tools/danger/dangerfile.js

@ -43,7 +43,6 @@ if (requiresChangelog) { @@ -43,7 +43,6 @@ if (requiresChangelog) {
"doc",
"feature",
"misc",
"sdk",
"wip",
]
if (!changelogFiles.every(file => validTowncrierExtensions.includes(file.split(".").pop()))) {
@ -68,13 +67,10 @@ const signOff = "Signed-off-by:" @@ -68,13 +67,10 @@ const signOff = "Signed-off-by:"
// Please add new names following the alphabetical order.
const allowList = [
"amitkma",
"aringenbach",
"BillCarsonFr",
"bmarty",
"Claire1817",
"dependabot[bot]",
"ericdecanini",
"fedrunov",
"Florian14",
"ganfra",
@ -86,7 +82,6 @@ const allowList = [ @@ -86,7 +82,6 @@ const allowList = [
"manuroe",
"mnaturel",
"onurays",
"ouchadam",
"stefanceriu",
"yostyle",
]

36
tools/towncrier/template.md

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
{% if top_line %}
{{ top_line }}
{{ top_underline * ((top_line)|length)}}
{% elif versiondata.name %}
{{ versiondata.name }} {{ versiondata.version }} ({{ versiondata.date }})
{{ top_underline * ((versiondata.name + versiondata.version + versiondata.date)|length + 4)}}
{% else %}
{{ versiondata.version }} ({{ versiondata.date }})
{{ top_underline * ((versiondata.version + versiondata.date)|length + 3)}}
{% endif %}
{% for section, _ in sections.items() %}
{% set underline = underlines[0] %}{% if section %}{{section}}
{{ underline * section|length }}{% set underline = underlines[1] %}
{% endif %}
{% if sections[section] %}
{% for category, val in definitions.items() if category in sections[section]%}
{{ definitions[category]['name'] }}
{{ underline * definitions[category]['name']|length }}
{% if definitions[category]['showcontent'] %}
{% for text, values in sections[section][category].items() %}
- {{ text }} ({{ values|join(', ') }})
{% endfor %}
{% else %}
- {{ sections[section][category]['']|join(', ') }}
{% endif %}
{% if sections[section][category]|length == 0 %}
No significant changes.
{% else %}
{% endif %}
{% endfor %}
{% else %}
No significant changes.
{% endif %}
{% endfor %}

31
towncrier.toml

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
[tool.towncrier]
directory = "changelog.d"
filename = "CHANGES.md"
name = "Changes in Element X"
template = "tools/towncrier/template.md"
issue_format = "[#{issue}](https://github.com/vector-im/element-x-android/issues/{issue})"
[[tool.towncrier.type]]
directory = "feature"
name = "Features ✨"
showcontent = true
[[tool.towncrier.type]]
directory = "bugfix"
name = "Bugfixes 🐛"
showcontent = true
[[tool.towncrier.type]]
directory = "wip"
name = "In development 🚧"
showcontent = true
[[tool.towncrier.type]]
directory = "doc"
name = "Improved Documentation 📚"
showcontent = true
[[tool.towncrier.type]]
directory = "misc"
name = "Other changes"
showcontent = true
Loading…
Cancel
Save