Skip to content

Merge pull request #169 from uhoreg/update-matrix-sdk-to-e99939db857ca #575

Merge pull request #169 from uhoreg/update-matrix-sdk-to-e99939db857ca

Merge pull request #169 from uhoreg/update-matrix-sdk-to-e99939db857ca #575

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]
types:
- opened
- reopened
- synchronize
- ready_for_review
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
lint:
name: lint
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Check formatting
run: |
cargo fmt -- --check
- name: Install Node.js
uses: actions/setup-node@v3
- name: Install yarn
run: npm install --global yarn
- name: Install dependencies
run: yarn install
- name: Run eslint
run: yarn lint:eslint
- name: Run prettier
run: yarn lint:prettier
test:
name: test
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- name: Load cache
uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
# Keep this in sync with:
# .github/workflows/latest-matrix-sdk-crypto.yml
# .github/workflows/release.yml
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 20.0
- name: Install yarn
run: npm install --global yarn
- name: Install dependencies
run: yarn install
- name: Build the WebAssembly + JavaScript binding
run: yarn build
- name: Check typescript types
run: yarn lint:types
- name: Test the JavaScript binding
run: yarn test
- name: Build the documentation
run: yarn doc
docs:
name: docs
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 20
- name: Load cache
uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Install yarn
run: npm install --global yarn
- name: Build `matrix-sdk-crypto-js` doc
run: |
yarn install
yarn build && yarn doc
- name: Upload artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v1
with:
path: './docs/'
- name: Deploy to GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: deployment
uses: actions/deploy-pages@v2