Add support for sending encrypted to_device (#101) #480
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 NPM dependencies | |
run: npm install | |
- name: Run eslint | |
run: npm run lint:eslint | |
- name: Run prettier | |
run: npm run 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' }} | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.0 | |
- name: Install NPM dependencies | |
run: npm install | |
- name: Build the WebAssembly + JavaScript binding | |
run: npm run build | |
- name: Check typescript types | |
run: npm run lint:types | |
- name: Test the JavaScript binding | |
run: npm run test | |
- name: Build the documentation | |
run: npm run 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: Build `matrix-sdk-crypto-js` doc | |
run: | | |
npm install | |
npm run build && npm run 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 |