mirror of
https://github.com/vector-im/element-web.git
synced 2026-01-18 23:11:44 +01:00
* Split translations between EW and shared components Uses update module API with global TranslationKey type that can be overridden. WIP. * Removed the wrong script (for now) * Add the type files * Add shared components i18n file * More i18n strings * Add i18n check for shared conmponents * Needs a different name * rerun i18n for merge from develop, fix test * Move translated strings to shared components file NB. there are lots of removed strings for a few languages where we seem to have hit a localazy bug or something where the key/value for plurals got switched, making the translations invalid. They've been missing for a while so I'm removing them rather than trying to restore them, * Add shared components files to localazy * Merge element web & shared component translations for the built app * Use right translations for shared component tests and fix missign en_EN strings * Pull shared components translations too * Fix/disable warnings * We can now remove the build:res call ...right? (right?) * Remove webpack import for languages index ..and just load it using a relative path which we do for the individual language files and also did anyway for the index because even in non-test it was an object, not a string, so we always usesd the 'test' code path. * Make the storybook language selector work ...without referring to the parent app's files * Revert unnecessary yarn lock change * Typo Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> * Add comment on why we use merge * Fix localazy download config to actually put the translations in the right place * Better typescript syntax Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> * Watch both translations files --------- Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
157 lines
4.9 KiB
YAML
157 lines
4.9 KiB
YAML
name: Static Analysis
|
|
on:
|
|
pull_request: {}
|
|
push:
|
|
branches: [develop, master]
|
|
merge_group:
|
|
types: [checks_requested]
|
|
repository_dispatch:
|
|
types: [element-web-notify]
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
# This must be set for fetchdep.sh to get the right branch
|
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
|
|
permissions: {} # No permissions required
|
|
|
|
jobs:
|
|
ts_lint:
|
|
name: "Typescript Syntax Check"
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
|
|
with:
|
|
cache: "yarn"
|
|
node-version: "lts/*"
|
|
|
|
- name: Install Dependencies
|
|
run: "./scripts/layered.sh"
|
|
|
|
- name: Typecheck
|
|
run: "yarn run lint:types"
|
|
|
|
- name: Install Shared Component Dependencies
|
|
run: "yarn --cwd packages/shared-components install"
|
|
|
|
- name: Typecheck Shared Components
|
|
run: "yarn --cwd packages/shared-components run lint:types"
|
|
|
|
i18n_lint_ew:
|
|
name: "i18n Check (Element Web)"
|
|
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
|
|
permissions:
|
|
pull-requests: read
|
|
with:
|
|
hardcoded-words: "Element"
|
|
allowed-hardcoded-keys: |
|
|
console_dev_note
|
|
labs|element_call_video_rooms
|
|
labs|feature_disable_call_per_sender_encryption
|
|
voip|element_call
|
|
error|invalid_json
|
|
error|misconfigured
|
|
welcome_to_element
|
|
devtools|settings|elementCallUrl
|
|
labs|sliding_sync_description
|
|
|
|
i18n_lint_shared_components:
|
|
name: "i18n Check (Shared Components)"
|
|
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
|
|
permissions:
|
|
pull-requests: read
|
|
with:
|
|
path: "packages/shared-components"
|
|
hardcoded-words: "Element"
|
|
|
|
rethemendex_lint:
|
|
name: "Rethemendex Check"
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
|
|
- run: ./res/css/rethemendex.sh
|
|
|
|
- run: git diff --exit-code
|
|
|
|
js_lint:
|
|
name: "ESLint"
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
|
|
with:
|
|
cache: "yarn"
|
|
node-version: "lts/*"
|
|
|
|
# Does not need branch matching as only analyses this layer
|
|
- name: Install Deps
|
|
run: "yarn install --frozen-lockfile"
|
|
|
|
- name: Run Linter
|
|
run: "yarn run lint:js"
|
|
|
|
- name: Install Shared Component Deps
|
|
run: "yarn --cwd packages/shared-components install --frozen-lockfile"
|
|
|
|
- name: Run Linter
|
|
run: "yarn --cwd packages/shared-components run lint:js"
|
|
|
|
style_lint:
|
|
name: "Style Lint"
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
|
|
with:
|
|
cache: "yarn"
|
|
node-version: "lts/*"
|
|
|
|
# Does not need branch matching as only analyses this layer
|
|
- name: Install Deps
|
|
run: "yarn install"
|
|
|
|
- name: Run Linter
|
|
run: "yarn run lint:style"
|
|
|
|
workflow_lint:
|
|
name: "Workflow Lint"
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
|
|
with:
|
|
cache: "yarn"
|
|
node-version: "lts/*"
|
|
|
|
# Does not need branch matching as only analyses this layer
|
|
- name: Install Deps
|
|
run: "yarn install --frozen-lockfile"
|
|
|
|
- name: Run Linter
|
|
run: "yarn lint:workflows"
|
|
|
|
analyse_dead_code:
|
|
name: "Analyse Dead Code"
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
|
|
with:
|
|
cache: "yarn"
|
|
node-version: "lts/*"
|
|
|
|
- name: Install Deps
|
|
run: "yarn install --frozen-lockfile"
|
|
|
|
- name: Run linter
|
|
run: "yarn run lint:knip"
|