Skip to content

Commit

Permalink
feat(workflow): add tchap git workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
marc.sirisak committed Apr 18, 2024
1 parent 8538ed3 commit de5e77d
Showing 1 changed file with 145 additions and 0 deletions.
145 changes: 145 additions & 0 deletions .github/workflows/tchap_static_analysis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: Static Analysis
on:
pull_request: {}
merge_group:
types: [checks_requested]
push:
branches: [develop_tchap]
repository_dispatch:
types: [upstream-sdk-notify]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true

env:
# fetchdep.sh needs to know our PR number
PR_NUMBER: ${{ github.event.pull_request.number }}

jobs:
# TODO check why its broken
# ts_lint:
# name: "Typescript Syntax Check"
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4

# - uses: actions/setup-node@v4
# with:
# cache: "yarn"

# - name: Install Deps
# run: "./scripts/ci/install-deps.sh --ignore-scripts"

# - name: Typecheck
# run: "yarn run lint:types"

# - name: Switch js-sdk to release mode
# working-directory: node_modules/matrix-js-sdk
# run: |
# scripts/switch_package_to_release.js
# yarn install
# yarn run build:compile
# yarn run build:types

# - name: Typecheck (release mode)
# run: "yarn run lint:types"

# Temporary while we directly import matrix-js-sdk/src/* which means we need
# certain @types/* packages to make sense of matrix-js-sdk types.
#- name: Typecheck (release mode; no yarn link)
# if: github.event_name != 'pull_request' && github.ref_name != 'master'
# run: |
# yarn unlink matrix-js-sdk
# yarn add github:matrix-org/matrix-js-sdk#develop
# yarn install --force
# yarn run lint:types

# i18n_lint:
# name: "i18n Check"
# uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
# 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

rethemendex_lint:
name: "Rethemendex Check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- run: ./res/css/rethemendex.sh

- run: git diff --exit-code

js_lint:
name: "ESLint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
cache: "yarn"

# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install"

- name: Run Linter
run: "yarn run lint:js"

style_lint:
name: "Style Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
cache: "yarn"

# 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-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
cache: "yarn"

# 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-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
cache: "yarn"

- name: Install Deps
run: "scripts/ci/layered.sh"

- name: Dead Code Analysis
run: |
cd element-web
yarn run analyse:unused-exports

0 comments on commit de5e77d

Please sign in to comment.